Board logo

标题: 温度自动控制系统设计 [打印本页]

作者: Bazinga    时间: 2014-10-30 20:06     标题: 温度自动控制系统设计

基于MSP430系统平台,利用PID控制算法搭建了一个温度自动控制系统。系统包括温度采集、PID算法功率控制、人机交互等模块。系统采用数字式温度传感器精确测量温度值,430单片机用来实现PID算法及温度设定与显示等;双向可控柜光电耦合用于调节功率。能实时监测温度值,测量温度范围广、分辨率高,调节温度迅速,控制温度实时精准、波动小,温度值显示准确稳定。
调温设备如冰箱、冰柜、空调已广泛地走进大众家庭,这些设备带给了人们更多的舒适,人们也越来越依赖它们。为此,我们小组搭建了一个温度自动控制系统,模拟调温设备在日常生活中的运作,深入探讨其工作原理及可优化潜力。

1 系统组成
本系统以MSP430系统板为控制核心,包括温度采集、PID算法功率控制、调温、人机交互等模块。其采用数字式温度传感器DS18B20作为温度采样元件,在通用定时器B周期中断的控制下,低功耗单片机MSP430F449通过其通用I/O口从DS18B20读取采样值,再通过PID控制算法计算出控制量去控制主电路的电流方向和PWM波的输出。电流方向决定对控温对象进行加热或制冷,输出的PWM波驱动功率MOSFET IRF540,从而达到控制热电模块加热或制冷的功率的目的,如图1所示。




2 MSP430F449简介

MSP430F449是TI公司推出的16位超低功耗混合信号处理器,同时集成数字和模拟电路。其具有特点:16位CPU通过总线连接到存储器和外围模块;直接嵌入仿真处理,具有JTAG接口;多时钟能够降低功耗,多总线能够降低噪声;16位数据宽度,数据处理更有效。它的集成调试环境Embedded Workbench提供了良好的C语言开发平台。

MSP430F449的定时器A和定时器B都可以实现PWM:当定时器工作在PWM波产生模式,就可以利用寄存器CCR0控制PWM波形的周期,用另外寄存器控制占空比,生成PWM波方便。并且片内集成段式液晶驱动模块,便于显示温度值。

3 PID控制算法原理

3.1 PID控制系统筒介

PID控制系统如图2所示,D(s)完成PID控制规律,称为PID控制器。PID控制器是一种线性控制器,用输出量y(t)和给定量r(t)之间的误差的时间函数e(t)=r(t)-y(t)的比例、积分和微分的线性组合构成控制量u(t),称为比例(Proportional)、积分(Integrating)、微分(Differ-entiation)控制,简称PID控制。




PID控制组合了比例控制、积分控制和微分控制这3种基本控制规律,通过改变调节器参数来实现控制,其基本输入输出关系为:




实际应用中,可以根据受控对象的特性和控制的性能要求,灵活采用比例(P)控制器、比例+积分(PI)控制器、比例+积分+微分(PID)控制器3种不同控制组合。
3.2 PID参数控制效果分析

PID控制的3基本参数为KP、KI、KD,这3项参数的实际控制作用为:

比例碉节参数(KP) 按比例反映系统的偏差。增大KP,系统的反应变灵敏、速度加快、稳态误差减小,但振荡次数也会加多、调节时间加长。在该反馈环中,该值主要影响速度。

积分调节参数(KI) 消除系统静态(稳态)误差,提高系统的控制精度。积分调节会使系统的稳定性下降,动态响应变慢,超调加大。积分控制一般不单独作用,而是与P或者PD结合作用。

微分调节参数(KD) 反映系统偏差信号的变化率,可以预见偏差的变化趋势,产生超前控制作用。因此,微分控制可以提高系统的动态跟踪性能,减小超调量,但对噪声干扰有放大作用。过强的微分调节会使系统剧烈震荡,对抗干扰不利。

常规的PID控制系统中,减少超调和提高控制精度难以两全其美。主要是积分作用有缺陷造成的。如果减少积分作用,静差不易消除,有扰动时,消除误差速度变慢;而加强积分作用时又难以避免超调,这也是常规PID控制中经常遇到的难题。所以在该系统中,对积分参数做了分段处理,已达到理想的效果。

4 温控装置及原理

DS18B20支持“一线总线”接口,测量温度范围为-55~+125℃,测量范围广。DS18B20可以程序设定9~12位的分辨宰,精度为0.0625 ℃,分辨率高。支持3~5.5 V的电压范围。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。并且只需占用一根微控制器的I/O口,节省I/O口。本系统选用PR-35封装。

控制电路选择VDD供电方式,即VDD接+5 V,GND接地,I/O接单片机I/O。

DS18B20的主要部件:64位激光ROM,温度传感器,非易失性温度报警触发器TH和TL,高度暂存器。

4.1 单线总线访问DS18B20的协议

