基于C8051F500的温度控制设计
2015-12-16陈玉敏孟宪民王德玉
陈玉敏,孟宪民,王德玉
(1.哈尔滨工业大学(威海),威海264209;2.山东卡尔电气股份有限公司,威海264209)
基于C8051F500的温度控制设计
陈玉敏1,孟宪民2,王德玉1
(1.哈尔滨工业大学(威海),威海264209;2.山东卡尔电气股份有限公司,威海264209)
设计了温度控制模块。下位机部分包括单片机C8051F500控制模块,温度测量、加热、通信等模块,水温控制采用逻辑规则算法进行;上位机部分利用Matlab仿真软件设计,实验窗口能够将温度值实时显示,设置温度稳定值及相关参数控制温度变化且便于观察,建立Access数据库存储收到的实验结果以备查询。实践结果证明,水温控制模块超调小,上升速度快,实验监控界面良好,实验效果稳定,具有实际应用价值。
温度控制;单片机;逻辑规则控制;Matlab仿真;温度实时显示
1 引 言
温度控制较复杂,具有滞后、非线性等问题[1-2]。采用单片机C8051F500设计温度控制模块,把温度控制在设定偏差允许范围内,具有温度测量、加热、通信等功能。同时控制模块可以扩展开放,完成对温度控制等相关知识的实践;利用Matlab仿真软件设计上位机部分,进行温度值的变化及实时显示,同时利用Access数据库存储。
2 系统整体设计
温度控制模块分为上位机和下位机两部分,上位机模块将温度实时用曲线和数字进行显示,还能对系统的控制品质进行设定,水温可以在一定范围内通过上位机设定来满足不同要求,环境温度改变时能够自动控制,以维持目标不变,具有较好的快速性与较小的超调。下位机模块完成采集温度信息,根据温度设定值与当前温度利用一定的控制算法,最终控制温度的变化。下位机的组成模块包括通信模块、温度测量、控制、加热等模块。
3 下位机模块设计
要想准确控制某个量的变化,需带有反馈的闭环控制,将被控量稳定在设定值的偏差范围内,固本设计反馈环节加入温度测量模块。首先上位机设定要达到的温度值以及其他控制算法所需要的控制参数,并启动本次温度控制,然后下位机就根据设定的温度值与当前所测得的温度值,采用一定的控制算法,驱动执行机构工作,这样不断的循环往复地检测、算控制信号、驱动加热,直到温度稳定在设定值附近。
3.1 单片机模块
硬件电路选择处理速度与51单片机有质的飞跃的C8051F500作为主控芯片,C8051F500的时钟选择晶振精度很高的内部时钟,芯片的工作温度在-40到+125℃之间,完全满足实验要求[3]。复位电路与51单片机高电平复位相反,是低电平复位;电源电路便于扩展需求,主控板电源电压选择+5V,电源转换芯片选具有防反接保护的LM2937,即在电源接反时也能不损坏芯片。下载电路中JTAG接口包括TMS、 TDI、TCK、TDO4线,分别为模式选择、数据输入、时钟、数据输出线。软件编程时先固定器件到电路板上进行在线编程,从而大大加快工程进度。单片机仿真与下载是C2接口,且C2接口与JTAG接口兼容,设计用JTAG接口电路,清晰明了,防止接错线。加热控制电路中采用通断迅速的固态继电器实现弱电控制强电,输出电压耐压480V,最大电流10A。选用电热丝的功率是500W,220V供电,适合在较小的容器内加热液体。三极管驱动固态继电器开始加热,LED指示灯会亮起,当固态继电器输出端呈高阻状态时,加热器不再加热,LED指示灯会熄灭。当然对于不同的应用场合,可以根据需要选择不同功率的加热装置。电源电路、下载电路、加热控制电路分别如图1、图2、图3所示。
图1 C8051F500电源电路图
图2 下载电路图
图3 加热控制电路图
单片机输出信号采用偏差相平面基础上的逻辑规则控制,在此逻辑控制中,一方面通过一系列控制法则反映系统行为变化,另一方面借助这些规则对对象进行有效控制。将工况划为9种情况,通过设定参数改变动态、静态指标,在9种状态之间来回切换,最终达到稳定。通过所测实时温度与设定值得出的偏差得到温度偏差变化率。最后根据偏差值和偏差变化率,选择9种工况里面的一种执行,然后一直循环往复的执行,直到上位机发出终止命令[4]。设±e0为允许偏差,±e·0为允许偏差变化率。实验温控规则如表1所示。而加热模块的固态继电器无法识别模拟量,故将控制量做PWM转换,控制其占空比来调节输出功率值,实现水温控制。采用两个定时器分别计时来控制PWM波的占空比。定时器0控制工作周期,定时器2控制一个周期内的占空比,即9种工况分别对应不同的定时器2的计数初始值。通过0和2的状态判断需要的占空比是否已经达到,若没有则退出中断继续计时,若已达到则关闭计数,从而实现占空比的调节。软件设计采用Visual Studio开发环境的.net构架,软件开发语言为Visual C#。控制算法流程如图4所示。
表1 实验温控规则表
3.2 温度测量模块
温度传感器选用DS18B20,软件设计编程平台选用Keil软件,由于该传感器需要严格的时序才能正确的读出温度,在对该传感器进行操作的过程中,不能有中断发生,以免影响读到温度值的正确性。温度测量电路利用Keil进行仿真实验,测量室温。设置断点,在Watch里面添加观测变量观察所得到的温度值正是室温。软件运行界面如图5所示。
图4 控制算法流程图
图5 Keil运行界面
3.3 通信模块
通信模块中的串口类设为SerialPort,将要传送的数据保存到一个数组,再利用SerialPort类的发送方法,就可以发送数据,如果有数据发来会暂存入缓冲区内,然后从缓冲区内就可以读数据了。上位机软件里,建立存放要发送的数据和接收到的数据两个数组。在下位机里面也相应建立两个数组,将要发送的数据保存在一个数组中,接收到的数据保存到另一个数组中。上位机和下位机之间进行软件仿真,将下位机的程序编写成将收到的数据原样返回的功能,通过上位机来观测发送和接收到的数据是否正确来判断串口是否正常工作。串口数据处理采用查询方式,要发送多个字节就要先将要发送的多字节数据保存在一个数组中,然后循环发送。串口通信中选EIA-RS-232C,由MAX232芯片完成TTL←→EIA双向电平转换[5-6]。发送一字节数据及接收数据流程如图6所示。
4 上位机模块设计
上位机模块主要是使温度变化可视化以及实现整个温度控制的流程。上位机包括通信、控制参数设定、温度实时显示、控制流程几个模块。温度实时显示设计,模块中利用Matlab生成COM组件,然后在上位机软件中直接调用该组件就可以实现C#与Matlab的组合。Matlab中也可对各种控制算法进行编程扩展温度控制实验[7-8]。在file按钮里,可以选择将图像保存下来,保存的同时可以选择保存类型,包括常见的图片格式以及Matlab文件格式。若保存为Matlab格式的图像,那么相应数据点的信息也保存下来了,就可以利用Matlab对该图像进行相应的数据分析,得出关于该系统的相关结论等。温度控制过程中,要对温度稳定目标进行设定,系统根据所设目标进行工作;根据单片机控制规则进行计算,不断调整温度偏差及温度偏差变化率,尽量减小误差,要对其进行限制设定;要记录实验开始时间、结束时间、实时温度值、温度差、温差变化率等量,所设计的软件界面如图7所示。
图6 发送一字节数据及接收数据流程图
图7 实验软件界面图
数据库存储数据,考虑到以后可能还要再查看某一次温度的变化情况,加入数据库。需要将温度值、每次进行控制所设置的控制参数及开始和结束的时间等量进行存储。数据量并不大,选用Access数据库,通过编写SQL语句来实现存储数据的目的。具体的存储过程是,在将当前时刻下位机上传上来的温度值显示在屏幕上之后,调用Access的写函数,将该点温度存入到数据库中。
5 实验结果及分析
将各单元模块连接上,上位机软件设置要达到的温度值以及控制参数,点击开始按钮,观察温度实时显示界面确定温度是否在实时显示。经测试系统能正常运行,温控运行时所得一组温度变化曲线如图8所示,设定温度值为30℃,温度偏差0.5℃,加热器是500W,偏差变化率设定上限是0.02。温度控制模块中只要适当改变温控模块软件里面的控制参数以及通过上位机设置的控制参数,系统就能发挥很好的控温的功能。
图8 温度变化曲线
6 结束语
实验模块的下位机设计中利用数字化温度传感器实现硬件电路的简化;采用逻辑规则算法实现控制超调小、精度高的目的;通过固态继电器开关快速控制输出功率。同时上位机软件设置温度稳定值以及相关的控制参数,可以自己设定室温以上,100℃以下的任意温度值。在温度控制过程中,具有良好的显示界面,便于观察,而且上位机Matlab中可以对各种温度控制算法进行实践且性能良好,如将系统通信串口更换成RS485即构成分布式温度控制系统等。温控模块只需要稍作改动即可应用于其它更多领域,具有一定的开放性及实用价值。
[1] 蒋鼎国.基于改进型BP神经网络PID控制器的温室温度控制技术[J].实验室研究与探索,2015,34(1):9-13.Jiang Ding-guo.Based on the improved BP neural network PID controller of the greenhouse temperature control technology[J].Laboratory research and exploration,2015,34(1):9-13.
[2] 祁鲲,厉虹.基于PLC的温度控制仿真试验平台设计[J].电气技术,2013(9)30-33.Qi Kun,Li Hong.Temperature control simulation test platform design based on PLC[J].Electrical technology,2013(9)30-33.
[3] 王琪,李利品,郭锦涛,等.基于C8051F500的数控恒流源设计[J].电子制作,2014(5):5-6.Wang Qi,Li Li-pin,Guo Jin-tao,et al.The numerical controlconstantcurrentsourcedesignbasedon C8051F500[J].Electronic manufacture,2014(5):5-6.
[4] 林伟,邵华枫,李才安,等.水温控制系统的逻辑规则控制研究[J].测控技术,2008,27(8):67-69.Lin Wei,Shao Hua-feng,Li Cai-an,et al.Water temperature control system of the logic rule control research[J].Measurement and control technology,2008,27(8):67-69.
[5] 钟科.基于STM32的温度测量系统[J].微处理机,2015,36(1):63-67.Zhong Ke.The temperature measurement system based on STM32[J].Microprocessor,2015,36(1):63-67.
[6] 王景忠,王俊芳,立佳.一种实现RS232接口一对多通信的方法[J].无线电工程,2012,42(12):1-3.Wang Jing-zhong,Wang Jun-fang,Li Jia.A realization method of the RS232 interface one-to-many communication[J].Radio engineering,2012,42(12):1-3.
[7] 结硕,韩光胜.Matlab在自动控制原理实验中的应用[J].实验技术与管理,2012,29(2):95-97.Jie Shuo,Han Guang-sheng.The application of Matlab in the principle of automatic control experiment[J].Experimental Technology and Management,2012,29(2):95-97.
[8] 薛飞,杨友良,孟凡伟,等.基于Matlab GUI串口通信的实时温度监控系统设计[J].计算机应用,2014,34(1):292-296.Xue Fei,Yang You-liang,Meng Fan-wei,et al.Based on Matlab GUI of serial communication,real-time temperature monitoring system design[J].Computer application,2014,34(1):292-296.
Design of Temperature Control Based on C8051F500
Chen Yumin1,Meng Xianmin2,Wang Deyu1
(1.Harbin Institute of Technology(WeiHai),Weihai 264209,China;2.Shandong Kaer Electric Co.,Ltd.,Weihai 264209,China)
The temperature control module is desighed in this paper,the machine consists of single chip microcomputer C8051F500 control module,temperature module,heating module and communication module,and the logical rules are used in the temperature control algorithm;Upper machine parts,using Matlab simulation software for design,can real-time display the experiment temperature and set up the stable temperature value and the related parameter for temperature change control,and set up the Access database to store received results for the query.The test results show that the water temperature control module is small overshoot,the temperature rise rapidly and has excellent monitoring experiment interface,and the experimental effect is stable and has good application value.
Temperature control;Single chip microcomputer;Logic rule control;Matlab simulation;Real-time display of temperature
10.3969/j.issn.1002-2279.2015.04.024
TN432
A
1002-2279(2015)04-0092-05
陈玉敏(1978-)女,黑龙江省哈尔滨市人,工程师,硕士研究生,主研方向:控制科学与工程。
2015-04-15