新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于STM32和FreeRTOS的嵌入式太阳能干燥实时监测和控制系统设计

基于STM32和FreeRTOS的嵌入式太阳能干燥实时监测和控制系统设计

作者:时间:2018-09-06来源:网络收藏

摘要:以ARM Cortex—M3处理器F103VBT6为核心,应用AM2301温湿度传感模块实现对室内温湿度参数的实时监测,采用数字技术控制鼓风机的转速,保持干燥室内的温度稳定,并通过继电器控制排气扇的启停使干燥室内湿度保持在设定上限之下。干燥室通过RS 485总线和上位机通信,上位机设定干燥室内的目标温度和湿度上限,并实时显示干燥室内温度、湿度、鼓风机转速、排气扇开关状态等参数。系统软件采用实时操作系统,保证了系统的实时性和可靠性,实现对室内温湿度的实时监测与控制。经现场应用验证了系统运行稳定,控制精度高,响应速度快。

本文引用地址:http://www.eepw.com.cn/article/201809/388564.htm

0 引言

太阳能是一种清洁可再生能源,应用前景十分广阔。近年来,利用太阳能进行农产品、药品的加工也因其节能、干燥时间短、干燥品质高等特点而发展十分迅速。为保证干燥物料的品质与干燥效率,设备在进行干燥作业时需要对干燥室内的温湿度进行实时监控。沈阳农业大学王胜利、付立思等人研制的基于AT89C51的智能太阳能干燥控制系统没有进行实时操作系统的移植,监测与控制的实时性要求无法得到妥善满足,设备的干燥效果也因此受到影响。内蒙古农业大学徐明娜研制的基于PLC的苜蓿太阳能干燥控制系统虽然运行也较稳定,但整体造价较为昂贵,并不适宜大规模推广应用。针对太阳能干燥监控系统实时性、稳定性、宜推广性的设计需求,本文开发研制了一套基于的实时太阳能干燥监测和控制系统,采用温湿度传感器AM2301对温湿度进行测量,并经RS 485通信线路传输至PC上位机,实现了对太阳能干燥室内温湿度的实时监测;采用数字鼓风机转速与继电器控制排气扇启停相配合完成对太阳能干燥室内温湿度的实时控制。上位机采用组态软件编写,具有适应性强、开放性好、易于扩展、经济、开发周期短等优点,监测与控制界面简洁明了易操作。经测试表明整个系统具有运行稳定、反应迅速、操作简便等特点,能够实现干燥作业中对干燥室内温湿度的实时监测与控制。

1 太阳能干燥监测和控制系统设计

嵌入式太阳能干燥实时监测和控制系统由PC上位机、嵌入式ARM处理器、AM2301温湿度传感器、RS 485通信电路、继电器控制电路等组成。

AM2301采集到干燥室内的实时温湿度参数,由嵌入式ARM处理器经RS 485通信线路传输至PC上位机进行显示与保存。上位机人工设定的干燥温度经RS 485通信线路传至嵌入式处理器作为系统控制目标量,以干燥室内实际温度作为输入量调用算法。PID控制算法输出量作为变频器工作频率对鼓风机的转速进行实时调节,从而实时增减送入热风量以实现对干燥室的恒温控制。当监测到太阳能干燥室内的湿度高于上位机设定的上限值时,继电器触点吸合控制排气扇开启将干燥室内的过湿废气排空,达到湿度控制的目的。系统结构框图如图1所示。

2 嵌入式太阳能干燥监测和控制系统硬件设计

2.1 嵌入式处理器选择与应用

嵌入式太阳能干燥实时监测和控制系统的主控处理器采用低功耗高速工业级芯片F103VBT6(意法半导体)。STM32系列具有专为高性能、低成本、低功耗嵌入式应用设计的ARM Cortex-M3内核,内部集成了优异的安全时钟模式、带唤醒功能的低功耗模式、内部RC振荡器、内嵌复位电路等,大大简化了外围电路设计,性能也有较大提高。STM32系列单片机还可便捷的实现实时操作系统的移植,能够满足本嵌入式太阳能干燥实时监测和控制系统的设计需求。

2.2 AM2301温湿度采集电路设计

嵌入式太阳能干燥实时监测和控制系统采用AM2301湿敏电容数字温湿度模块来获取干燥室内的实时温湿度参数。AM2301包含有一个电容式感湿元件和一个高精度测温元件,与一个高性能8位单片机相连接,具有品质卓越、超快响应、抗干扰能力强、性价比高等优点,并且每个传感器都已在极为精确的湿度校验室中进行校准。AM2301采用标准总线接口使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20 m以上。温湿度采集电路如图2所示。

