中小型冷庫在城市鄉(xiāng)鎮(zhèn)應(yīng)用普及,由于鄉(xiāng)鎮(zhèn)地方電源電壓波動較大,經(jīng)常不定時停電,這給目前常用的冷庫控制器運行帶來了困難。根據(jù)市場的需求我們研發(fā)設(shè)計一種新型全自動冷庫控制器,對冷庫制冷和除霜過程進行全自動全程控制。硬件的設(shè)計采用了89c51單片機、X5045多功能可編程CPU監(jiān)控芯片、DS1820數(shù)字傳感器和LED數(shù)碼顯示,構(gòu)成全數(shù)字化冷庫控制器。特別是采用了美國Xicor公司新研制生產(chǎn)的X5045監(jiān)控芯片,同時具有上電復(fù)位、電壓監(jiān)控、看門狗功能和512字節(jié)的EEPROM,解決了控制參數(shù)記憶問題,防止了電源通斷瞬時及電源電壓波動時造成的系統(tǒng)故障,避免了干擾造成的系統(tǒng)死機,全自動進程可實現(xiàn)冷庫無人執(zhí)守全自動運行。
(一)關(guān)于監(jiān)控電路的設(shè)計:
X5043/45監(jiān)控電路集上電復(fù)位、看門狗定時器、電源電壓監(jiān)控、分塊保護的EEPROM于一體,是解決單片機系統(tǒng)中抗干擾和數(shù)據(jù)長期可*保存等問題的首選器件,特別適合在單片機測控系統(tǒng)中應(yīng)用。
X5043/45的功能框圖如圖1所示,其主要性能包括:
1、上電復(fù)位功能:在電源電壓低于檢測門限時,RESET引腳輸出有效復(fù)位信號,當電源電壓上升高于檢測門限時,復(fù)位信號延時200ms后將變?yōu)闊o效。
2、電壓監(jiān)控功能:當電源電壓低于檢測門限時,使上電復(fù)位電路產(chǎn)生復(fù)位信號,復(fù)位信號至Vcc=1v有效。
3、復(fù)位門限電壓:門限電壓在出廠時設(shè)定為一標準值,對Vcc=5V±10%的芯片,門限為4.25V—4.5V。該值也可由用戶自行設(shè)定,可編程范圍為1.7V—5.0V。
4、看門狗定時器:可編程為1.4s、600ms、200ms或禁止。在非禁止狀態(tài),若在定時周期內(nèi)CS端沒有出現(xiàn)由高至低電平變化,RESET端將輸出200ms的有效復(fù)位信號,防止程序跑飛或進入死循環(huán)。
5、可分段保護的CMOS串行EEPROM:512字節(jié),每個字節(jié)可擦寫10萬次以上,內(nèi)部數(shù)據(jù)可保存100年以上。
6、X5043/45內(nèi)有一個8位指令寄存器,對該芯片的所有操作都需要通過對指令寄存器寫命令來完成;一個狀態(tài)寄存器,確定EEPROM的塊保護地址范圍及看門狗定時器的超時周期。
(二)關(guān)于控制器電路的設(shè)計:
控制器電路原理圖。控制器由單片機89C51、X5045監(jiān)控電路、數(shù)字溫度傳感器DS1820、鍵盤、輸出繼電器、報警單元、顯示電路組成。
X5045的WP(寫保護輸入)接Vcc,RESET端接89C51的RESET,CS(片選)、SO(串行輸出)、SI(串行輸入)、SCK(串行時鐘輸入)與89C51的P2口相連。由89C51控制其工作狀態(tài)和數(shù)據(jù)傳輸。利用X5045的EEPROM記憶功能保存設(shè)定的參數(shù);X5045的上電復(fù)位功能、電壓監(jiān)控功能,消除電源通斷瞬時及電源電壓波動時造成的系統(tǒng)死機、數(shù)據(jù)誤寫及誤動作等故障;X5045的看門狗能消除現(xiàn)場應(yīng)用中干擾造成的死機。
采用DS1820數(shù)字溫度傳感器檢測冷庫溫度,與89C51串行通信,電路結(jié)構(gòu)簡單,不用校正傳感器,其溫度測定范圍為-55℃-125℃。鍵盤S1-S6可設(shè)定或修改冷庫的各項控制參數(shù):包括除霜周期、溫度上限、除霜時間、溫度下限。按S3-S6鍵,顯示5秒對應(yīng)的設(shè)定參數(shù)。在參數(shù)設(shè)定狀態(tài),可通過S3-S6及+鍵S1、-鍵S2,進行參數(shù)修改,修改后的參數(shù)存入X5045的EEPROM存儲器。開關(guān)S7為狀態(tài)選擇,S7合向強制除霜,強制進入除霜狀態(tài),并停止制冷機工作;當開關(guān)合向參數(shù)設(shè)定,進入?yún)?shù)設(shè)定狀態(tài);S7在中間位置時,冷庫正常運行。制冷除霜控制分別經(jīng)繼電器輸出,控制壓縮機制冷和加熱器除霜。報警單元由軟件控制,提供報警功能。89C51的串行輸出經(jīng)驅(qū)動電路74LS164(圖中未畫出)控制3位數(shù)碼顯示,正常工作時顯示冷庫溫度;參數(shù)設(shè)定時,顯示所設(shè)定的參數(shù)。三只發(fā)光管分別指示控制器的三種工作狀態(tài):制冷、除霜、設(shè)定。
(三)關(guān)于軟件的設(shè)計:
控制器上電先運行初始化程序,單片機從X5045的EEPROM中讀入設(shè)定的各項控制參數(shù)。檢測并顯示冷庫溫度。延時5分鐘,以避免因短時斷電造成的制冷機啟動困難。
此后進行控制鍵S7檢測,鍵盤檢測,除霜周期檢測,冷庫溫度調(diào)節(jié),循環(huán)執(zhí)行以上過程。
控制鍵S7檢測:如果S7在強制除霜狀態(tài),停止制冷機工作,接通加熱器強制除霜,除霜指示燈亮,檢測并顯示冷庫溫度;如果S7在參數(shù)設(shè)定狀態(tài),運行參數(shù)設(shè)定程序,設(shè)定指示燈亮;S7在中間位置時,控制器進入自動控制方式。
鍵盤檢測:分別按除霜周期、除霜時間、溫度上限、溫度下限等四個鍵時,顯示對應(yīng)的設(shè)定參數(shù)5秒鐘。
除霜周期檢測:若除霜周期到,停止制冷機工作,根據(jù)除霜時間接通加熱器除霜,除霜指示燈亮,檢測并顯示冷庫溫度。
冷庫溫度調(diào)節(jié):根據(jù)設(shè)定的溫度上限、溫度下限控制制冷機啟停,將冷庫的溫度控制在設(shè)定的范圍內(nèi)。若溫度超過溫度上限1度,或溫度低于溫度下限1度,則啟動報警器。
參數(shù)設(shè)定時,維持運行狀態(tài)不變;通過S3-S6及+、-鍵,進行參數(shù)修改,修改后的參數(shù)存入X5045的EEPROM存儲器。
X5045除記憶設(shè)定的各項控制參數(shù)外,還肩負著上電復(fù)位、電壓監(jiān)控、看門狗功能,在系統(tǒng)中起著重要作用。下面簡介對X5045的編程。
對X5045編程應(yīng)注意以下幾點:
(1)所有指令、地址、數(shù)據(jù)傳送均是高位在先。
(2)寫存貯器一次多16個字節(jié),且在一頁內(nèi)。
(3)一條寫指令傳送完畢,CS變?yōu)楦唠娖胶髴?yīng)延時10ms以上,以保證X5043/45完成內(nèi)部寫操作。
(4) SCK上升沿鎖存輸入,SCK下降沿使數(shù)據(jù)輸出有效。
(5)WRDI指令、上電、存貯器寫、狀態(tài)字寫之后,會自動禁止以后的寫操作(包括狀態(tài)字),在寫狀態(tài)寄存器或存貯器之前應(yīng)先發(fā)送WREN命令。
下面是單片機對X5045的基本輸入輸出程序。
(1)串行輸出子程序
OUTB: MOVR0,#08H
OUTB1: CLRP2.1;SCK低電平
RLCA
MOVP2.4,C;輸出數(shù)據(jù)
到SI端
SETBP2.1;SCK高電
平(鎖存數(shù)據(jù))
DJNZR0,OUTB1
RET
(2)串行輸入子程序
INB: MOVR0,#08H
INB1:CLRP2.1;SCK低電平(輸出數(shù)據(jù))
MOVC,P2.3;讀SO端數(shù)據(jù)
RLCA
SETBP2.1;SCK高電平
DJNZR0,INB1
RET
(3)讀X5043/45單元內(nèi)容子程序
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
新型控制器結(jié)構(gòu)簡單、價格便宜、調(diào)試和運行中無需校正傳感器;能對冷庫的制冷和除霜過程進行全自動控制,保證冷庫溫度在設(shè)定的范圍內(nèi),同時還具有參數(shù)記憶、來電延時、故障報警等多項功能,經(jīng)實際應(yīng)用證明工作可靠、功能完善。該控制器可用于各種中小型冷庫。將X5045電路用在冷庫控制器中,解決了參數(shù)記憶問題,消除了電源通斷瞬時及電源電壓波動時造成的系統(tǒng)故障,避免了干擾造成的死機,可實現(xiàn)冷庫無人執(zhí)守全自動運行。