DS18B20需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0和读1。所有这些信号,除存在脉冲外,都由总线控制器发出。

4.1.1 初始化

通过单线总线的所有执行都从一个初始化序列(一个由总线控制器发出的复位脉冲和跟在其后由从机发出的存在脉冲)开始。之后存在脉冲让总线控制器知道DS18B20在总线上且已做准备好操作。

4.1.2 ROM操作命令

一旦总线控制器检测到一个存在脉冲,它就可以发出5个ROM命令中的任一个:Read ROM,Match ROM,Skip ROM,Search ROM,Alarm Search。

由于只用到一个DS18B20,所以选择Skip ROM跳过指令,无需进行地址序列号的检查,可以加大软件运行速度。

4.1.3 存储器操作命令

4.1. 4 RAM操作指令如表1所示




一般先执行温度转换指令,然后用读暂存器指令将16位温度值读入主控制器。

4. 1.5 执行/数据

执行数据前,一定确保先指令已经输入,并严格按照时间时序。执行、数据时,要注意:只有数据时间隙把握准确,读写数据才能正确。

4.2 读写时间隙

DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换。必须在时间隙开始的确切时间读取或写入需要的数据。所以,对DS 18B20的时序控制要严格把握时间分段。当主机把数据线从逻辑高电平拉到逻辑低电平时,写时间隙开始;当从DS18B20读取数据时,主机生成读时间隙。
5 TEC1-12708驱动电路

制冷片TEC1-12708:依据帕尔帖效应制作的温差电制冷组件重量轻、体积小并具有相对高的制冷量,特别适用于有限空间的制冷,由于制冷组件是一种固态热泵,因而它无需维护,无嗓音,能在任何位置工作,抗冲击和抗震动能力强。另外,改变组件工作电流机型时,又可以制热,改变电流强度可调整制冷功率。

由于TEC要求的驱动电流是双向的,所以选择功率管MOSFET,结合双向可控硅光电耦合器组成H桥式电路控制TEC方向。功率MOSFET管IRF 540的导通电阻很小,能有效提高供给负载的最大功率。光电耦合器是一种电-光-电转换器件,把发光源和受光器用透明绝缘体隔离,不会对电路造成任何损害,比继电器性能好。




图3为双向可控硅光电耦合器构成4个由高电平控制的开关电路。用该4个开关电路连接成H桥电路,以实现对制冷片加热与降温。当开关1.3关闭时,电流正向流经制冷器件,制冷器开始加热;当开关2,4关闭时候,电流反向流经制冷器件,制冷器件降温。




经过对控制原理进行透析,绘制该制冷片的总控制原理图如图4所示。通过控制PWM波的占空比来控制功率管IRF540的导通时间,从而控制电路提供给制冷片的有效电流及方向。控制效果良好。

6 系统软件设计

该系统软件完成制冷制热、设置温度值、自动调温等功能。重要算法实现包括PID算法和数字温度传感器DS18B20的控制。整体过程为:系统初始化,等待按健中断。选择制冷或制热后,设定指定温度值;将温度采集的数据接收进来,与设定温度值比较,将差值经过PID算法后计算出进行功率控制的占空比,从而调节温度。其中,PWM波由MSP430F449的定时器B产生,在该模式下,寄存器CCR0用于控制PWM波频率,其他任意一个寄存器控制占空比,控制灵活,相当方便。控制积分调节参数对,对其采取分段积分PID算法,控制系统超调量。软件流程如图5所示。




该系统软件完成制冷制热、设置温度值、自动调温等功能。重要算法实现包括PID算法和数字温度传感器DS18B20的控制。整体过程为:系统初始化,等待按键中断。选择制冷或制热后,设定指定温度值;将温度采集的数据接收进来,与设定温度值比较,将差值经过PID算法后计算出进行功率控制的占空比,从而调节温度。其中,PWM波由MSP430F449的定时器B产生,在该模式下,寄存器CCR0用于控制PWM波频率,其他任意一个寄存器控制占空比,控制灵活。

7 测试结果

7. 1 测试过程

为防止室温变化对测试造成影响,选择有空调室温恒定的地方进行测试。在室温16℃下,测试数据如表2所示。




7.2 测试结果分析

由上实验数据可以看出,温度读数可以达到0.1℃,设定的温度值与最终温度值读数相差最大为0.8℃,完全满足实验要求±2℃范围的要求。从实验数据第2组可以看出温差大于15℃时,达到指定度所需时间为2分43秒。

8 结论

本系统能在所能达到的任何温度下制冷制热,以设定温度值自动调节到所设温度。制冷时,温度下降10℃仅需2min左右:制热时,温度上升15℃只需2分32秒。在室温16℃下,系统能调节的温度范围10~60℃,精确度0.2℃。
最后,如果木箱子的封闭性与实际中一样好,这套调温系统一定能达到理想效果。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0