王海波
(1.宿州職業(yè)技術(shù)學(xué)院機(jī)電系 安徽·宿州234101;2.江蘇師范大學(xué)物電學(xué)院 江蘇·徐州221010)
隨著上世紀(jì)七十年代單片機(jī)研制成功,單片機(jī)在最近幾十年呈爆發(fā)式快速發(fā)展,被廣泛應(yīng)用于家用電器實現(xiàn)電器的自動化,切實給人們洗滌衣物帶來了方便,提升了人們的生活品質(zhì)。洗衣機(jī)內(nèi)嵌入單片機(jī)實現(xiàn)自動化控制一直是最近幾年的熱點(diǎn)。單片機(jī)控制的低廉性、可靠性、節(jié)能性等特點(diǎn)被廣泛應(yīng)用于洗衣機(jī),一方面降低了洗衣機(jī)的成本,另一方面提高了洗衣機(jī)的可靠性、精確性和自動化程度[1]。本設(shè)計以AT89S52為處理器,同時結(jié)合按鍵電路、進(jìn)排水和指示電路、L298驅(qū)動電機(jī)電路及其他指示電路構(gòu)成洗衣機(jī)控制系統(tǒng)的硬件電路部分,通過C語言編程和KEIL編譯實現(xiàn)軟件部分,最后利用PROTUES實現(xiàn)洗衣機(jī)的自動化功能。
洗衣機(jī)洗衣過程包括進(jìn)水—洗—漂—排—脫。對于這個過程按照需求設(shè)計了四種模式,在選擇洗時洗指示燈閃爍,閃爍期間可以選擇增強(qiáng)洗和柔洗模式。
1.正常洗模式:(進(jìn)水—洗衣—排水)—(進(jìn)水—漂洗—排水)—脫水。(進(jìn)水—洗衣—排水)這個過程設(shè)置重復(fù)六次,(進(jìn)水—漂洗—排水)過程設(shè)置四次,脫水設(shè)置五分鐘。
2.節(jié)能洗模式:(進(jìn)水—洗衣—排水)—(進(jìn)水—漂洗—排水)—脫水。(進(jìn)水—洗衣—排水)這個過程設(shè)置重復(fù)三次,(進(jìn)水—漂洗—排水)過程設(shè)置兩次,脫水設(shè)置三分鐘。
3.獨(dú)洗模式:只進(jìn)行進(jìn)水—洗衣—排水這一過程,一次獨(dú)洗對進(jìn)水—洗衣—排水設(shè)置重復(fù)兩次。
4.排脫水模式:只進(jìn)行排水—脫水或脫水工作,設(shè)置三分鐘。
增強(qiáng)洗模式是指洗衣機(jī)洗滌時電機(jī)轉(zhuǎn)速較快,柔洗模式是指洗衣機(jī)洗滌時電機(jī)轉(zhuǎn)速較慢。
1.利用按鍵設(shè)置正常洗模式、節(jié)能洗模式、獨(dú)洗模式、排脫水模式、增強(qiáng)洗模式、柔洗模式。
2.利用按鍵控制洗衣機(jī)的開啟工作和暫時停止工作,洗衣機(jī)一旦開啟工作即按照程序運(yùn)行直至脫水完成自動停止。
3.洗衣機(jī)不特別設(shè)置時默認(rèn)為正常洗的增強(qiáng)洗模式。
4.在進(jìn)水和脫水過程中,對應(yīng)指示燈亮,繼電器吸合。
洗衣機(jī)控制整體框圖包括AT89S52單片機(jī)、單片機(jī)最小系統(tǒng)電路、按鍵控制電路、指示燈電路、結(jié)束提示音電路、電機(jī)驅(qū)動和電機(jī)等七個部分。其中,單片機(jī)最小系統(tǒng)是保證單片機(jī)正常運(yùn)轉(zhuǎn)的電路,按鍵控制輸入電路是提供洗衣機(jī)使用者選擇洗衣模式和開啟洗衣機(jī)的電路;指示燈電路是指示目前洗衣機(jī)的工作狀態(tài);故障/結(jié)束提示音電路具有洗衣機(jī)出現(xiàn)故障或洗衣結(jié)束給使用者發(fā)出信號的作用;驅(qū)動電路實現(xiàn)對電機(jī)的運(yùn)轉(zhuǎn)驅(qū)動。系統(tǒng)整體運(yùn)行狀況為:在單片機(jī)正常運(yùn)轉(zhuǎn)情況下,通過按鍵觸發(fā)洗衣機(jī)各個運(yùn)行程序,通過程序運(yùn)行實現(xiàn)對電機(jī)的驅(qū)動和各顯示模塊的顯示[2]。
圖1 洗衣機(jī)控制整體設(shè)計
單片機(jī)最小系統(tǒng)是保證單片機(jī)正常運(yùn)行基本電路,包括電源電路、復(fù)位電路、晶振電路、單片機(jī)。
AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,擁有靈巧的8位CPU和系統(tǒng)可編程Flash,片上Flash允許程序存儲器在系統(tǒng)內(nèi)編程,因此該單片機(jī)價格便宜且功能強(qiáng)大,可以滿足洗衣機(jī)控制系統(tǒng)的使用。
當(dāng)單片機(jī)控制電路出現(xiàn)故障問題時候,首先要進(jìn)行復(fù)位,恢復(fù)初始狀態(tài)后再重新執(zhí)行程序。由此可見,復(fù)位的功能好壞直接關(guān)系單片機(jī)控制系統(tǒng)的穩(wěn)定性和可靠性。采用按鈕上電復(fù)位是解決復(fù)位電路的有效手段,RESET端經(jīng)過電阻接地,同時經(jīng)過電容接電源,在電容兩端并聯(lián)按鈕,通過按鈕通斷可實現(xiàn)RESET端持續(xù)高電平,促使單片機(jī)系統(tǒng)復(fù)位。
晶振電路好似我們的鐘表時間,人們按照時間才能有序地工作和生活,晶振電路能夠產(chǎn)生時鐘信號,時鐘信號就是給單片機(jī)運(yùn)行提供了時間概念,這樣單片機(jī)才能按照時間有序工作。洗衣機(jī)控制系統(tǒng)中需要對洗、漂、脫進(jìn)行定時,不可避免地用到AT89S52內(nèi)置的兩個16位的T0和T1定時/計 數(shù)器。晶振頻率設(shè)置為24MHZ可以實現(xiàn)精確定時,晶振電路采用普通電容,晶振兩端均接30PF普通電容,兩普通電容一端接為一點(diǎn)連接到地端。
圖2 單片機(jī)最小系統(tǒng)電路圖
洗滌模式鍵接到P3.0管腳,實現(xiàn)正常洗模式、節(jié)能洗模式、獨(dú)洗模式、排脫水模式的選擇,開機(jī)默認(rèn)正常洗模式[3],按鍵按一下變成節(jié)能洗模式,繼續(xù)按鍵變成獨(dú)洗模式,以此類推。同時當(dāng)進(jìn)入某種模式時,指示燈閃爍等待,等待選擇增強(qiáng)洗和柔洗模式,增強(qiáng)和柔洗鍵接P3.1管腳實現(xiàn)增強(qiáng)洗和柔洗的選擇,本設(shè)計默認(rèn)開機(jī)增強(qiáng)洗模式。模式選擇完成后,開啟/暫停/結(jié)束提示按鈕與INT0口連接,開啟/暫停/結(jié)束提示按鍵即可完成自動洗衣過程,此按鍵可以實現(xiàn)運(yùn)行的暫停作業(yè)和結(jié)束提示。水位鍵僅是模擬設(shè)置洗衣機(jī)正常運(yùn)轉(zhuǎn)水位,否則需要進(jìn)水作業(yè)。機(jī)蓋鍵模擬機(jī)蓋打開時刻不允許洗衣機(jī)運(yùn)行,只有機(jī)蓋閉合電機(jī)才能運(yùn)轉(zhuǎn),如圖3所示。
指示燈電路能夠指示洗衣機(jī)運(yùn)行中洗滌模式、增強(qiáng)模式和柔洗模式,同時指示洗衣機(jī)是洗、漂、脫哪種工作狀態(tài),九個二極管陽極通過220歐姆電阻接電源,接220歐姆電阻主要是限流作用,陰極分別與單片機(jī)的P1.0—P1.7和P2.0相連,P1.0—P1.3指示洗滌模式鍵,P1.4—P1.5指示增強(qiáng)洗還是柔洗模式,P1.6、P1.7和P2.0指示洗、漂、脫工作狀態(tài),如圖4所示。
圖3 按鍵控制輸入電路
圖4 主要指示燈電路
當(dāng)洗衣機(jī)運(yùn)行程序出現(xiàn)故障后,通過P2.1口輸出電平控制蜂鳴器發(fā)出提示音,因為單片機(jī)輸出信號較為微弱,不足以讓蜂鳴器正常工作,故利用晶體管進(jìn)行驅(qū)動,通過驅(qū)動電路的驅(qū)動可正常發(fā)出故障的提示音,如圖5所示。
進(jìn)水排水電路控制是指對進(jìn)水閥和排水閥的開和關(guān)進(jìn)行控制,其實質(zhì)是單片機(jī)控制信號對繼電器的吸合和斷開進(jìn)行控制[4]。電路如圖6所示。單片機(jī)P2.2和P2.3管腳是單片機(jī)控制進(jìn)排水指令端。當(dāng)需要進(jìn)水時,單片機(jī)P2.2管腳控制進(jìn)水,輸出低電平使其繼電器吸合允許進(jìn)水,否則不允許進(jìn)水;同時P2.3管腳控制排水,輸出高電平使其繼電器斷開不允許排水,否則允許排水。這樣處于進(jìn)水狀態(tài)只需要P2.2 P2.3=01,洗滌不進(jìn)水不排水時候P2.2 P2.3=11,需要排水時,P2.2 P2.3=10,這樣單片機(jī)只需要通過程序在P2.2 P2.3管腳輸出相應(yīng)電平即可實現(xiàn)進(jìn)水、排水、不進(jìn)水不排水等狀態(tài)。這些狀態(tài)也可以通過指示二極管是否變亮給人們以提示,如圖6所示。
圖5 故障提示音電路
圖6 進(jìn)排水電路
電機(jī)驅(qū)動電路采用無噪聲、無電磁干擾的雙向晶閘管作為控制元件,控制電磁閥和電機(jī)。電路主要包含了NPN型晶體管、G2RL-14B-CF-DC5型繼電器和L298芯片。當(dāng)L298芯片的VCC端、ENA端和SENSA端接5V電 源,GND端、ENB端、SENSB端、VS端接低電平或接地,L298可以正常使用其功能,芯片IN1—IN4為輸入端,OUT1—OUT4為輸出端,驅(qū)動本電機(jī)只需OUT1和OUT2兩端,輸入端也只需要IN1、IN2兩端,根據(jù)其功能表即可實現(xiàn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止。功能表如表1所示。
單片機(jī)通過P2.4管腳、P2.5管腳輸出電平,通過晶體管控制繼電器工作,具體電路連接為:P2.4連接晶體管基極,晶體管發(fā)射機(jī)接地,晶體管集電極接G2RL-14B-CF-DC5型繼電器一端,繼電器另一端接電源,繼電器輸出連接到L298芯片的IN1端;P2.5連接晶體管基極,晶體管發(fā)射機(jī)接地,晶體管集電極接G2RL-14B-CF-DC5型繼電器一端,繼電器另一端接電源,繼電器輸出連接到L298芯片的IN2端。單片機(jī)程序運(yùn)行使P2.4管腳輸出高電平時,通過晶體管控制繼電器工作輸出低電平,低電平接入IN1管腳,單片機(jī)程序運(yùn)行使P2.5管腳輸出高電平時,通過晶體管控制繼電器工作輸出低電平,低電平接入IN2管腳,這樣就有當(dāng)P2.4P2.5=10,則IN1IN2=01,逆時針旋轉(zhuǎn);當(dāng)P2.4P2.5=01,則IN1IN2=10,順時針旋轉(zhuǎn),如圖7所示。
表1 L298芯片功能表
圖7 電機(jī)驅(qū)動電路
洗衣機(jī)軟件部分,整體三個部分,即按鍵掃描輸入部分、程序運(yùn)行控制部分、結(jié)束提示部分。最重要的是洗衣機(jī)洗衣各運(yùn)行模塊依靠單片機(jī)自身進(jìn)行程序運(yùn)行控制,對于運(yùn)行程序控制部分主要包含判斷程序部分和具體洗衣程序部分,判斷部分主要包括機(jī)蓋關(guān)閉的判斷、具體鍵盤輸入人為需求判斷,具體洗衣部分程序包括:正常增強(qiáng)洗程序、正常柔洗程序、經(jīng)濟(jì)增強(qiáng)洗程序、經(jīng)濟(jì)柔洗程序、獨(dú)洗增強(qiáng)洗程序、獨(dú)洗柔洗程序、強(qiáng)脫排水程序、弱脫排水程序。洗衣機(jī)根據(jù)人為需求的按鍵指令,在機(jī)蓋關(guān)閉情況下,運(yùn)行設(shè)定模式的洗衣過程,其主程序流程圖如圖8所示。
Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件,除具有強(qiáng)大的EDA功能以外,Proteus還具有完善的、優(yōu)秀的仿真功能,因為其設(shè)置了功能強(qiáng)大且使用方便的外圍器件,特別擅長諸如AT89系列的單片機(jī)的仿真,是世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺[5],Proteus可以直接把編譯好的程序直接加載到原理圖虛擬單片機(jī)里,通過運(yùn)行顯示進(jìn)行驗證設(shè)計單片機(jī)系統(tǒng)的功能。其精度和可靠性與實體電路相當(dāng)。
圖8 主程序流程圖
在Proteus中找到單片機(jī),同時找到電機(jī)、電容、電阻等外圍元器件,按照硬件電路設(shè)計進(jìn)行連接電路,連接好電路以后修改各個電子元器件的參數(shù),這樣就做出了洗衣機(jī)控制系統(tǒng)的原理圖;利用C語言編號源程序,把源程序通過keil uvision編譯軟件進(jìn)行編譯生成目標(biāo)文件(擴(kuò)展名為.HEX),把編譯好的程序直接加載到原理圖虛擬單片機(jī)里,點(diǎn)擊運(yùn)行按鈕即可實現(xiàn)仿真[6]。
系統(tǒng)開啟后,正常洗指示燈、增強(qiáng)洗指示燈、洗滌狀態(tài)燈亮紅色,機(jī)器處于洗滌期間正常洗模式中的增強(qiáng)洗,電機(jī)運(yùn)轉(zhuǎn)速度處于每分鐘一百轉(zhuǎn)左右這個較高轉(zhuǎn)速。漂狀態(tài)亮黃燈和脫狀態(tài)亮綠燈指示洗滌后將進(jìn)入漂脫狀態(tài),直至提示音結(jié)束。如圖9所示。
圖9 仿真結(jié)果
按照洗衣機(jī)系統(tǒng)性能自動化需求,分析性能指標(biāo),首先設(shè)計出洗衣機(jī)系統(tǒng)總體架構(gòu),按照洗衣機(jī)總體架構(gòu),分別設(shè)計出最小系統(tǒng)電路、按鍵控制輸入電路、指示燈電路、故障/結(jié)束提示音電路、進(jìn)排水電路、電機(jī)及電機(jī)驅(qū)動電路等組成控制系統(tǒng)的硬件電路部分,結(jié)合硬件電路設(shè)計并編寫出系統(tǒng)軟件部分,然后利用keil uvision編譯軟件進(jìn)行編譯生成洗衣機(jī)控制系統(tǒng)的目標(biāo)文件,利用Proteus進(jìn)行電路仿真出洗衣機(jī)性能自動化需求,從而實現(xiàn)洗衣機(jī)控制系統(tǒng)的設(shè)計和功能驗證,盡管仿真和實體稍有不同,但是只有設(shè)計仿真正確了才能更好地進(jìn)行實體制造,這也一定程度上提高了實體制造的成功率,對于單片機(jī)控制系統(tǒng)設(shè)計具有借鑒作用。