单片机温度控制系统设计教学提纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机温度控制系统
设计
单片机温度控制系统设计
摘要:本文介绍了一种基于MSP430 单片机的温度测控装置。该装置可实现对温度的测量,并能根据设定值对环境温度进行调节,实现控温的目的。控制算法基于数字PID算法。
引言
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用[1]。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。
1 整体方案设计
单片机温度控制系统是以MSP430单片机为控制核心。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、单片机、I/O设备、控制执行系统等。
单片机温度控制系统控制框图如下所示:
温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。
2 温度信号检测
本系统中对检测精度要求不是很高,室温下即可,所以选用高精度热敏电阻作为温度传感器。热敏电阻具有灵敏度较高、稳定性强、互换精度高的特点。可使放大器电路极为简单, 又免去了互换补偿的麻烦。
热敏电阻具有负的电阻温度特性,当温度升高时,电阻值减小,它的阻值—温度特性曲线是一条指数曲线,非线性度较大。而对于本设计,因为温度要求不高,是在室温环境下,热敏电阻的阻值与环境温度基本呈线性关系[2],这样可以通过电阻分压简单地将温度值转化为电压值。
给热敏电阻通以恒定的电流,可得到电阻两端的电压,根据与热敏电阻特性有关的温度参数T0 以及特性系数k,可得下式
T=T0-kV(t) (1)
式中T为被测温度。
根据上式,可以把电阻值随温度的变化关系转化为电压值随温度变化的关系,由于热敏电阻的电信号一般都是毫伏级,必须经过放大,将热敏电阻测量到的电信号转化为0~3.6之间,才能在单片机中使用。
下图为放大电路原理图。稳压管的稳压值为1.5V。
由于传感器输出微弱的模拟信号,当信号中存在环境干扰时,干扰信号也被同时放大,影响检测的精度,需用滤波电路对先对模拟信号进行处理,以提高信号的抗干扰能力。本系统采用巴特沃斯二阶有源低通滤波电路。选取该巴特沃斯二阶有源低通滤波电路的截止频率
fH=10 kHz 。
3 控制系统设计
3.0 软件设计
单片机温度控制器控制温度范围100℃到400℃,采用通断控制,通过改变给定控制周期内加热和制冷设备的导通和关断时间,来提高和降低温度,以达到调节温度的目的。
软件设计中选取控制周期TC 为200(T1×C) ,导通时间取Pn ×T1×C ,其中Pn 为输出的控制量,Pn 值介于0~200之间, T1 为定时器定时的时间,C为常数。由上两式可看出,通过改变T1 定时时间或常数C,就可改变控制周期TC 的大小。温度控制器控制的最高温度为400℃,当给定温度超过400℃时以400℃计算。
图3为采样中断流程图。
数模转换部分使用单片机自带的12位A/D转换器,能同时实现数模转换和控制,免去使用专用的转换芯片,使系统处理速度更快,精度更高,使电路简化。采样周期为500 μs ,当采集完16个点的数据以后,设置标志“nADCFlag =1”,通知主程序采集完16个点的数据,主程序从全局缓冲区里读出数据。
为进一步减小随机信号对系统精度的影响,A/D转换后,用平均值法对采样值进行数字滤波。每16个采样点取一次平均值。然后将计算到的平均值作为测量数据进行显示。同时,按照PID算法,对温度采样值和给定值之间的偏差进行控制,得到控制量。采样全过程完成后就可屏蔽采样中断,同时启动T1定时[3],进入控制过程。
温度值和热敏电阻的测量值在整个温度采样区间内基本呈线性变化,因此在程序中不需要对测量数据进行线性校正。MSP430的T1定时器中断作为控制中断,温度采样过程和控制输出过程采用了互锁结构,即在进行温度采样,温度值处理和运算等过程时T1不定时,待采样全过程进行完时再启动T1定时并同时屏蔽采样中断。T1定时开始就进入控制过程,在整个控制过程中都不采样,直到200(T1×C) 定时时间到,要开始新一轮的控制周期。在启动采样的同时屏蔽T1中断。
图4为T1定时中断流程图。
图中,M代表定时器控制周期计数值,N则表示由调节器计算出的控制量。首先判断控制周期TC是否己经结束。若控制周期TC已结束(即M=0),则屏蔽T1定时器中断,进行新一轮温度采样;若控制周期TC还未结束〔即M≠0 〕,则开始判断导通时间是否结束。若导通时间己结束(即N=0),则置输出控制信号为低,并重新赋常数C值,启动定时器定时,同时退出中断服务程序;若导通时间还未结束(即N
≠0 ),则置输出控制信号为高,控制执行其间继续导通,重新赋常数C值,启动定时器定时,同时退出中断服务程序。
3.1 数字PID
本文控制算法采用数字PID 控制,数字PID 算法表达式如下所示:
其中,KP 为比例系数;KI=KPT/TI 为积分系数;T 为采样周期,TI 为积分时间系数;KD=KPTD/T 为微分系数,TD 为微分时间系数。u(k) 为调节器第k次输出, e(k) 为第k 次给定与反馈偏差。
对于PID 调节器,当偏差值输出较大时,输出值会很大,可能导致系统不稳定,所以在实际中,需要对调节器的输出限幅[4],即当|u|>u max时,令u=u max或u=-u max,或根据具体情况确定。