AM2301传感器的温度测量范围为-40~80℃,精度可达0.1 ℃;湿度测量范围为0.1~99.9%RH,精度可达0.1%RH,完全能够满足本系统的设计需要。AM2301温湿度传感器测量分辨率为8位,单总线传输数据分为整数部分和小数部分,完整的一次数据传输为40位,具体数据格式如下所述:

32位数据位,其中8位湿度整数数据、8位湿度小数数据、8位温度整数数据、8位温度小数数据;8位校验位,为8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据结果后8位。

AM2301温湿度部分读取程序如下:

2.3 继电器控制电路设计

当监测到干燥室内湿度超过上位机设定的上限值时,STM32单片机将继电器控制引脚电平拉高,继电器触点吸合控制排气扇开启;当监测到干燥室内湿度降低至上限值以下时,STM32单片机将继电器控制引脚电平拉低,继电器触点分离控制排气扇关闭,完成过湿废气的排空工作。继电器控制电路如图3所示。

2.4 RS 485通信电路设计

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

3 嵌入式太阳能干燥监测和控制系统软件设计

3.1 在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上位机进行实时显示。

控制任务(vcontrolTask)实现干燥室内的温湿度控制。PC上位机设定的干燥温度作为系统控制目标量,参数传感器测得的实时温度作为输入量调用PID算法,输出量作为变频器工作频率调节鼓风机转速实现干燥室的恒温控制。当干燥室内湿度超过PC上位机设定的湿度上限时,继电器控制排气扇动作完成过湿废气的排空作业。

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

3.2 PID控制的应用

太阳能干燥设备运行时的系统参数无法通过有效的测量手段来获得,从而无法建立精确的数学模型。因此,系统控制器的结构和参数必须依靠工程经验和现场调试来确定。在综合考虑多种控制理论可行性并参照工程实践的基础上,嵌入式太阳能干燥实时监测和控制系统选用数字PID控制技术来实现干燥室的恒温控制。

嵌入式处理器以上位机设定干燥温度作为系统控制目标量,以干燥室内实时温度作为输入量调用PID算法。PID输出量作为变频器工作频率对鼓风机转速进行实时调节,从而实时增减送入热风量以完成对于燥室的恒温控制。

考虑到温度调节的特性要求,本系统采用PI控制。即先根据被控对象的特性和一般惯例确定比例系数和积分系数的整定范围,再通过手动调节鼓风机转速记录干燥室内温度变化曲线并进行分析,最终确定PID算法中比例系数为0.4,积分系数为6。

PID数字控制部分程序如下:

3.3 上位机软件设计

本系统采用北京亚控公司的组态王软件完成对上位机监测和控制界面的设计。上位机软件实现对干燥室内温湿度等参数的实时显示以及恒温干燥温度、湿度上限的设定,设计选用Access2010数据库作为记录的数据库,便于数据的保存与分析。

应用组态王软件新建一个太阳能干燥监测和控制系统,选用单片机通信协议并通过RS 485接口实现与嵌入式处理器的通信。上位机软件界面采取分区设计,界面由显示区和操作区构成。显示区包括温湿度、转速、排气扇状态的实时显示以及温湿度变化趋势图。操作区可实现对恒温干燥温度和湿度上限的人工设定。上位机软件界面如图7所示。

4 运行测试结果与分析

目前本文设计的嵌入式太阳能干燥实时监测和控制系统已经在某农场的牧草干燥作业中顺利运行了6个多月的时间。在前期的干燥作业中,在通过设置不同的温湿度条件并对系统采集到的温湿度数据以及对干燥物料品质进行分析研究的基础上,确定最佳的干燥温度与湿度上限以供后期规模化干燥作业参考。在系统实际运行过程中,干燥室内实际温度值与设定值间的误差能够保持在0.5 ℃以内,较为理想。使用本系统进行干燥的牧草在干燥过程中为最佳温湿度条件的恒温适湿干燥,芳香性氨基酸以及蛋白质保存较好,因此干燥后的牧草适口性好、家畜的消化能摄入量高,即牧草的干燥品质较好,且单位耗电量仅为0.15 kW·h/kg。表1是系统在2013年6月7日干燥作业中采集到的部分数据,系统设定干燥温度为51℃,设定湿度上限为48%。

5 结语

本文详细介绍了基于STM32和FreeRTOS的嵌入式太阳能干燥实时监测和控制系统的设计与实现。采用具有Contex-M3内核的STM32嵌入式微处理器,使系统小型化,且便于提高性能以及与各种外设连接扩展。将嵌入式实时操作系统FreeRTOS移植到STM32,使系统运行更加稳定,具有高实时性、抗干扰能力强等特点。系统整体造价较为低廉,宜于推广使用,且经实际生产应用验证:采用本嵌入式太阳能干燥实时监测和控制系统的干燥设备更加节能高效,干燥物料的品质也有所提高。



评论


相关推荐

技术专区

关闭