引言
城市乡镇都广泛使用中小型冷库,由于有些地方电源电压波动较大,且常有不定时停电,这给目前常用的冷库控制器可*运行带来困难。我们设计了一种新型全自动冷库控制器,对冷库的制冷和除霜过程进行全自动控制。硬件设计采用了89c51单片机、X5045多功能可编程CPU监控芯片、DS1820数字传感器和LED数码显示,构成全数字化冷库控制器。特别是采用了美国Xicor公司新研制生产的X5045监控芯片,它同时具有上电复位、电压监控、看门狗功能和512字节的EEPROM,解决了控制参数记忆问题,防止了电源通断瞬时及电源电压波动时造成的系统故障,避免了干扰造成的系统死机,可实现冷库无人执守全自动运行。
监控电路
X5043/45监控电路集上电复位、看门狗定时器、电源电压监控、分块保护的EEPROM于一体,是解决单片机系统中抗干扰和数据长期可*保存等问题的首选器件,特别适合在单片机测控系统中应用。涡街流量计
X5043/45的功能框图如图1所示,其主要性能包括:
上电复位功能:在电源电压低于检测门限时,RESET引脚输出有效复位信号,当电源电压上升高于检测门限时,复位信号延时200ms后变为无效。
电压监控功能:当电源电压低于检测门限时,使上电复位电路产生复位信号,复位信号至Vcc=1v有效。
复位门限电压:门限电压在出厂时设定为一标准值,对Vcc=5V±10%的芯片,门限为4.25V—4.5V。该值也可由用户自行设定,可编程范围为1.7V—5.0V。
看门狗定时器:可编程为1.4s、600ms、200ms或禁止。在非禁止状态,若在定时周期内CS端没有出现由高至低电平变化,RESET端将输出200ms的有效复位信号,防止程序跑飞或进入死循环。
可分段保护的CMOS串行EEPROM:512字节,每个字节可擦写10万次以上,内部数据可保存100年以上。
X5043/45内有一个8位指令寄存器,对该芯片的所有操作都需要通过对指令寄存器写命令来完成;一个状态寄存器,确定EEPROM的块保护地址范围及看门狗定时器的超时周期。
控制器电路设计
控制器电路原理图如图2所示。控制器由单片机89C51、X5045监控电路、数字温度传感器DS1820、键盘、输出继电器、报警单元、显示电路组成。
X5045的WP(写保护输入)接Vcc,RESET端接89C51的RESET,CS(片选)、SO(串行输出)、SI(串行输入)、SCK(串行时钟输入)与89C51的P2口相连。由89C51控制其工作状态和数据传输。利用X5045的EEPROM记忆功能保存设定的参数;X5045的上电复位功能、电压监控功能,消除电源通断瞬时及电源电压波动时造成的系统死机、数据误写及误动作等故障;X5045的看门狗能消除现场应用中干扰造成的死机。
采用DS1820数字温度传感器检测冷库温度,与89C51串行通信,电路结构简单,不用校正传感器,其温度测定范围为-55℃-125℃。键盘S1-S6可设定或修改冷库的各项控制参数:包括除霜周期、除霜时间、温度上限、温度下限。按S3-S6键,显示5秒对应的设定参数。在参数设定状态,可通过S3-S6及+键S1、-键S2,进行参数修改,修改后的参数存入X5045的EEPROM存储器。开关S7为状态选择,S7合向强制除霜,强制进入除霜状态,并停止制冷机工作;当开关合向参数设定,进入参数设定状态;S7在中间位置时,冷库正常运行。制冷除霜控制分别经继电器输出,控制压缩机制冷和加热器除霜。报警单元由软件控制,提供报警功能。89C51的串行输出经驱动电路74LS164(图中未画出)控制3位数码显示,正常工作时显示冷库温度;参数设定时,显示所设定的参数。三只发光管分别指示控制器的三种工作状态:制冷、除霜、设定。
软件设计
控制器上电先运行初始化程序,单片机从X5045的EEPROM中读入设定的各项控制参数。检测并显示冷库温度。延时5分钟,以避免因短时断电造成的制冷机启动困难。
此后进行控制键S7检测,键盘检测,除霜周期检测,冷库温度调节,循环执行以上过程。
控制键S7检测:如果S7在强制除霜状态,停止制冷机工作,接通加热器强制除霜,除霜指示灯亮,检测并显示冷库温度;如果S7在参数设定状态,运行参数设定程序,设定指示灯亮;S7在中间位置时,控制器进入自动控制方式。
键盘检测:分别按除霜周期、除霜时间、温度上限、温度下限等四个键时,显示对应的设定参数5秒钟。
除霜周期检测:若除霜周期到,停止制冷机工作,根据除霜时间接通加热器除霜,除霜指示灯亮,检测并显示冷库温度。
冷库温度调节:根据设定的温度上限、温度下限控制制冷机启停,将冷库的温度控制在设定的范围内。若温度超过温度上限1度,或温度低于温度下限1度,则启动报警器。
参数设定时,维持运行状态不变;通过S3-S6及+、-键,进行参数修改,修改后的参数存入X5045的EEPROM存储器。
X5045除记忆设定的各项控制参数外,还肩负着上电复位、电压监控、看门狗功能,在系统中起着重要作用。下面简介对X5045的编程。
对X5045编程应注意以下几点:(1)所有指令、地址、数据传送均是最高位在先。(2)写存贮器一次最多16个字节,且在一页内。(3)一条写指令传送完毕,CS变为高电平后应延时10ms以上,以保证X5043/45完成内部写操作。(4) SCK上升沿锁存输入,SCK下降沿使数据输出有效。(5)WRDI指令、上电、存贮器写、状态字写之后,会自动禁止以后的写操作(包括状态字),在写状态寄存器或存贮器之前应先发送WREN命令。
下面是单片机对X5045的基本输入输出程序。
(1)串行输出子程序
OUTB: MOVR0,#08H
OUTB1: CLRP2.1;SCK低电平
RLCA
MOVP2.4,C;输出数据
到SI端
SETBP2.1;SCK高电
平(锁存数据)
DJNZR0,OUTB1
RET
(2)串行输入子程序
INB: MOVR0,#08H
INB1:CLRP2.1;SCK低电平(输出数据)
MOVC,P2.3;读SO端数据
RLCA
SETBP2.1;SCK高电平
DJNZR0,INB1
RET
(3)读X5043/45单元内容子程序
READ_B:MOV DPTR,#0010H
CLR P2.2;CS有效
MOVA,#03H;READ指令
MOVB,DPH
MOVC,B.0
MOVACC.3,C;A8地址位
LCALLOUTB
MOV A,DPL;低8位地址
LCALLOUTB
LCALLINB
SETBP2.2;CS无效
RET
结语
该控制器结构简单、价格便宜、调试和运行中无需校正传感器;能对冷库的制冷和除霜过程进行全自动控制,保证冷库温度在设定的范围内,同时还具有参数记忆、来电延时、故障报警等多项功能,经实际应用证明工作可*、功能完善。该控制器可用于各种中小型冷库。将X5045电路用在冷库控制器中,解决了参数记忆问题,消除了电源通断瞬时及电源电压波动时造成的系统故障,避免了干扰造成的死机,可实现冷库无人执守全自动运行。