基于C8051F的恒温箱控温系统
引 言
本文引用地址:http://www.amcfsurvey.com/article/199342.htm恒温箱根据控制温度可分为低温(室温以下)恒温箱和高温(室温以上)恒温箱[1],加热控制恒温箱是高温恒温箱的一种,在工业、医疗以及科研实验中有广泛的应用。在一些特殊的恒温箱控制系统中,对温度测量、控制的精度要求非常高,本测控系统测温范围在18℃到60℃之间,测温精度要求优于±0.05℃。采用DSP、ARM等32位CPU可实现实时处理等较高的要求,但普通的控制系统中DSP、ARM的很多资源不能利用,造成资源的浪费、“大才小用”。随着微电子技术的快速发展,单片机的数据处理能力和功能得到了极大地提高,因此设计一个由高速单片机控制的高精度、结构简单并且成本低的温度控制系统有着重要的实际意义和应用价值。
1 恒温箱控温原理
本系统以铂电阻作为温度传感器,通过基于恒流源的桥式测温电路实现对恒温箱内的温度测量,系统将实际温度值与通过触摸屏设定的温度给定值比较,采用增量式PID算法进行调节,使控制量以16位PWM波的形式输出。通过滤波将PWM信号转换为电压信号,控制晶闸管的导通角,从而控制加热管加热。系统的控制原理如图1所示。
考虑到系统对测量精度以及稳定性的要求,本系统的设计特色包括:
1)控制器采用功能强大的高速SOC单片机C8051F021。
2)为提高A/D转换精度,采用CS5532对此模拟电压进行转换,输出具有24位分辨率。
3)充分利用单片机的片上资源,以16位PWM形式输出控制信号,提高控制精度。
2 硬件设计
该温度控制系统包括C8051F021单片机、温度采集电路、A/D转换电路、彩色液晶触摸屏控制电路、晶闸管驱动电路等。
另外,本系统具有了良好的人机对话功能,通过5.6英寸的彩色液晶显示器与触摸屏对系统进行实时监视和控制。该温度控制系统结构如图2所示。
2.1 温度采集与A/D转换
在热电阻温度传感器中,铂电阻具有精度高、性能稳定、耐腐蚀及使用方便等优点,是工业测控系统广泛使用的一种理想的测温元件[2]。在本系统中测温范围在18℃~60℃之间,选用温度传感器Pt1000,其阻值随着温度的改变按一定规律变化,精度、稳定性均较优。
在以铂电阻作为温度传感器的检测电路,典型的测量方式是采用不平衡电桥测量[3]。但是,铂电阻阻值与温度之间的非线性以及不平衡电桥的非线性导致测量存在一定的误差,为此,在本系统中对桥式测温电路进行了改进。电桥采用恒流源供电,两桥臂通过低噪声、低温度漂移的精密运算放大器连接,使流过铂电阻的电流恒定且等于恒流源的电流,采用4DH2构成恒流源电路,设计输出0.5mA的恒电流。
A/D转换电路采用2路模拟量输入,串行数据输出的24位A/D转换器CS5532与单片机接口,CS5532由多路开关、可编程增益放大器、程控多阶数字滤波器以及串口、时钟发生器、校准控制系统和输出锁存器等组成。
2.2 C8051F片上资源
C8051Fxxx系列单片机是完全集成的混合信号系统级芯片(SOC),具有与8051指令集完全兼容的CIP-51内核。它在一个芯片内集成了(包括A/D转换器、UART、定时器等)构成一个单片机数据采集和控制系统所需要的几乎所有模拟和数字外设及其他功能部件[4]。
本系统采用C8051F021作为MCU,进行通讯、数据处理以及控制输出。下面对本系统中用到的功能部件及应用进行简单介绍。
C8051F021MCU中有一个片内可编程计数器/定时器阵列(PCA)。PCA包括一个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较模块。时间基准的时钟可以是系统时钟/12、系统时钟/4、定时器0溢出等六个时钟源之一。每个捕捉/比较模块有六种工作方式,本系统采用16位脉冲宽度调制器方式,即系统可以通过PCA产生16位PWM直接输出至MCU的端口I/O引脚。
串行外设接口(SPI0)提供访问一个4线、全双工串行总线的能力。SPI0支持在同一总线上将多个从器件连接到一个主器件。当SPI被配置成主器件时,最大数据传输率(位/秒)是系统时钟频率的二分之一。本系统中C8051F021为主器件,CS5532和触摸屏控制芯片ADS7843为从器件,通过串行外设接口分时与MCU通讯。
2.3 滤波、变换电路
为了实现PWM信号到模拟量输出的转换,在本系统中采用二阶低通滤波器滤掉高频成分,保留直流分量,通过改变PWM信号的占空比即可得到不同电压的输出。如图3所示,设计巴特沃斯滤波器,使PWM信号经过滤波后产生0~2.5V的电压[5],控制晶闸管的导通角,从而实现对加热温度的高精度控制。
3 软件设计
3.1 PID控制
在本温度控制中采用了PID控制算法[7],即比例、积分、微分控制,是工业过程控制中应用广泛的一种基本控制方法。增量式PID控制算法为:
但是若直接采用此算法时,在系统启动、停止或大幅调节时,容易产生很大的超调量,引起积分饱和,因此我们对PID算法进行了改进,采用积分分离法,可有效抑制这一现象的出现。
积分分离法在开始时(即实际温度与设定温度值es偏差较大时)不积分;当控制的实际温度接近设定值时,投入积分算法以消除静差,提高控制精度[8]。积分分离式PID算法框图如图4所示。
3.2 触摸屏软件设计
将触摸屏引入本系统中可以直接在显示屏上输入控制信息,使系统的人机界面更加友好,操作快捷、方便。本系统选用AMT9532四线电阻式触摸屏,通过专用控制芯片ADS7843与单片机接口,对触摸信号进行分析、处理。触摸屏的软件设计流程如图5所示。
4 实验结果
为测试实验结果,使用精度为0.001℃的标准温度计作为标准来标定,测试结果如表1所示。
5 结 论
通过C8051F021片内的16位PWM输出,再加上简单的滤波、转换电路及相应的软件设计以及浮点数运算,可以实现16位的D/A转换,这是普通单片机控制电路很难实现的高精度控制。
本系统的温度控制范围为18℃~60℃,16位的控制信号分辨率可达千分之一摄氏度,从实际实验结果可以看出本系统完全可以实现测温精度优于±0.05℃的控制要求。实际应用表明,此温度控制系统具有控制精度高、功能强、简单灵活、节约成本、性能稳定等优点,满足于工业场合较高的精度要求。
评论