基于AT89C51单片机的温度自动监控系统
扫描二维码
随时随地手机看文章
引言
化工合成对温度检测与控制要求较高,是化工合成工艺的关键环节。对化工合成装置的温度进行检测,并按工艺要求,控制最高加热温度;在升温阶段,控制合成温度以每小时15℃的速率上升;加入触媒以后的温度采用恒值控制:前期为370℃,中期为380℃,后期为390℃;控制精度为±3℃l最高温度连续三次达到400℃时发出报警信号。显示检测温度值;每半小时打印一次最高温度值及检测时间;留有扩充余地,以实现多回路控制。
1 温度检测控制系统硬件结构
本系统的硬件电路由温度检测、信号放大、A/D转换、AT89C51单片机、功率放大及执行电路、打印、显示及报警电路等部分组成。选用AT89C51单片机作为主控机,采用带有死区的PID控制算法,当温度在给定的死区范围内时,不予调节;超出给定范围时,由单片机按照运算结果,驱动步进电机,调节加热装置,以控制合成温度。系统硬件结构如图1所示。
图1 温度检测控制系统
1.1温度信号输入通道
温度信号输入通道由温度传感器、信号放大、A/D转换等电路组成。
1)温度传感器:温度传感器采用铂电阻。这类材料具有性能稳定、抗干扰能力强和测量精度高等优点。测温元件R.和电阻元件组成桥式电路,将由于温度变化所引起的铂电阻的阻值变化转化成电压信号送入放大器。由于铂电阻安装在测量现场,通过长线接入控制台,为了减小引线电阻的影响,采用三线式接线法。因而,外界温度变化对连接导线电阻r的影响在桥式电路中被相互抵消了。
2)信号放大电路:信号放大电路由单芯片集成精密放大器AD522组成。该电路共有14脚,其中IN+和IN-为信号差动输入端,2、14脚之间外接电阻Rc,用于调整放大倍数,4、6脚为调零端,13脚为数据屏蔽端,12脚为测量端,11脚为参考端,这两端间的电位差即为加到后级A/D转换器的输入信号电压。使用时,测量端与输出端(7脚)在外部相连接为放大后的输出信号。将信号地与放大器的电源地(9脚)相连接,为放大器的偏置电流提供通路。
3)A/D转换电路:采用ICL7109组成A/D转换电路,ICL7109是INTEL公司的产品。ICL7109采用双积分式工作原理,转换速率不高,但可满足本系统对采样速率的要求。因芯片具有较强的抗干扰特性,对于保证系统的检测与控制精度,是非常有利的。ICL7109的分辨率为12位;转换速率为7.5
图2 信号检测放大及A/D转换电路
次/秒(时钟为3.58MHz);转换后以12位二进制码输出。A/D转换器直接与单片机Pl口、P0口相连,转换后的12位数据直接由P0口输入而存入片内RAM中。12位数据需分两次读入,MCS一51的P1.0、P1.1、P1.2分别与A/D转换器的运行/保持输入端(RUN/HOLD)、字节使能端(HBEH、HBEL)以及A/D转换器的状态输出端(STATUS)相连接,片选端(c肌0AD)与P2.2相连,在片选和字节使能信号的控制下可以直接读取转换后的数据。
1.2控制温度设定电路
采用AT89C5 1的P1.7~P1.4设置4个开关K4-K1分别表示降温控制开关、设置控温的后期、中期、前期开关。当KI合上为0时,表示设置控制温度为370℃(触媒使用的前期温度);K2合上时,设置控制温度为380℃(触媒使用的中期),K3合上时,设置控制温度为390℃(触媒使用的后期);K4合上时,停止加热,系统进入降温过程。通过软件检测P1.7~P1.4的状态,发现某开关合上,则设置对应的控制温度,并转入相应的工作过程。
1)功率放大及执行电路:由于步进电机具有快速启停、精确步进以及直接接受数字量的特点等,本系统采用步进电机作为执行元件。控制系统采用步进电机作为执行元件,其作用是将计算机送出的电脉冲信号转换为相应的机械位移,它具有以下主要特点:(1)步距值不受各种干扰因素的影响,转子运动的速度主要取决于电脉冲信号的频率,而转子的总位移量取决于总脉冲的个数;(2)误差不会长期积累,转子每转动一圈积累误差为零;(3)反应性能好。启动、停车、反转及其他任何运动方式的改变都在少数脉冲内完成。在一定的频率范围内运行时,任何运行方式都不会丢失一步。
2)执行控制系统的组成:如图3所示。步进电机的控制系统主要由步进电机控制器、功率放大器及步进电机组成。步进控制器包括环形脉冲分配器、控制逻辑及正反转控制门组成,其作用是把输入脉冲信号按一定顺序进行分配,再通过功率放大送入步进电机绕组,以驱动步进电机转动。
图3 步进电机控制系统方框图
3)步进电机的工作原理及分配方式:进电机的种类较多,如单相、双相、三相、四相、五相及六相等多种类型。本设计采用三相反应式步进电机。该电机的步距角为1.5°,最大静力距为50kg·cm,最高空载启动频率为550步/秒。
三相步进电机有A、B、C三个绕组,按一定规律循环给三个绕组供电,就能使它按要求的规律运转,其工作原理如图4所示。图中的脉冲发生器按要求产生一定频率的脉冲信号,通过脉冲分配器产生一定规律的电脉冲输出给驱动器,以驱动步进电机运转。此部分可由计算机或单片机作为主控机。而脉冲分配器可以使用编程I/O接口。
图4 三相步进电机工作原理框图
步进电机脉冲分配方式及通电顺序如下:
脉冲分配器每给出一组脉冲,步进电机走一步,转一个角度。单片机通过程序随时改变脉冲分配方式和输出脉冲的频率,因此能灵活、方便地控制步进电机的转速和旋转方向。步进电机的控制部分由单片机和8155并行接口完成,8155的A口PA0~PA2分别作步进电机的三相控制端口。步进电机驱动电路部分采用光电耦合将单片机系统与步进电机驱动电路隔离,以增强系统抗干扰能力,并能防止当三极管损坏时电机驱动电路的高压对单片机的安全造成的威胁。可根据步进电机的电流选用合适的大功率的三极管VT,以完成功率放大及电机驱动任务。二极管VD为保护元件,为断流时的电机绕组提供低阻搞续流回路,把集电极电位钳制在电源电压,防止过高的反向电压击穿三极管。
为了及时记录合成装置的温度和检测时间,选用微型打印机TPμP一40作为记录打印装置。选用AT89C5 1内部定时器,每隔半小时启动TPμP一40打印一次,TPμP-40打印机通过8155与单片机相连。为了能随机显示检测的温长值,选用一片8155作为LED数码管的接口。步进电机、打印驱动电路如图5。
图5 步进电机、打印驱动电路图
2 温度检测控制系统软件设计
2.1系统软件功能
1)检测开关K1、K2、K3、K4的状态,设定温度控制值,并将控制系统转入相应的加热或降温阶段;
2)启动A/D转换,连续读取5次转换结果,经滤波和非线性校正处理之后,作为一次温度检测信号,并显示检测的温度值;
3)进行PID运算,按照运算结果,驱动步进电机以调节温度;
4)每隔半小时,由定时器产生中断申请,在中断服务程序中启动打印机,打印记录温度值及检测时;
5)若发现温度超限时,发出报警信号。
2.2温度检测与控制主程序
主程序功能:完成系统初始化操作;判断温度是否超限,如果超限则转报警处理,如果未超限则读入K1、K2、K3、K4状态,并根据其输入状态,散转执行相应的功能子程序。主程序流程图如图6所示。
图6 主程序流程图
2.3主要的子程序流程图
1)PID运算子程序:取出温度给定值与测量值,计算出偏差信号e(k),将e(k)与设定的死区值比较,如果P(足)未超出死区范围,则本次输出调节量为0,返回检测程序;如果e(k)超出死区范围,则计算出p(k)=Pp(k)+P1(k)+Pn(k)的调节输出值。
2)步进电机驱动程序:本系统选用三相步进电机,采用三相六拍工作方式,各绕组供电的步进信号由8155的A口控制,其转动方向及通电顺序字见表1。
表1 步进电机转动方向及通电顺序字
根据步进电机的转向与工作时绕组通电顺序变化规律,可以在8155的RAM中设置步进电机的控制字表,如表1所示,表头地址为TABO,表尾地址为TAB7。显然,驱动信号从TAB0开始控制通电顺序,电机为正转;若从TAB7开始控制通电顺序,则电机为反转。
步进电机的转速由脉冲信号的周期T决定。脉冲信号的周期由CPU通过延时程序或定时器/计数器的定时时间来确定。系统中的三相绕组由8155的A口控制是,程序中的延时时间为10电机的转速为:n=60/(N×T)转/分
式中N一