單片機(jī)又稱微控制器,或稱嵌入式控制器。而現(xiàn)在的智能家電無一例外是采用微控制器來實現(xiàn)的,所以家用電器是單片機(jī)應(yīng)用最多的領(lǐng)域之一。它是家用電器實現(xiàn)智能化的心臟和大腦。
由于家用電器體積小,故要求其控制器體積更小以便能嵌入其結(jié)構(gòu)之中。而家用電器品種多,功能差異也大,所以又要求其控制器有靈活的控制功能。單片機(jī)以微小的體積和編程的靈活性而產(chǎn)生多種控制功能,完全可以滿足家用電器的需求。
AT89C2051單片機(jī)是ATMEL公司8位單片機(jī)系列產(chǎn)品之一,是一種20引腳雙列直插式芯片。它內(nèi)含2KB可反復(fù)燒錄的FLASH存儲器,RAM字節(jié)也有128個,15個I/O口,5個中斷,2個定時,已經(jīng)可以滿足程序的需要,指令也和51系列兼容,基于上述特點,選擇它來設(shè)計一臺智能洗衣機(jī),完全可以達(dá)到以下的功能:
1、洗衣工作狀態(tài)功能:強(qiáng)、弱洗滌;
2、洗衣程序功能:含4種獨(dú)立程序,即標(biāo)準(zhǔn)洗衣程序、經(jīng)濟(jì)洗衣、單次洗衣、脫水功能;
3、特殊功能:故障診斷、安全保護(hù)、防振、暫停、間歇工作、聲光顯示功能。
一、洗衣機(jī)的控制功能的要求
洗衣機(jī)要完成洗衣工作,除了對一般洗衣過程的人工工作及效能進(jìn)行模擬之外,還要根據(jù)洗衣機(jī)的機(jī)械電子性質(zhì)進(jìn)行有關(guān)控制和檢測。
對于一臺套桶式單缸波輪全自動洗衣機(jī)而言,首先要求能完成洗衣功能;同時還要根據(jù)用戶的不同要求設(shè)置幾種不同的洗衣程序;還要考慮水流的情況決定洗滌的弱強(qiáng)情況;另外,還要對洗衣過程出現(xiàn)的故障進(jìn)行診斷;保證高速運(yùn)轉(zhuǎn)是脫水的安全性等。所以對全自動洗衣機(jī),一般要求具有如下基本功能。
(1)弱強(qiáng)洗滌功能。要求強(qiáng)洗時正 反轉(zhuǎn)驅(qū)動時間各為4S,間歇時間為1S;弱洗時正 反轉(zhuǎn)驅(qū)動時間各為3S,間歇時間為2S。
(2)4種洗衣工作程序,即標(biāo)準(zhǔn)程序 經(jīng)濟(jì)程序 單獨(dú)程序和排水程序。標(biāo)準(zhǔn)程序是進(jìn)水—洗滌—漂洗—洗滌—;脫水,如此循環(huán)3次,每循環(huán)一次洗滌或漂洗環(huán)節(jié)時間比上一循環(huán)同一環(huán)節(jié)時間減少2min,具體是第一循環(huán)為洗滌,時間為6min,第二第三次循環(huán)為漂洗,時間分別為4min和2min.排水時間采用動態(tài)時間法確定,脫水時間為2 min.經(jīng)濟(jì)程序與標(biāo)準(zhǔn)程序一樣,只是循環(huán)次數(shù)為二次。單獨(dú)程序是進(jìn)水—洗滌(6 min)—結(jié)束(留水不排不脫)。排水程序是排水—脫水—結(jié)束,時間確定與上述程序相應(yīng)環(huán)節(jié)相同。
(3)進(jìn) 排水系統(tǒng)故障自動診斷功能。洗衣機(jī)在進(jìn)水或排水過程中,若在一定的時間范圍內(nèi)進(jìn)水或排水未能達(dá)到預(yù)定的水位,就說明進(jìn) 排水系統(tǒng)有故障,此故障由控制系統(tǒng)測知并通過警告程序發(fā)出警告信號,提醒操作者進(jìn)行人工排除。
(4)脫水期間安全保護(hù)和防振動功能。洗衣機(jī)脫水期間,若打開機(jī)蓋時,洗衣機(jī)就會自動停止脫水操作。脫水期間,如果出現(xiàn)衣物纏繞引起脫水桶重心偏移而不平衡,洗衣機(jī)也會自動停止脫水,以免振動過大,待人工處理后恢復(fù)工作。
(5)間歇驅(qū)動方式。脫水期間采取間歇驅(qū)動方式,以便節(jié)能。本系統(tǒng)要求驅(qū)動5s,間歇2s,間歇期間靠慣性力使脫水桶保持高速旋轉(zhuǎn)。
(6)暫停功能 。不管洗衣機(jī)工作在什么狀態(tài),當(dāng)按下暫停鍵時,洗衣機(jī)需暫停工作,待啟動鍵按下后洗衣機(jī)又能按原來所選擇的工作方式繼續(xù)工作。
(7)聲光顯示功能。洗衣機(jī)各種工作方式的選擇和各種工作狀態(tài)均有聲 光提示和顯示。
7.1.2 控制邏輯電路
全自動洗衣機(jī)的控制邏輯電路如圖7-1所示。它由單片機(jī)AT89C2051為核心加上有關(guān)集成電路及元器件組成。從圖中看出,這個全自動洗衣機(jī)控制邏輯電路相當(dāng)簡單。
全自動洗衣機(jī)的工作部件有3個,這就是電機(jī).進(jìn)水閥和排水閥。電機(jī)是洗衣機(jī)的動力源,它的轉(zhuǎn)動帶動洗衣桶和波輪的轉(zhuǎn)動,從而時現(xiàn)對衣物的洗滌。進(jìn)水閥用于控制洗衣機(jī)的進(jìn)水量。排水閥用于控制排水。電機(jī)在脫水時還高速旋轉(zhuǎn)帶動衣物脫水。
電機(jī)的狀態(tài)有3種,即正轉(zhuǎn).反轉(zhuǎn)及停止?fàn)顟B(tài)。電機(jī)一般工作在這三種狀態(tài)的不斷轉(zhuǎn)換之中,從而實現(xiàn)洗滌。但在脫水時,只工作在正轉(zhuǎn)高速狀態(tài)。
進(jìn)水閥和派排水閥則只有開.關(guān)這兩種狀態(tài)。
從圖7-1的控制電路中可以看出:AT89C2051的P1端口中的P1.0~P1.3共四條I/O線通過4塊SP111O新型固態(tài)繼電器分別直接驅(qū)動洗衣機(jī)的這些工作部件。SP1110是一種固態(tài)繼電器,內(nèi)有發(fā)光二極管及光觸發(fā)雙向可控硅,10~50mA輸入電流即可使雙向可控硅完全導(dǎo)通,輸出端通態(tài)電流為3A(平均值),浪通電流15A(不重復(fù))。之所以選用這個器件,是因為它一方面可使電路進(jìn)一部簡化,另一方面還可使強(qiáng).弱兩類電完全隔離,保證主板的安全。
74SO5為六反相器,用其作為中間反相器,其中的4個反相器可分別驅(qū)動4個SP1110繼電器,剩余兩個反鄉(xiāng)區(qū),剩余兩反鄉(xiāng)器 用于驅(qū)動LED5和LED6。
74LS139為雙2-4線譯碼器,選用它可解決CPU I/O線數(shù)量的不足。從控制要求可知,洗衣機(jī)有4種不同的顯示來加以區(qū)別。74LSW139雙2-4線譯碼器僅占用CPU的P3.0和P3.1兩口線即可提供4種不同顯示的驅(qū)動, 其邏輯關(guān)系是:P3.0,P3.1為“11”時LED1亮,指示標(biāo)準(zhǔn)程序;為“10”時LED2亮,指示經(jīng)濟(jì)程序;為“01”時LED3亮,指示單獨(dú)程序;為“00”時LED4亮,指示排水程序。
洗衣機(jī)的暫停功能和安全保護(hù)及防震動功能采用中斷處理方式。這兩個中斷分別對應(yīng)于CPU的外部中斷“0”和外部中斷“1”。中斷信號通過TC4013BP雙D觸發(fā)器 的兩個Q/分別加到CPUP3.2和P3.3口線由觸發(fā)器鎖存直到CPU響應(yīng)中斷為止。開蓋(安全保護(hù))或不平衡(防振動)中斷信號通過由BG1,BG2組成的反相器送至TC4013BP的11腳CP端,經(jīng)觸發(fā)器的第12腳(Q/)加到P3.3。本系統(tǒng)對開蓋和不平衡中斷采取相同的處理方法,因此,共用外部中斷“1”。
為了充分利用(CPU的I/O口線,P3.4和P3.5采用分時復(fù)用技術(shù),沒線具有兩個功能。在洗衣機(jī)未進(jìn)入工作狀態(tài)或洗衣機(jī)處于暫停狀態(tài)期間,P3.4為輸入線,用于監(jiān)測啟動鍵的狀態(tài),當(dāng)啟動鍵按下時,洗衣機(jī)即進(jìn)入工作狀態(tài)或從暫停狀態(tài)恢復(fù)到原來的工作狀態(tài);在洗衣機(jī)暫停中斷響應(yīng)期間,P3.4為輸出線,用于撤消暫停中斷請求。在洗衣機(jī)進(jìn)水或排水期間,P3.5被用作輸入線,用于監(jiān)測水位開關(guān)狀態(tài),為CPU提供洗衣機(jī)的水位信息;在洗衣機(jī)高速脫水期間,當(dāng)發(fā)生開蓋和不平衡中斷時,.P3.5為輸出線,用于撤消中斷請求信號。CPU的P3.7線用于驅(qū)動蜂鳴器發(fā)出各種告警信號。4 5腳外接6Hz的晶振。1腳通過10uF電容接到+5v電源,可實現(xiàn)上電自動復(fù)位。K7為強(qiáng)制復(fù)位賤。洗衣機(jī)的強(qiáng).弱洗可通過K1賤進(jìn)行循環(huán)選擇。K1還具有第二功能,幾5當(dāng)洗衣機(jī)發(fā)生故障轉(zhuǎn)入報警程序后,按下K1賤可使洗衣機(jī)退出報警狀態(tài)回到處始待命狀態(tài)。洗衣機(jī)工作程序可通過K2鍵循環(huán)選擇。洗衣機(jī)的工作狀態(tài)可通過LED7~LED9進(jìn)行顯示。脫水期間系統(tǒng)在響應(yīng)開蓋或不平衡終止后,CPU采取軟件查詢的方式方式通過P1.6線對蓋開關(guān)進(jìn)行監(jiān)測以確定洗衣機(jī)是否繼續(xù)進(jìn)行脫水操作。
7.1.3 工作控制程序
由AT89C2051控制的全自動洗衣機(jī)的工作程序框圖如圖7-2所示。從程序框圖可以看出,這個控制程序也較為簡單,所以,占用的存儲器容量不大。
從程序框圖中可以看出程序的基本流程,系統(tǒng)上電復(fù)位后,首先進(jìn)行初始話,默認(rèn)標(biāo)準(zhǔn)洗衣工作程序和強(qiáng)洗方式,然后掃描K1,K2和啟動鍵K4,這時洗衣機(jī)處于待命狀態(tài)。通過K1,K2可分別修改強(qiáng)/弱洗方式和洗衣工作程序。掃描過程中當(dāng)發(fā)現(xiàn)啟動鍵K4按下時,洗衣機(jī)即從待命狀態(tài)進(jìn)入工作狀態(tài)。
洗衣機(jī)進(jìn)入工作程序后,系統(tǒng)首先根據(jù)RAM中57H單元的特征字判斷洗衣機(jī)的洗衣工作程序,若特征字為(01H為單獨(dú)程序,02H為經(jīng)濟(jì)程序。進(jìn)水操作P1.0置位驅(qū)動進(jìn)水閥開啟。進(jìn)水期間系統(tǒng)不斷檢測水位開關(guān)K5的狀態(tài),當(dāng)檢測到K5閉合時,說明進(jìn)水以達(dá)到預(yù)定水位。若在規(guī)定的4min極限內(nèi)為檢測到K5閉合,說明進(jìn)水系統(tǒng)發(fā)生故障,此時洗衣機(jī)退出工作狀態(tài),程序跳轉(zhuǎn)到FW為標(biāo)號地址的故障處理程序段進(jìn)行報警,其處理方法是:將P1.0~P1.3位全部置“0”,中止洗衣機(jī)的各中操作,然后洗衣機(jī)以響1s`停2s的規(guī)律不斷地發(fā)出報警信號,直到人工干預(yù)即按下K1鍵后為止(按下K1后,程序跳轉(zhuǎn)回主程起始地址,洗衣機(jī)又回到待命的初始狀態(tài)0。
在正常情況下,進(jìn)水期間檢測到K5閉合時,說明進(jìn)水以達(dá)預(yù)定水位,這時洗衣機(jī)進(jìn)入下一程序即洗滌工作。因為電機(jī)在洗滌或漂洗工作時有正`反轉(zhuǎn)和間歇三種狀態(tài),所以用P1.2,P1.3兩線才能實現(xiàn)對惦記這三種狀態(tài)的控制。其邏輯關(guān)系是:P1.3,P1.2為“00”時電機(jī)間歇,為“01”時正轉(zhuǎn),為“10”時反轉(zhuǎn)。洗滌時間為6min.洗滌結(jié)束后,系統(tǒng)通過一條判斷指令,判斷是否排水。由控制要求可知,若不排水則為單獨(dú)程序,這時程序直接跳到結(jié)束,否則進(jìn)入排水進(jìn)程。
排水時間采用動態(tài)時間法確定,其原理是;根據(jù)常用的 空氣壓力水位開關(guān)的特性(即在進(jìn)水中當(dāng)水位達(dá)到預(yù)定水位時水位開關(guān)就接通;在排水中當(dāng)桶內(nèi)水位下降11cm 后,水位開關(guān)才斷開),在排水過程中若從開始到開關(guān)斷開所需時間為D,則整個排水所用時間為2D+50S(經(jīng)驗值)。若在規(guī)定的1min極限時間內(nèi),系統(tǒng)檢測不到水位開關(guān)K5斷開,說明排水系統(tǒng)有故障,程序跳轉(zhuǎn)至故障處理程序段發(fā)出警告信號,其處理程序段發(fā)出告警信號,其處理方法與進(jìn)水系統(tǒng)故障相同。
排水結(jié)束后,洗衣機(jī)接著執(zhí)行脫水操作,P1.1維持置位狀態(tài),保持排水發(fā)開啟,P1.2按5s置位`2s 清0的規(guī)律連續(xù)驅(qū)動電機(jī)縞素旋轉(zhuǎn)2 民,然后脫水結(jié)束。脫水結(jié)束后系統(tǒng)通過一條判斷指令判斷整個洗衣工作是否結(jié)束。其原理:是洗衣機(jī)在每次洗滌或漂洗工作環(huán)節(jié)結(jié)束之后,洗衣工作程序標(biāo)志57H單元減1一次,在脫水脫水工作結(jié)束,洗衣機(jī)報警三聲后。即返回初始待命狀態(tài)。若洗衣工作尚未結(jié)束,洗衣機(jī)再次執(zhí)行進(jìn)水操作,進(jìn)入下一循環(huán)。以上是洗衣機(jī)工作的大概流程,工作過程中所許的各種計時,均由定時器“0”定時中斷服務(wù)程序提供。定時器“0”設(shè)置為定時方式1,每100 ms產(chǎn)生一次中斷,因此,TL0,TH0裝入的常數(shù)分別為0B0H,3CH。定時器“0”中斷服務(wù)子程序入口地址防甾BH單元中,洗衣機(jī)進(jìn)入工作狀態(tài)后定時器幾5被啟動/每中斷一次,70H單元累加1一次,累加到0AH時,為1s,因此71H單元累加1一次,該單元累加至3CH時,為1 min,這時72H單元累加1一次。系統(tǒng)根據(jù)這幾個內(nèi)存單元中的數(shù)據(jù)就可以確定洗衣機(jī)工作各個進(jìn)程的時間。在暫停中斷以及開蓋或不平衡中斷響應(yīng)期間,定時中斷被禁止,計時各單元內(nèi)容不變。
洗衣機(jī)的暫停中斷在洗衣機(jī)進(jìn)入工作狀態(tài)后,中斷請求即被設(shè)置為允許,中斷請求有效;而開蓋或不平衡中斷只有在洗衣機(jī)進(jìn)入高速脫水的工作進(jìn)程時,中斷請求才被設(shè)置為允許,請求信號有效。這兩個中斷服務(wù)程序比較簡單。
所以套桶式電腦全自動洗衣機(jī)的工作原理基本是一樣的。然而,不同的廠家不同型號的這類洗衣機(jī)其電器控制系統(tǒng)電路的組成和原理則有所區(qū)別。這里所介紹的電路有別于以往的這類電路,是AT89C2051單片機(jī)應(yīng)用的一個實例。
參考鏈接:http://www.picavr.com/news/2008-07/7431.htm





