一种开关量控制的水浴恒温控制器设计
扫描二维码
随时随地手机看文章
摘 要: 针对传统的水浴恒温加热过程温度过冲大,难以观察历史曲线的不足,设计了一种开关量控制的恒温加热控制器。该控制器具有温度控制精确,过冲小,设定参数掉电保持,温度变化趋势一目了然的特点。详细介绍了其硬件与软件设计过程。
关键词: 水浴恒温;掉电数据保持;TFT液晶曲线显示
电加热水浴恒温控制具有升温单向性、大惯性、大滞后、时变性、依靠环境自然冷却降温的特点,难以用数学方法建立精确的模型[1]。传统的控制方法是温度低于设定值时,持续加热;高于设定值时,停止加热。这种方法容易使加热过程温度有很大的过冲,在其恒温过程中,温度波动也较大。
本设计采用的温控方法为:温度较低时,持续加热;温度接近时,断续加热;温度高于设定值时,停止加热。本控制器设定参数具有掉电保持功能,下次开机不用重新设定,方便连续作业;除了数字显示当前温度外,更能显示温度曲线,使其变化趋势一目了然,具有传统数码管显示无法比拟的优点。温度传感器采用数字温度传感器,硬件设计简单,大大减小了由信号转换引起的误差。
本控制器可当作“水浴锅”、“水温箱”、“煮沸消毒箱”的控制器使用,其温控效果可用于蒸馏、干燥、浓缩及恒温加热、化学药品、生物发酵制品、检查血清和生化实验、恒温培养等。
1 控制器硬件组成
如图1所示,控制器由实时时钟、数字温度传感器、单片机、TFT液晶屏、输出继电器、按键等部分组成。
本控制器采用宏晶公司STC89C52RC型单片机作为核心控制器,其Flash程序存储器容量为8 KB,数据存储器RAM为512 B,内部具有2 KB容量的E2PROM,可用作参数设置时掉电保存参数用,这样就不需要设计外部存储器,精减了硬件电路设计。该芯片加密性强,抗干扰能力强,功耗低,满足本控制器设计要求。内部E2PROM读写的3个基本命令为字节读、字节编程、扇区擦除。同一个地址的数据可以反复读出,但要写入数据,必须先将其擦除,而数据擦除是按扇区(每个扇区512 B)进行的[2]。
数据显示部分采用的是1.8英寸TFT液晶屏,型号为GYTF018LB35B0M,由于没有自带汉字字库,所以需要自行取汉字字模,存入程序存储空间,通过函数调用实现字符显示。使用时需自行设定字符显示的大小,针对不同的显示要求,本系统使用了32×32、16×16、8×8三种大小字符显示效果。
实时时钟芯片用于显示当前系统运行时间和控制温度均匀采样。本控制器采用DS1302作为时钟控制芯片。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,采用SPI三线接口与CPU进行同步通信,可采用突发方式一次传送多个字节的数据。实时时钟提供秒、分、时、日、星期、月和年记录,且具有闰年补偿功能,工作电压宽达2.5 V~5.5 V,采用双电源供电(主电源与备用电源)。DS1302能实现数据与出现该数据的时间同时记录,因此广泛用于测量系统中。控制器的时钟电路如图2所示。
2.1 初始化模块
初始化模块由以下函数组成:(1)读取上一次存储在E2PROM中的两个设定值,即设定温度值,时间间隔值;(2)配置数字温度传感器18B20;(3)配置LCD,清屏LCD为黑色,并显示一些在整个控制过程中不变的字符和曲线,如“g”、“℃”等。本模块在程序开始运行后,只执行一次。
2.4 获取当前时钟模块