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