基于恩智浦MCU 的温度/湿度控制器设计
2022-10-10张阳熠程家勤谢国雄周海军
张阳熠,程家勤,谢国雄,周海军
(滁州学院 机械与电气工程学院,安徽 滁州 239000)
温度和湿度是工农业生产、物品贮存、日常生活等领域非常关键的技术参数。 对温度/湿度的精确控制有利于提高工农业生产效率、保证物品存储率等作用[1-3]。 例如,在温室大棚农业生产中,温度/湿度控制在农作物的最佳生长环境范围内, 可以有效提高农作物的产量[4-5]。粮仓的温度/湿度的精确控制对于粮食的储藏时间至关重要[6]。 纸质档案和一些文化遗产的长期保存也对环境的温度/湿度有着非常高的要求[7]。
目前国内所使用的温度/湿度控制器存在精确度不高、智能化水平较低且不便于系统的拓展和升级等问题。 我们以ARM 系列单片机MKL16Z128VLH4 为核心控制芯片,以DHT11 温度/湿度传感器、加热器、加湿器、 控制按键和OLED 显示单元为主要模块,基于PID(Proportional-integral-differential,PID)算 法设计制作了一款自适应温度/湿度控制器。 通过数字化监测和智能化控制实现环境温度/湿度快捷的检测与控制。
2 系统设计方案
温度/湿度控制器设计方案框图如图1 所示,主要包括主控模块MKL16Z128VLH4、OLED 显示单元、加热设备、降温设备、驱动电机、加湿设备、除湿设备、报警单元和温度/湿度采集设备等。 主控芯片为恩智浦公司生产的32 位微控制器MKL16Z128VLH4 QFP64, 该控制器具有128 KB 的Flash 存储器,工作频率为48 MHz, 配备16 位ADC 和12 位DAC 转换器。DHT11 传感器的湿度测量范围为5~95 %RH,其温度测量范围为-20~60 ℃,测量精度分别为0.1 %RH 和0.1 ℃。OLED 显示单元用于显示当前温度/湿度和设定的温度/湿度值。 加热设备和降温设备用于温度的控制,加湿设备和除湿设备用于控制湿度,驱动电机风扇控制空气流通。 MKL16Z128VLH4 主控制芯片利用DHT11 温度/湿度传感器探知的当前环境温度/湿度数据, 借助于PID 算法计算输出脉宽调制信号(PWM),进而通过控制降温设备、加热设备、除湿设备、加湿设备、驱动电机风扇等来实现环境温度/湿度的调控。
图1 温度/湿度控制器设计方案
3 程序设计
当系统工作时, 单片机通过温度/湿度传感器采集空间环境即时的温度与湿度,MCU(Microcomputer Unit) 将传感器采集到的当前环境温度/湿度数值和设定的目标值进行比较:若当前温度/湿度值与目标值相差较大,MCU 将根据PID 算法的计算值输出一个较大的PWM 控制信号, 实现温度/湿度的快速的上升或下降;若当前环境温度/湿度数值和设定的目标值相差较小,MCU 将通过PID 算法计算输出一个较小的PWM 控制信号来控制温度/湿度的缓慢上升或下降;若当前环境温度/湿度值在设定的目标值一定范围内波动时,MCU 将输出微小变化的动态控制变化量,实现环境温度/湿度值趋于目标值。 根据设计要求绘制系统流程图,如图2 所示。
图2 系统流程图
要实现系统的正常工作,需借助于相应的程序来运行,其中,温度/湿度监测、PID 温度/湿度控制、显示、键盘控制等均以子函数的形式编写,并置于主函数while()大循环中。 鉴于各子函数程序内容较长,这里只列出主函数相关程序内容,主函数相关程序内容具体为
在温度/湿度控制子程序设计中,我们引入了一个过程控制概念,控制原理如图3 所示。 控制系统主要由比较调节、 系统反馈、 执行器等几部分构成。MCU 接收到给定值(期望值)R(t),结合传感器持续获得的反馈量Y(t)计算出控制量U(t),依据控制规律控制加热设备/制冷设备、加湿设备/除湿设备的运行,使得反馈量不断地接近期望值。 PID 控制器则是通过调节微分时间常数Td、 积分时间常数Ti和比例系数Kp来对系统进行调控的。 PID 控制器的控制量U(t)表达式[8]为
图3 温度/湿度控制原理图
4 系统测试
为了验证温/湿度控制器工作时的可靠性和稳定性,设计了温度、湿度控制器的性能测试平台。 测试时,初始值为当前环境温度和湿度,目标温度设定为30 ℃,目标湿度设定为50 %RH。测试开始的前5 min 内, 每隔1 min 记录一次环境温度/湿度的测试值,5 min 后(含5 min),每隔5 min 记录一次环境温度/湿度的测试值,测试数据见表1。
表1 温/湿度测试数据
由表1 知,由于在1~10 min 内环境温度与目标温度值相差较大,10 min 后环境温度稳定在(30±1℃)范围内,装置启动1 min 后,相对湿度值迅速达到了49 %RH,然后飙升到55 %RH,5 min 后回落并逐渐稳定在(50±1)%RH。 该控制器较好地解决了温度和湿度控制的滞后性问题, 实现了温度/湿度快速、精确控制。
5 结束语
采用恩智浦MKL16Z128VLH4 芯片, 以DHT11传感器为温度和湿度采集器, 利用PID 算法设计了一款自适应温度/湿度控制器。该温度/湿度控制器可以实现温度和湿度的预设和控制,系统稳定后,温度值可以控制在设定温度值±1 ℃范围内,相对湿度值可以控制在设定湿度值±1 %RH 范围内。