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





