印花机械网
yhj.fzfzjx.com温度是工业控制中主要的被控对象之一,如印刷、食品、化工等各类工业中广泛使用的各种加热设备、热处理炉、反应炉等,它们都对工件的处理温度有严格控制要求,计算机控制技术在这方面的应用,使得温度控制技术指标得到了大幅度的提高,本文介绍了一种用AT89C2051单片机制作用于烫金机中的电子温度计,和普通的温度控制仪相比,该温度计具有测温速度快、读数方便等特点,测温范围为-40-125℃,而且稳定实用,辅以适当的隔热材料,其控制范围将更高。
烫金机是根据热压原理,将彩色电化铝印在纸、木、塑、革等各种商品上,其烫印色彩鲜艳、美观大方,是当前小型商品装潢、名片和包装印刷的*机器,烫金机的烫金原理是通过一定的温度和压力,并利用色箔将饰版上的图案和文字瞬间附着在塑胶表面上,烫金*的是温度、压力、色箔、烫饰版、其中温度控制是本设计要解决的主要问题。
DS18B20温度传感器
DS18B20是美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器,与传统的热敏电阻相比,它不需要运算放大器,就能直接读出被测温度,并可根据实际要求通过简单的编程来实现9-12位的数字值读数,通过设计可以分别在93.75ms和750ms内完成9位和12位的数字量,而且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,DS18B20的温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因此,使用DS18B20可使系统结构更趋简单,可靠性更高。由于DS18B20在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,因而可给用户带来更方便的使用和更令人满意的效果。
DS18B20的性能特点
DS18B20的主要性能特点如下:
具有*的单线接口方式,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
在使用中不需要任何外围元件。
可用数据线供电,电压范围为3.0-5.5V,测量范围为-55-+125℃,固有测温分辨率为0.5℃。
通过编程可实现9-12位的数字读数方式。
用户可自己设定非易失性的报警上下门限值,并支持多点组网功能,多个DS18B20可以并联在*的三线上实现多点测温。
具有*的负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B的内部结构
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图1所示,其中64位闪速ROM中的开始8位是产品类型的编码,接着是每个器件*的序号,共有48位,zui后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因,通过非易失性温度报警触发器TH和TL可用软件写入用户报警的上下门限。DS18B20温度产传感器的内部存储器包括一个高速RAM和一个非易失性的可电擦除的EEPRAM,后者用于存储TH、TL值,数据线写入RAM,经校验后再传给EEPRAM。片中的配置寄存器为高速存储器中的第5个字节,其内容可用于确定温度值的数字转换分辨率,DS18B20工作时,按此寄存器中的分辨率可将温度转换为相应精度的数值。
DS18B20的测温原理
DS18B20的测温原理如图2所示,图中的低温度系数晶振的振荡频率受温度的影响很小,故可用于产生固定频率的脉冲信号给减法计数器1,高温度系数晶振随温度变化,其振荡频率会有明显改变,其所产生的信号可作为减法计数器2的脉冲输入,图中隐含着的计数门可在打开时,使DS18B20对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,以使测量时减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值,减法计数器1可对低温度系数晶振所产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,此后减法计数器1的预置将重新被装入,此后减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,系统将停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度,图3中的斜率累加器用于补偿和修正测温度过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门未关闭,系统就会重复上述过程,直到温度寄存器达到被测温度值。
测温工作电路
该烫金机控温系统的主电路如图3所示,该电路由单片机电路、温度传感器电路、可控硅电路、数码显示电路等部分组成,其中AT89C2051、X1、R1、C1等组成单片机电路,R1、C1是单片机的复位电路,在接通电源的瞬间,由于电源电压通过R1对C1的充电过程,单片机AT89C2051的复位端1脚将获得一个高电平复位脉冲,该脉冲可使得单片机进入初始状态。
单片机的P3.7为输出控制口,通过一只电阻接至一片"光电耦合型过零触发双向"芯片GK的输入端,设计时,可适时通过"GK"触发外接的双向晶闸管SKG的导通与截止,来控制电炉丝的加电与断电、大电流与小电流,从而实现对烫金机的升温和恒温的控制。
AT89C2051内部有一个模拟信号比较器,AT89C2051的P1.0和P1.1除了作I/O口外,还分别是模拟信号比较器的同相输入端和反相输入端,模拟信号比较器的比较结果存入P3.6对应的寄存器,P3.6在AT89C2051外部无引脚,利用这个模拟信号比较器和锯齿波信号发生器电路可以组成一个A/D转换电路,以把P1.1输入的模拟信号转换成数字信号,数码管DS1、DS2、DS3、DS4、三极管VT1、VT2、VT3、VT4、电阻R3-R13等可组成动态扫描数码显示电路,可把温度值用数字显示出来,本设计采用DS18B20作为温度传感器。
现以MCS-51单片机为例,图3中采用的是寄生电源供电方式,P1.1口接单总线是为了保证在有效的DS18B20时钟周期内提供足够的电流,设计时可用一个MOSFET管和AT89C2051的P1.O来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间zui大为10μs。采用寄生电源供电方式时,VDD和GND端均接地,由于单线制只有一根线,因此发送接收口必须是三态的,主机控制DS18B20完成温度转换必须经过初始化、ROM操作指令、存储器操作指令等三个步骤,假设单片机所用的晶振频率为12MHz,那么,就可以根据DS18B20的初始化时序、写时序和读时序、来分别编写INIT初始化子程序、WRITE写(命令或数据)子程序和READ读数据子程序等3个子程序,这些程序可在网上读取,所有的数据读写均由zui低位开始。
软件设计
设计程序时,可使用汇编语言编写,程序由主程序、定时中断服务程序、延时子程序等模块组成,其中主程序由初始化、数码动态扫描显示等部分组成,图4所示是其定时中断服务程序流程图。
采用动态扫描显示方式,虽然简化了电路,节省了I/O线,但占用CPU的时间较多,而采用调用定时中断的方式来测温可以减小CPU的负担,定时器0的定时时间为50ms,每过250ms(5次中断)测一次温度,延时子程序主要供数码显示程序调用,延时时间为0.5ms,延时时间决定了数码显示的刷新周期,因为显示数码为三位,所以刷新周期为1.5ms,字形码的输出采用P3口的P3.1-P3.5、P3.7、P3口输出的数据可通过查表获得。因为数码管为共阳型,所以相应的输出位为0时笔段亮。存储器20H、21H、22H单元可分别作为个位数、十位数、百位数的存储单元,其数值可作为查表的指针。动态扫描显示由数码显示储蓄完成,当个位数送到P3口时,P1.3输出低电平,VT4导通,数码管DS3显示个位数,当十位数送到P3口时,P1.4输出低电平,VT3导通,数码管DS2显示十位数,而当百位数送到P3口时,P1.5输出低电平,VT2导通,数码管DS1显示百位数,如果温度为负值,则百位数显示负号,这样轮流工作即可显示温度值,测温结束时,P3.6由0翻转为1,由于程序判断P3.6为高电平要用两个机器周期,且关闭定时器1停止计数也要用1个机器周期,总共这3个机器周期会使定时器1得计数值增加3,因此,在程序中对此误差要进行修正,即将计数值减去3。
结束语
DS18B20虽然具有测温系统简单,测温精度高、连接方便、占用口线少、扩展方便等优点,但在实际应用中还应注意以下几方面的问题:
(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器采用的是串行数据传送,因此,在对DS18B20进行读写编程时,必须严格地保证读写时序,否则将无法读取测温结果,对DS18B20的操作部分采用汇编语言编写。
(2)DS18B20工作时的电流高达1.5mA,故在总线上挂接点数较多且同时进行转换时要考虑增加总线驱动,可用单片机端口在温度转换时导通一个MOSFET。
(3)由于连接DS18B20的总线电缆是有长度限制的,因此,在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配等问题。
(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,那么,在程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。
(5)和DS1820一样,DS18B20的读写时序必须仔细调整,在反复的调试中找出合适的延时时间。