自動洗碗機的控制系統(tǒng)設(shè)計
關(guān)鍵詞:洗碗機;控制器;鍵盤/顯示
1 引言
隨著數(shù)字信息家用電器應(yīng)用的普及,洗碗機已經(jīng)廣泛進入人民大眾的家庭之中,從而使得人們能夠從繁雜的家務(wù)勞動中逐步解放出來。作為一種家庭自動化設(shè)備,洗碗機一般需要實現(xiàn)諸如自動控制進水、自動加洗滌劑、冷洗、自動加溫洗、清洗、排水、殺菌消毒,以及定時和故障報警等功能。從被控制量角度出發(fā),一個洗碗機通常需要滿足圖1所示的一些具體要求,其中涉及的開關(guān)量信號有兩種,一種是傳感器的高、低電平信號檢測,如機門開關(guān)、水位高低、溫度調(diào)節(jié)保護器和行程開關(guān)等;另一種開關(guān)信號經(jīng)由固態(tài)繼電器控制強弱電壓信號的斷開和加載,如進水電磁閥門的開合、恒溫加熱器的開合、瞬間加熱器的開合、清潔劑控制盒和消毒劑控制盒的工作等。圖1中所涉及的模擬量信號主要用于實現(xiàn)以下幾方面的功能:
(1)用溫度傳感器實現(xiàn)水溫/消毒水溫度檢測;
(2)通過人機接口的顯示輸出、鍵盤輸入和聲音輸出等實現(xiàn)水溫顯示、洗滌過程顯示以及故障類型顯示等;
(3)根據(jù)用戶需要通過設(shè)置鍵選擇洗滌模式,并通過功能鍵啟動相關(guān)功能;
(4)機器使用情況統(tǒng)計、清潔劑和消毒劑劑量的使用情況計數(shù)等;
(5)故障報警以及、洗滌完成報告等。
2 洗碗機控制系統(tǒng)的硬件設(shè)計
針對上述功能及可靠性、成本和方便使用維護等因素,筆者設(shè)計了圖2所示的洗碗機控制系統(tǒng)。
單片機最小系統(tǒng)采用與MCS-51兼容的AT-MEL公司低功耗高性能CMOS芯片AT89LS8252設(shè)計,其中片內(nèi)8k字節(jié)在線可編程閃存用以存放系統(tǒng)程序,可通過SPI接口來下載程序;而2k字節(jié)的EEPROM則用以存放關(guān)鍵參數(shù),如開機維護密碼、產(chǎn)品的序列號、開機次數(shù)、洗滌設(shè)置參數(shù)等;256字節(jié)的RAM用來存放臨時變量。
鑒于本洗碗機有較多的開關(guān)量信號,故此,設(shè)計中使用并行芯片8255來擴展I/O接口,以配合P1和P3口部分管腳的使用,其輸出和輸入的比例為21/14,其中蜂鳴器由P1.3控制。從可靠性角度出發(fā),輸入和輸出部分都采用光電隔離措施??紤]到部分驅(qū)動信號所要求的驅(qū)動電流較大,因此,本設(shè)計選用功率驅(qū)動器件ULN2803來驅(qū)動。
溫度采集有兩種方案:一是使用熱敏電阻配合芯片MAX150進行AD轉(zhuǎn)換,然后通過存放在程序存儲器里的表格來求得當前溫度;二是使用三端溫度傳感器DS18B20進行采集,直接得到溫度數(shù)據(jù)。相比之下,后一種方案較為經(jīng)濟簡捷。
鍵盤和LED顯示選用HD7279A?3?來進行控制,其電路圖如圖3所示。HD7279A無需外圍元件即可直接驅(qū)動8位共陰式LED數(shù)碼管;引腳DIG0~3對應(yīng)0~3位數(shù)字輸出驅(qū)動;引腳SA~SG和DP則對應(yīng)于段a~g及小數(shù)點的驅(qū)動輸出;各位可獨立控制譯碼/不譯碼及消隱和閃爍等屬性。
該芯片共有三種類型的指令:第一種是6條不帶數(shù)據(jù)的8位純指令,如復位、測試、左/右(循環(huán))移位等;第二種是7條16位帶數(shù)據(jù)指令,包括下載數(shù)據(jù)按方式0/1譯碼、下載不譯碼、閃爍、消隱、段點亮、關(guān)閉等;第三種是讀取鍵盤數(shù)據(jù)指令。它們均采用串行方式與AT89LS8252進行通訊,串行數(shù)據(jù)從DATA引腳送入芯片并由CLK端同步。當片選信號CS變?yōu)榈碗娖胶?,DATA引腳上的數(shù)據(jù)將在CLK引腳的上升沿時被寫入HD7279A的緩沖寄存器。
此外,HD7279A片內(nèi)含有去抖動電路,可控制64鍵鍵盤矩陣。圖3中,元件JKEY為4×4鍵盤接口,當有鍵按下時,KEY引腳輸出低電平,發(fā)光二極管LED1發(fā)亮,該狀態(tài)一直保持到按鍵松開。此時如果接收到“讀鍵盤”指令15H,在指令前半段,DATA引腳將處于高阻狀態(tài)以接受來自微處理器的指令。而在指令后半段,DATA引腳則從輸入狀態(tài)轉(zhuǎn)為輸出狀態(tài),用以輸出所按下的鍵代碼值。
3 洗碗機控制系統(tǒng)的軟件設(shè)計
本系統(tǒng)功能模塊按洗碗過程可分為六個階段:進水過程、加溫過程、注入清潔劑過程、控制電機旋轉(zhuǎn)清洗過程、注入消毒水消毒過程和排水過程。同時為確保洗碗機正常工作,對容易出故障的過程,系統(tǒng)還設(shè)置了故障報警或停機功能。系統(tǒng)軟件可按照洗碗機的工作流程進行編寫。主要的軟件模塊有開機自檢、狀態(tài)初始化、顯示當前默認狀態(tài),進入鍵盤掃描狀態(tài)并等待操作鍵按下,以及根據(jù)操作鍵轉(zhuǎn)入相應(yīng)流程等,其主程序流程見圖4所示。
圖3
用戶使用前,應(yīng)首先檢查洗碗機狀態(tài)是否正常,若狀態(tài)正常,按下弱電源開關(guān),根據(jù)洗滌要求設(shè)置洗滌模式(或使用默認方式),將碗放入清洗室,然后關(guān)上機門,按下開始鍵。之后,控制器檢測水位高低和水溫,以決定是否進水與恒溫加熱,至此準備工作完成,啟動電機進行清洗。接下來再把清潔劑注入清洗室,同時檢測水位高低,若水位較低,則立即進水,以保證清洗效果。清洗完成后,等碗上的水空一段時間后,洗碗機再注入高溫消毒水進行消毒。洗滌完成后,蜂鳴器鳴叫,表明洗滌完成,同時控制器回到用戶初始設(shè)置模式。洗滌中每一過程和按鍵均對應(yīng)有一發(fā)光二極管的亮滅,用以顯示過程和按鍵的正常與否。洗滌完成后,用戶打開機門,取出碗盤,然后斷電即可結(jié)束整個洗碗過程。
在該系統(tǒng)軟件子程序中,需要對鍵盤/顯示管理模塊進行說明,包括初始化子程序、發(fā)送子程序、接收子程序、中斷子程序、顯示子程序等。其中用戶通過鍵盤設(shè)置模塊可以設(shè)定洗滌模式、每一過程的時間長短以及洗滌劑量大小,也可隨時按相應(yīng)的功能鍵暫?;蛑兄瓜礈爝^程。技術(shù)維護人員可以通過鍵盤/顯示管理模塊輸入正確密碼來查詢機器的使用狀況,如機器序列號、機器的使用次數(shù)等,也可對關(guān)鍵參數(shù)根據(jù)實際情況進行設(shè)置。
故障報警功能模塊可在工作電壓故障、進水閥故障、加熱器故障、電機故障、清潔劑注入故障以及高溫消毒水注入故障發(fā)生時用蜂鳴器報警,同時斷掉強電控制信號,以確保系統(tǒng)安全。
4 結(jié)論
該控制系統(tǒng)目前已經(jīng)調(diào)試成功,試驗性能良好,可實現(xiàn)本自動洗碗機所要求的功能,而且簡捷實用。但還有需要完善提高的地方,如排水需要人工干預、人機接口可考慮選用效果更好的字符或圖形LCD、系統(tǒng)集成度有待提高等。