基于Cortex-M0智能水温监控系统的优化
0 引言
水温控制在工业生产和日常生活中都有着广泛的应用,如恒温饮水机、淋浴系统都要用到温度控制。工业生产中水温控制系统应用更为广泛,如锅炉以及为一些化学反应提供恒温的水浴环境等,都要求系统能提供稳定精确的温度控制。
然而,在实际生活和工业生产中,很多水温控制系统并不能满足人们的要求。从国内来看,虽然温控系统在各行各业的应用已经很广泛,但总体水平却不是很高。使用者也不能根据需要设定任意的温度,人机交互不够友好。安全方面,现在主流的温度控制系统都是现场进行控制,一旦设备出现故障,操作人员的安全就可能受到威胁。
系统是模型论证性实验,通过MCU 控制小型加热杯的加热功率来精确控制水温,从而验证该水温监控系统方案的可行性。在设计该控制系统时,从安全方面考虑,采用了控制现场和监控中心分离的设计思想,即在需要对水温进行控制的地方设计一个控制中心,在远离控制现场设计一个可移动、便携式监控中心。这样即使设备发生故障也不会对操作人员造成人身伤害。
1 系统总方案
系统采用温度传感器测量水温,将数据传送给处理器,经处理后在显示屏上实时显示。当实时水温与用户设定的温度不相等时,系统将自动进行调节(加热或散热)。测得的数据可长久保存,掉电不丢失,且可以将数据打印出来。通过控制算法控制加热电路,使控制精度更高。系统如图1 所示。
图1 系统设计总框架
1.1 硬件电路设计
系统中采用温度传感器测量水温,将数据传送给处理器,经过处理后在显示屏上实时显示。当实时水温与用户设定的温度不相等时系统将自动进行调节(加热或散热)。测得的数据可长久保存,掉电不丢失,且可以将数据打印出来。通过控制算法控制加热电路,使控制精度更高。系统硬件设计如图2 所示。
● MCU。选择Cortex-M0 的LPC1114 作为主控制器。
● 人机接口电路。采用串口屏作为显示屏,型号为ZTM480272S43-0WT。集成了4.3 寸触摸真彩屏、简易串口指令控制功能于一身,内置中英文字库,支持大容量存储图片数据,为用户提供更为多样性、实用性的显示终端平台。
● 数据打印电路。使用MTP58-FT4B-T1 微型热敏打印机模块。
● 数据存取电路。选用MX25L1606E 作为存储介质。MX25L1606D 与MCU 通过SPI 协议进行通信。
● 实时时钟电路。选择NXP 公司的PCF8563,其没有内置晶振,因此硬件设计时需要提供32.768 kHz的时钟。
● 无线通信电路。采用nRF24L01 无线通信模块通过SPI 与MCU 通信。
● 温度采集电路。采用温度传感器DS18B20,可以通过VDD 引脚接入一个外部电源供电,或者工作于寄生电源模式,DS18B20 通过单总线与MCU 连接。
● 加热控制电路。采用电磁继电器控制大功率加热电路,控制电路(弱电流)接1、2 脚,被控制电路(强电流)接5 脚。当控制电路断开时,衔铁受弹簧的弹力作用与4 接通,输出电路断开;当控制电路导通时,铁芯在周围产生磁场,将衔铁下吸至5,输出电路导通,从而达到小信号控制大功率电路的目地。
图3 加热控制电路
1.2 系统软件设计
系统软件采用模块化编程思路,每个功能模块的驱动程序和应用程序分开设计。驱动程序包括:串口屏底层驱动、I2C 总线协议驱动、单总线驱动、SPI 驱动等。应用程序包括:人机界面、实时时钟和无线通信等。后台监控系统和现场控制系统的总软件流程分别如图4、图5 所示。
图4 后台系统软件流程图
图5 现场控制软件流程图
在本设计中,根据测得的温度信号通过控制算法算出所需的控制信号量,再根据该信号量来控制加热装置,从而达到精确控制温度的目的,系统中用的是增量式PID 控制。
PID 控制算法中的难点和重点是参数的整定。在实际应用中,工程师们很少使用复杂的数学公式、算法来计算PID 参数,更多的是利用经验来对PID 的参数进行整定。传统的PID 经验调节大体分为以下几步:
● 关闭控制器的I 和D 元件,加大P 元件,使系统产生振荡;
● 减小P,使系统找到临界振荡点;
● 加大I,使系统达到设定值;
● 重新上电,观察超调、振荡和稳定时间是否符合
系统要求;
● 针对超调和振荡的情况适当增加微分项。
在实际应用中寻找I 和D 的值并非易事,如果能根据经典的齐格勒- 尼古拉斯公式(Ziegler-Nichols,简称ZN 法)来初步确定I 和D 元件的参数,会对调试起很大的帮助作用。
经过多年的发展,Ziegler-Nichols 方法已经发展成为一种在参数设定中,处于经验和计算法之间的中间方法。这种方法可以为控制器确定非常精确的参数,在此之后也可进行微调。Ziegler-Nichols 方法分为以下两步:
● 构建闭环控制回路,确定稳定极限;
● 根据公式计算控制器参数。
实践表明,在调试PID 控制器时,使用Ziegler-Nichols 法可以快速、精确地算出各参数,之后再配以微调便可以得到理想的效果。
2 系统调试
在系统整体调试中,继电器输出口外接一个300 W的小型加热棒,通过加热1 L 清水来检测系统的准确性、稳定性和可靠性。人机接口主界面如图6 所示。经调试,界面上的各个按键功能都正常,时间可读可改,温度设置完成后通过无线模块自动发往控制现场,控制现场开始工作并返回实时水温。nRF24L01 无线模块通信距离最远能达到100 m,操作人员可远离控制现场,提高了安全性。
图6 主界面
通过系统调试,水温控制效果如表1 所示。其中最小温度和最大温度是在实时水温第1 次到达设置的水温时起,实时水温的最小值和最大值。
通过表1 可以看出,在40 ~ 80 ℃区间水温能精确到±0.5 ℃以内,高于80 ℃时精度会有所降低,误差在±1.1 ℃左右,精度能够满足要求。
3 结束语
系统通过实际操作验证取得成功,从安全方面考虑,采用了控制现场和监控中心分离的设计思想,这样即使设备发生故障也不会对操作人员造成人身伤害,优化了整个水温监控过程。
参考文献:
[1] 曾凤.基于STM32及PID-PWM的智能水温监控系统设计[J].成都工业学院学报.2019(6):24-28.
[2] 甄丽靖.基于选择PID算法的供热系统水温智能控制方法[J].自动化应用.2020(11):13-14.
[3] 肖军.基于无线通信技术的鱼缸远程实时监控系统的设计与实现[J].计算机与数字工程,2020(8):2024-2027.
[4] 李宁.基于MDK的LPC1100处理器开发应用[M].1版.北京:北京航空航天大学出版社,2010.
[5] 周立功.C程序设计高级教程[M].北京:北京航空航天大学出版社,2012,17-28.
(本文来源于《电子产品世界》杂志2021年11月期)
评论