一种嵌入式的太阳能干燥实时监控系统的设计方案
2.4 RS 485通信电路设计
太阳能干燥设备需要长时间工作在露天环境下,对通信电路的距离和抗干扰要求较高。针对此项要求,实时嵌入式太阳能干燥监测和控制系统采用SP485R芯片组建RS 485 通信控制电路实现与PC 上位机的通信。
SP485R应用电路如图4所示。

3.1 FreeRTOS在STM32上的移植
太阳能干燥设备进行干燥作业时对干燥室内的温湿度要求较高:温度过高会影响干燥物料的品质,温度过低或湿度过高又会降低干燥效率。这要求监测和控制系统应具有高实时性和可靠的稳定性,能够快速反应并准确动作,使干燥室内温度能够维持恒定且保证湿度在限定范围之内。基于此,将FreeRTOS实时操作系统移植到STM32嵌入式处理器以满足设计需求。
FreeRTOS的实现主要由list.c、queue.c、croutine.c和tasks.c4个文件组成。list.c是一个链表的实现,主要供内核调度器使用;queue.c是一个队列的实现,支持中断环境与信号量控制;croutine.c和task.c是两种任务的组织实现。对于croutine,各个任务共享同一个堆栈,使RAM的需求进一步缩小,也正因如此,他的使用受到相对严格的限制。而task则是传统的实现,各个任务使用各自的堆栈,支持完全的抢占式调度。FreeRTOS在STM32的移植大致由3个文件实现,一个。h文件定义编译器相关的数据类型和中断处理的宏定义;一个。c文件实现任务的堆栈初始化、系统心跳的管理以及任务切换的请求;一个。s文件实现具体的任务切换,具体如图5所示。

FreeRTOS 下可实现创建任务、删除任务、挂起任务、恢复任务、设定任务优先级、获得任务相关信息等功能,在嵌入式太阳能干燥实时监测和控制系统的程序设计中调用xTaskCreate()函数创建监测、通信、控制三个任务,程序任务按设定优先级顺序执行实现既定功能。
监测任务(vmonitorTask)实现对干燥室内温湿度以及鼓风机转速的实时监测。嵌入式处理器将通过参数传感器获得的实时参数进行保存。

通信任务(vcommunicateTask)实现上位机与嵌入式处理器的实时通信。嵌入式处理器接收PC上位机发送的干燥温度和湿度上限值,并将收集到的温湿度以及鼓风机转速参数发送至PC上位机进行实时显示。


程序任务执行框图如图6所示。

3.2 PID控制的应用
太阳能干燥设备运行时的系统参数无法通过有效的测量手段来获得,从而无法建立精确的数学模型。因此,系统控制器的结构和参数必须依靠工程经验和现场调试来确定。在综合考虑多种控制理论可行性并参照工程实践的基础上,嵌入式太阳能干燥实时监测和控制系统选用数字PID控制技术来实现干燥室的恒温控制。
嵌入式处理器以上位机设定干燥温度作为系统控制目标量,以干燥室内实时温度作为输入量调用PID算法。PID 输出量作为变频器工作频率对鼓风机转速进行实时调节,从而实时增减送入热风量以完成对干燥室的恒温控制。
考虑到温度调节的特性要求,本系统采用PI 控制。即先根
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论