单片智能温度计及其在烫金机中的应用
引言
温度是工业控制中主要的被控对象之一,如印刷、食品、化工等各类工业中广泛使用的各种加热设备、热处理炉、反应炉等,它们都对工件的处理温度有严格控制要求,计算机控制技术在这方面的应用,使得温度控制技术指标得到了大幅度的提高,本文介绍了一种用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位,最后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变换操作时,总线上必须有强的上拉,上拉开启时间最大为10μs。采用寄生电源供电方式时,vdd和gnd端均接地,由于单线制只有一根线,因此发送接收口必须是三态的,主机控制ds18b20完成温度转换必须经过初始化、rom操作指令、存储器操作指令等三个步骤,假设单片机所用的晶振频率为12mhz,那么,就可以根据ds18b20的初始化时序、写时序和读时序、来分别编写init初始化子程序、write写(命令或数据)子程序和read读数据子程序等3个子程序,这些程序可在网上读取,所有的数据读写均由最低位开始。

软件设计
设计程序时,可使用汇编语言编写,程序由主程序、定时中断服务程序、延时子程序等模块组成,其中主程序由初始化、数码动态扫描显示等部分组成,图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的读写时序必须仔细调整,在反复的调试中找出合适的延时时间。
p2p机相关文章:p2p原理
评论