基于单片机的具有通讯口的智能温控表设计
1 引言
温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487,具有测量精度高、可靠性好、抗干扰性能强、可实现计算机网络控制等优点,可广泛应用于冶金、纺织、化工、医疗等行业。它具有-200~+500°C范围的温度测量和自动控制,是老式温控表的替代产品,市场前景广阔。
2 系统硬件设计(基于单片机的具有通讯口的智能温控表设计)
系统硬件框图如图1所示。系统接通220V交流电源后,通过稳压电路(7805、7905)产生±5V直流工作电源,以满足本系统中集成电路工作需要,系统的遥测电路开始工作:在人员不能进入或不易进入的场合,通过温度传感器铂电阻PT100及运算放大器OP07将被测温度的变化转换成电压信号,由LM331进行V/F变换为脉冲信号输入至89C52的T0口进行频率计数,该计数脉冲频率即反映了所测温度的大小,系统进行PID运算,若所测温度与系统设定温度不相符,根据PID计算结果通过光耦TIL117控制输出电路中的电磁继电器吸合,进行温度调节的控制,同时各分机的通讯口MAX487与主机进行数据通讯与传送,由主机输入参数可进行所有温控表的温度设定。系统所设定的温度数据存储于看门狗芯片X25045中,同时当检测温度超过设定温度一定值时系统进行报警。本系统采用一片8155作为8位LED数码管及4位键盘的接口,同时显示系统设定温度及检测温度值,4位键盘为:位选、增量、减量、功能。
2.1 温度检测与信号放大电路
本系统采用铂电阻PT100为测温元件,PT100具有性能稳定、抗氧化能力强和测量精度高等优点。由PT100和电阻元件组成的桥式电路将由于温度变化引起的铂电阻的阻值变化转换为电压信号输入放大器。因需通过连接导线将安装在测量现场的铂电阻接入控制台,为了减小引线电阻的影响,采用三线式接线法。
信号放大电路由集成运放OP07组成,OP07的噪声峰-峰值为0.6μV,共模扼制比CMRR>106dB,OP07的管脚功能:IN+和IN-为信号差动输入端,1、8脚为调零端,6脚为输出端。
2.2 电压/频率转换电路(LM331)
在控制和测量系统中,一般由AD转换器件将电量或非电量通过传感器和前置电路接入后续电路处理。本系统采用V/F转换器LM331将温度信号的变化转换为频率信号的处理。
LM331是美国NS公司生产的性能价格比高、外围电路简单、可单电源供电、低功耗的集成电路。LM331动态范围宽达100dB,工作频率低到0.1Hz时尚有较好的线性度,数字分辨率达12位。LM331的输出驱动器采用集电极开路形式,因此可通过选择逻辑电流和外接电阻来灵活改变输出脉冲的逻辑电平,以适配TTL、DTL和CMOS等不同逻辑电路。LM331可工作在4.0V~40V之间,输出可高达40V,而且可以防止VCC短路。
本系统中,LM331将输出的频率信号变成TTL电平送给单片机的P3.4口作为T0的计数脉冲。该转换电路线性良好,抗干扰能力强,输出范围在10Hz~10kHz以上,有利于提高系统的测量范围。
LM331主要管脚功能:
RC:参考电流输入端;CO:电流输出端;FO:频率输出端;CI:电压输入端。
2.3 CPU及外围电路
AT89C52是ATMEL公司生产的MCS-51系列单片机,内置8K字节电擦除可编程EEPROM片内程序存储器和256字节RAM,片内程序存储器空间能满足本系统程序存储之需要,可省去片外EPROM程序存储器和地址锁存器,使电路结构简捷。
TXD、RXD、P1.5、P1.6分别与MAX487的DI、RO、DE相联进行数据通讯控制,P1.0~P1.4口、RESET接至X25045ALE、P0口、P2.0、P2.1接至8155。P3.4口计数器T0输入端接至LM331的频率输出端进行脉冲计数。P1.7口为光耦TIL117控制端。
系统数据存储及故障保护部分由X25045组成,X25045是一种串行通讯的512字节EEPROM,同时兼有看门狗和电源监控功能。X25045有三种可编程看门狗周期,上电和VCC低于检测门限时,输出复位信号,X25045输出复位高电平有效,其复位输出端直接与89C52的复位端连接。
X25045管脚功能:片选输入;SO:串行输出;SI:串行输入;SCK:串行时钟输入;WP:写保护输入;RESET::复位输出。
2.4 通讯口(MAX487)
本系统采用RS-485接口芯片MAX487作为通讯口。MAX487是MAXIM公司生产的用于RS-485和RS—422通信的差分总线小功率收发器,它含有一个驱动器和一个接收器,具有驱动器/接收器使能功能,输入阻抗为1/4负载(≥48kW),节点数为128,即每个MAX487的驱动器可驱动128个标准负载。MAX487的驱动器设计成限斜率方式,使输出信号边沿不至于过陡,以避免在传输线产生过多的高频分量,从而有效扼制了干扰现象。MAX487的接收灵敏度为±200MV,即接收端的差分电压≥+200MV时,接收器输出为高电平,≤-200MV时接收器输出为低电平,介于±200MV之间时接收器输出为不确定状态,因此,一旦某个节点的接收器在总线空闲、传输线开路或短路时产生低电平,将使串行接收器找不到起始位,从而引起通信异常,为此,本系统在硬件上作了处理:将MAX487的A、B输出端加接上拉、下拉电阻,保证在发出有效数据时所有接收器能接收到完整的数据。
MAX487的数据传输速率为0.25Mbps,静态工作电流为120μA,5V单电源工作,在本系统中,MAX487采用半双工通信方式,各节点间的通信通过一对双绞线作为传输介质,因双绞线的特性阻抗为120Ω,因此系统在MAX487的始端和末端各接一个120Ω电阻以减少线路上传输信号的反射。由于主机与分机相隔较远,而分机系统上电或复位又常常不在同一时刻完成,如在此时某个MAX487处于发送状态,将占用通信总线而使其它分机无法与主机进行通信,本系统在89C52的P1.6口与MAX487的DE端之间加接光耦TIL117,保证了系统上电复位时MAX487的DE端为“0”,有效解决了这个问题。
MAX487主要管脚功能:RO:接收器输出端; :接收器输出使能端,为“0”时RO被使能;DE:驱动器输出使能端;DI:驱动器输入端;A:接收器同相输入端和驱动器同相输出端;B:接收器反相输入端和驱动器反相输出端。
3 控制软件的设计(基于单片机的具有通讯口的智能温控表设计)
该系统软件采用模块化设计,由主程序和子程序及中断服务程序组成。主程序流程图如图2所示,主要子程序包括:显示子程序;键盘扫描子程序;PID运算子程序。限于篇幅,具体程序略。
4 结束语(基于单片机的具有通讯口的智能温控表设计)
该智能温控表测量精度高,性能稳定可靠,不但可以取代老式的温控表,还可以实现计算机网络高效数据管理,是现代工业控制领域中实用的智能化仪表。