王昊
(南京理工大學(xué)泰州科技學(xué)院 電子電氣工程系,江蘇 泰州 225300)
隨著生活節(jié)奏的加快,人們將時間更多的用于工作,更加疲于家務(wù)勞動,特別是面對每次餐后堆積的碗具,感到清洗起來既臟又浪費(fèi)時間。洗碗機(jī)作為一種家庭自動化設(shè)備,避免了人工洗碗的煩惱,節(jié)約了時間,將人們從繁雜的家務(wù)勞動中逐步解放出來[1]。本文設(shè)計了一種洗碗機(jī)自動控制系統(tǒng),在單片機(jī)控制下,可控制電磁閥、加熱電阻絲、清洗電動機(jī)、紫外線消毒器等強(qiáng)電電路,實現(xiàn)洗滌溫度與洗滌時間設(shè)置,自動進(jìn)水與排水,自動添加洗滌劑,故障信息顯示及報警等功能。
洗碗機(jī)自動控制系統(tǒng)的總體設(shè)計框圖如圖1所示。系統(tǒng)以單片機(jī)AT89C52為控制核心,包含水溫檢測電路、水位檢測電路、門控電路、鍵盤電路、蜂鳴器、液晶顯示電路及強(qiáng)電驅(qū)動電路等部件。其中,水溫檢測電路結(jié)合溫度設(shè)置,采集水溫信息,控制電阻絲加熱;水位檢測電路進(jìn)行最高水位和最低水位判斷,控制進(jìn)水電磁閥和排水電磁閥開關(guān);門控電路判斷洗碗機(jī)門是否關(guān)閉;鍵盤電路設(shè)置洗滌水溫及洗滌時間。為了實時顯示洗碗機(jī)工作狀態(tài)及可能出現(xiàn)的故障信息,系統(tǒng)中添加液晶顯示電路和蜂鳴器,方便用戶知道洗碗機(jī)工作模式和工作狀態(tài),便于故障排查。強(qiáng)電驅(qū)動電路作為單片機(jī)與外部器件的接口電路,驅(qū)動電磁閥、電阻絲、電動機(jī)及紫外線消毒器工作。
圖1 系統(tǒng)總體框圖Fig.1 Structure diagram of the system
系統(tǒng)主體硬件電路設(shè)計包括水溫檢測電路、水位檢測電路、液晶顯示電路及強(qiáng)電驅(qū)動電路。
DS18B20是達(dá)拉斯半導(dǎo)體公司生產(chǎn)的1-Wire器件,即單總線器件,其將地址線、數(shù)據(jù)線和控制線合為1根信號線,具有成本低、節(jié)省I/O口、抗干擾能力強(qiáng)等優(yōu)點。同時,與傳統(tǒng)的PT100、AD590等模擬溫度傳感器相比,DS18B20直接將被測溫度轉(zhuǎn)化成串行數(shù)字信號供單片機(jī)處理,省去了專用的模數(shù)轉(zhuǎn)換芯片。為了防水耐腐,本系統(tǒng)采用DS18B20防水型封裝,即DS18B20溫度傳感器外圍加入不銹鋼管進(jìn)行灌膠密封。DS18B20與AT89C52連接電路如圖2所示。
圖2 水溫檢測電路Fig.2 Water temperature detection circuit
本系統(tǒng)只使用單片DS18B20,且不存在遠(yuǎn)程溫度測量的考慮,所以為了簡便起見,DS18B20采用外部供電的方式,其VCC端直接接電源,I/O數(shù)據(jù)端與單片機(jī)P2.7相連,R1為上拉電阻。DS18B20通過片上溫度測量的技術(shù)來測量溫度,其分辨率可編程設(shè)置為9~12位,實現(xiàn)高精度測溫[2]。本系統(tǒng)采用出廠默認(rèn)配置為12位分辨率,可分辨溫度為0.062 5°C,最多可在750 ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字。
AT89C52與DS18B20通信,必須符合1-Wire總線的協(xié)議要求,否則無法讀取測量結(jié)果,因此需要完成下述3個步驟:初始化DS18B20、ROM操作命令和DS18B20存儲器操作命令[3]。當(dāng)DS18B20上電后,對其進(jìn)行初始化,向AT89C52發(fā)送響應(yīng)的應(yīng)答脈沖,表明工作準(zhǔn)備就緒。AT89C52通過拉低總線電平,產(chǎn)生復(fù)位脈沖,然后釋放總線,進(jìn)入接收模式。當(dāng)總線釋放后,上拉電阻將總線電平拉高。DS18B20檢測到上升沿后,延時后拉低總線,產(chǎn)生應(yīng)答信號。ROM操作命令分為讀ROM、匹配ROM、跳過ROM、搜索ROM、報警搜索等。因本系統(tǒng)只使用單片DS18B20,所以只需寫入‘CCH’代碼,直接進(jìn)入運(yùn)行內(nèi)存操作命令。DS18B20存儲器操作命令,發(fā)送溫度轉(zhuǎn)換命令 ‘44H’,將讀出的溫度存儲在8位寄存器TH和TL中,完成溫度轉(zhuǎn)換[4]。
為實現(xiàn)洗碗機(jī)自動進(jìn)水、自動排水的功能,本系統(tǒng)采用兩個光電水位傳感器進(jìn)行水位監(jiān)測。光電水位傳感器外部罩有菱鏡,內(nèi)置高強(qiáng)度紅外發(fā)射二極管和高靈敏度光敏晶體管,無機(jī)械運(yùn)動部件,不存在最低水位限制。同時,與現(xiàn)有的浮子式水位開關(guān)相比,光電水位傳感器還具有體積小,結(jié)構(gòu)緊湊,便于安裝,水位控制精度高等優(yōu)點,其與AT89C52連接電路如圖3所示。
圖3 水位檢測電路Fig.3 Water level detection circuit
圖3中TX1,TX2同為光電水位傳感器,一上一下安裝,分別用來判別最高水位和最低水位。TX1和TX2為四端口器件,1和3端口內(nèi)部接有高靈敏度光敏晶體管,2和4端口內(nèi)部接有高強(qiáng)度紅外發(fā)射二極管。TX1和TX2端口1外接電源,端口2通過上拉電阻外接電源,端口3輸出經(jīng)過電阻分壓各自加到NPN晶體管Q1、Q2柵極,端口4外接地。Q1、Q2漏極分別接到AT89C52的 P2.0口和P2.1口。二極管D1、D2為進(jìn)水、排水指示燈。電路工作原理為:當(dāng)洗碗機(jī)進(jìn)水水位未達(dá)到最高水位時,TX1未接觸水,其紅外發(fā)射二極管發(fā)出的光線通過菱鏡面反射到達(dá)光敏晶體管,光敏晶體管導(dǎo)通,端口3輸出電平為高,Q1導(dǎo)通,P2.0口為低電平,開啟進(jìn)水電磁閥,自動進(jìn)水,進(jìn)水指示燈D1亮;當(dāng)洗碗機(jī)進(jìn)水水位達(dá)到最高水位時,TX1沒入水中,其紅外發(fā)射二極管發(fā)出的光線通過水折射,未能到達(dá)光敏晶體管,導(dǎo)致P2.0口變?yōu)楦唠娖?,從而關(guān)閉進(jìn)水電磁閥,停止進(jìn)水。同理,洗碗機(jī)自動排水時,TX2內(nèi)部光敏晶體管導(dǎo)通,P2.1為低電平,開啟排水電磁閥,自動排水;當(dāng)排水排盡時,TX2內(nèi)部光敏晶體管截止,P2.1變?yōu)楦唠娖?,關(guān)閉排水電磁閥。
本系統(tǒng)采用QC12864B漢字圖形點陣液晶顯示模塊,實時顯示洗碗機(jī)工作狀態(tài),水溫,洗滌時間及故障信息。QC12864B液晶顯示屏為128×64點陣,可顯示4行,每行8個漢字。因其內(nèi)置ST7920芯片,自帶字庫,所以無需提取字模。QC12864B液晶顯示模塊與AT89C52連接電路圖如圖4所示。QC12864B的GND、VCC端分別接地、電源;V0端通過可變電阻接地,調(diào)節(jié)液晶顯示對比度;D0至D7端與AT89C52的P0口相連,作為指令與顯示數(shù)據(jù)的總線通道;RS、R/W、E端與AT89C52與P2.5、P2.6、P2.7相連,構(gòu)成液晶顯示控制信號的通道[5]。因本系統(tǒng)只使用液晶并行數(shù)據(jù)傳輸功能,所以將QC12864B的PSB端接電源。當(dāng)洗碗機(jī)工作時,AT89C52的P2.4口輸出為低電平,將背光電源正極LA+拉高,點亮液晶;當(dāng)洗碗機(jī)停止工作時,P2.4口輸出為高電平,將LA+拉低,關(guān)閉液晶,從而達(dá)到節(jié)約能耗的目的。
圖4 液晶顯示電路Fig.4 LCD circuit
AT89C52輸出采用繼電器驅(qū)動進(jìn)水電磁閥、排水電磁閥、加料電磁閥、加熱電阻絲、清洗電動機(jī)與紫外消毒器等220 V器件。本系統(tǒng)為了減輕外部強(qiáng)電電路對AT89C52輸出的影響,增加了光耦隔離電路。因外部各器件強(qiáng)電驅(qū)動電路相同,文中僅給出進(jìn)水電磁閥強(qiáng)電驅(qū)動電路,如圖5所示。圖5中U2為光耦,實物采用TPL52-1線性光耦,K1為12 V繼電器。當(dāng)AT89C52的P1.0口輸出為低電平時,U1的3腳輸出高電平,NPN晶體管Q4導(dǎo)通,繼電器銜鐵吸合,驅(qū)動外部器件工作;當(dāng)AT89C52的P1.0口輸出為高電平時,U1的3腳輸出高電平,Q4截止,繼電器銜鐵分離,關(guān)斷外部器件。為了消耗繼電器線圈斷電瞬間產(chǎn)生的反向電動勢,在繼電器線圈兩端反向并聯(lián)二極管D3[6],同時Q4還具有提升驅(qū)動電流的作用。
本系統(tǒng)按洗碗機(jī)工作過程可分為6個階段:進(jìn)水過程、加溫過程、注入洗滌劑過程、電動機(jī)清洗過程、排水過程和紫外線消毒過程。同時為確保洗碗機(jī)正常工作,對容易出故障的過程,系統(tǒng)還設(shè)置了故障報警功能。系統(tǒng)軟件按照洗碗機(jī)的工作流程進(jìn)行編寫,整體流程圖如圖6所示。
圖5 強(qiáng)電驅(qū)動電路Fig.5 Strong electric drive circuit
圖6 主程序流程圖Fig.6 Flow chart of main program
首先接通電源,洗碗機(jī)開機(jī)自檢,若狀態(tài)正常,將碗放入清洗室,門控電路關(guān)閉;通過鍵盤電路設(shè)置洗滌水溫及洗滌時間,若超過1分鐘鍵盤電路未動作,自動關(guān)閉電源;設(shè)置完畢,按啟動鍵,洗碗機(jī)打開進(jìn)水電磁閥進(jìn)水,通過水位檢測模塊判斷是否水進(jìn)滿,若水進(jìn)滿,關(guān)閉進(jìn)水電磁閥,打開加料電磁閥,加入洗滌劑;根據(jù)溫度設(shè)置,判斷是否進(jìn)行加熱操作,同時清洗電動機(jī)工作;洗滌時間結(jié)束,關(guān)閉清洗電動機(jī),打開排水電磁閥,排水,通過水位檢測電路判斷是否水排盡,若水排盡,打開紫外線消毒器消毒;消毒完成,蜂鳴器鳴叫,表明洗滌完成,1分鐘后自動關(guān)閉電源。洗滌中的每個過程、洗滌溫度和洗滌剩余時間都可實時通過液晶顯示電路顯示出來。同時工作故障也可通過液晶顯示,并通過蜂鳴器報警。
該控制系統(tǒng)目前已經(jīng)調(diào)試成功,可通過強(qiáng)電驅(qū)動電路控制外部電磁閥、加熱電阻絲、電動機(jī)及紫外線清洗器,實現(xiàn)洗碗機(jī)所要求的功能,且能夠通過液晶實時顯示工作狀態(tài)及故障信息,具有結(jié)構(gòu)簡單、人機(jī)界面友好等優(yōu)點。今后,擬引入濁度傳感器,對判斷洗滌是否真正干凈做繼續(xù)深入的研究。
[1]趙建東,康樂.自動洗碗機(jī)的控制系統(tǒng)設(shè)計[J].國外電子元器件,2004(8):4-6.ZHAO Jian-dong,KANG Le.The design of automatic washer controller[J].International Electronic Elements,2004(8):4-6.
[2]張越,張炎,趙延軍.基于DS18B20溫度傳感器的數(shù)字溫度計[J].微電子學(xué),2007,37(5):709-710.ZHANG Yue,ZHANG Yan,ZHAO Yan-jun.Digtial temperature measurement system based on DS18B20[J].Microelectronics,2007,37(5):709-710.
[3]鄭峰,王巧芝,陳繪兵,等.51單片機(jī)應(yīng)用系統(tǒng)典型模塊開發(fā)大全[M].北京:中國鐵道出版社,2010.
[4]張愛平,李金城.基于DS18B20的智能溫度控制器[J].北華航天工業(yè)學(xué)院學(xué)報,2007,17(5):1-15.ZHANG Ai-ping,LIN Jin-cheng.Intelligence temperature controllers based on DS18B20[J].Journal of North China Institute of Aerospace Engineering,2007,17(5):1-15.
[5]舒鑫,郭其一.ST7920點陣式液晶顯示模塊的應(yīng)用研究和編程[J].液晶與顯示,2007(2):192-196.SHU Xin,GUO Qi-yi.Application research and programming of dot-matrix LCM with ST7920 controller[J].Chinese Journal of Liquid Crystals and Displays,2007(2):192-196.
[6]郭天祥.新概念51單片機(jī)C語言教程:入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009.