基于單片機(jī)的全自動(dòng)洗衣機(jī) 控制系統(tǒng)設(shè)計(jì)
編號(hào) XXXXX 畢業(yè)論文 2021 屆本科題 目: 基于單片機(jī)的全自動(dòng)洗衣機(jī) 控制系統(tǒng)設(shè)計(jì) 學(xué) 院: 物理與機(jī)電工程學(xué)院 專(zhuān) 業(yè): 電氣工程及其自動(dòng)化 作者姓名: XXX 指導(dǎo)教師: XXX 職稱(chēng): XXX 完成日期: 2021 年 5 月 5 日二一二 年 五 月目 錄基于單片機(jī)的全自動(dòng)洗衣機(jī)控制系統(tǒng)5第一章 功能設(shè)計(jì)61.1 程控器功能設(shè)計(jì)及說(shuō)明61.1.1 六個(gè)全自動(dòng)程序功能設(shè)計(jì)61.1.2 預(yù)約功能設(shè)計(jì)6.3 不平衡調(diào)整功能設(shè)計(jì)61.1.4 自動(dòng)斷電功能設(shè)計(jì)71.1.5 運(yùn)動(dòng)浸泡功能設(shè)計(jì)71.1.6 故障報(bào)警功能設(shè)計(jì)71.1.7 桶潔凈功能設(shè)計(jì)71.1.8 童鎖功能設(shè)計(jì)71.1.9 冷、熱進(jìn)水功能設(shè)計(jì)71.2 面板簡(jiǎn)圖8第二章 設(shè)計(jì)方案選擇和確定9目前主要應(yīng)用的單片機(jī)機(jī)型9負(fù)載控制電路的選擇9第三章 系統(tǒng)硬件電路的設(shè)計(jì)103.1 硬件結(jié)構(gòu)概述及組成框圖103.1.1 概述103.1.2 組成框圖103.2 微處理器103.2.1 TMP86C846N的封裝及引腳功能103.3 雙向晶閘管控制驅(qū)動(dòng)電路設(shè)計(jì)133.3.1 雙向晶閘管的結(jié)構(gòu)及工作原理13雙向晶閘管控制驅(qū)動(dòng)電路原理圖及工作原理14蜂鳴器153.5 水位傳感器153.6 LED和數(shù)碼管顯示及按鍵電路16第四章系統(tǒng)軟件設(shè)計(jì)194.1 軟件編程思路194.2 各模塊程序流程圖194.2.1 監(jiān)控程序模塊19主洗程序模塊214.2.3 漂洗程序模塊224.2.4 脫水程序模塊23總 結(jié)24參考文獻(xiàn)25致 謝26附 錄27基于單片機(jī)的全自動(dòng)洗衣機(jī)控制系統(tǒng)設(shè)計(jì)摘 要:全自動(dòng)洗衣機(jī)電腦程控器由東芝單片機(jī)控制。由于其具有內(nèi)存容量大、輸入輸出口多、I/O的驅(qū)動(dòng)能力強(qiáng)、指令系統(tǒng)豐富等特點(diǎn),將其應(yīng)用在家用電器控制中,可大大簡(jiǎn)化系統(tǒng)的硬件電路,使系統(tǒng)具有更高的可靠性。采用雙向晶閘管實(shí)現(xiàn)無(wú)觸點(diǎn)控制電機(jī)和電磁閥,利用諧振式水位傳感器檢測(cè)水位,發(fā)光二極管及數(shù)碼管顯示,按鍵掃描共用I/O端口,單片機(jī)電源引腳及直流電源處都有容阻吸收和電容濾波電路實(shí)現(xiàn)硬件濾波。軟件編程實(shí)現(xiàn)多功能、多程序方便用戶(hù)選擇和出廠調(diào)試。關(guān)鍵字:東芝;單片機(jī);雙向晶閘管;軟件編程;Abstract:automatic washing machine with a computer programmed by Toshiba SCM control. Because of its large capacity memory, input and output port, I / O-driven capability and Instruction System features rich, In its application to control household appliances, greatly simplify the hardware circuit, the system has higher reliability. Two-way, non-contact thyristor controlled motors and solenoids, use of resonant water level sensors, LED and LED display, keypad scanning shared I / O ports, Power MCU pins and DC Power Department has resistance capacity to absorb and filter capacitor filter circuit hardware. Software programming multi-function, multi-user-friendly procedures for the selection and testing manufactured.Keywords:Toshiba;SCM control;Two-way; Software programming第一章 功能設(shè)計(jì)洗衣機(jī)是一種在家庭中不可缺少的家用電器,開(kāi)展非常快,全自動(dòng)式洗衣機(jī)因使用方便得到大家的青睞,全自動(dòng)即進(jìn)水、洗滌、漂洗、甩干等一系列過(guò)程自動(dòng)完成,控制器通常設(shè)有幾種洗滌程序,對(duì)不同的衣物可供用戶(hù)選擇。變頻控制依其高性能、節(jié)能等優(yōu)點(diǎn)在洗衣機(jī)的控制中得到廣泛應(yīng)用,而單片機(jī)在洗衣機(jī)中的控制做用是決定性作用的。1.1 程控器功能設(shè)計(jì)及說(shuō)明參考數(shù)據(jù):1最高工作電壓為2最低工作電壓與時(shí)鐘頻率有關(guān):16MHZ時(shí)為,8MHZ時(shí)為3在該洗衣機(jī)控制電路中需要+5V直流電供應(yīng)單片機(jī)及顯示局部,+12V直流電源驅(qū)動(dòng)繼電器和蜂鳴器,220V交流電源驅(qū)動(dòng)電機(jī)和各種交流電磁閥。4洗衣機(jī)的電源電壓為220伏特,50赫茲。1 六個(gè)全自動(dòng)程序功能設(shè)計(jì)六個(gè)全自動(dòng)程序,各程序洗衣特點(diǎn)如表1-1所示:表1-1 六種全自動(dòng)程序洗衣特點(diǎn)程序水流及特點(diǎn)缺省時(shí)間標(biāo)準(zhǔn)洗滌12分鐘,漂洗2次,脫水6分鐘,洗凈能力強(qiáng)。43分鐘快洗洗滌分鐘,漂洗1次并噴淋,脫水分鐘,洗凈能力較輕。10分鐘纖細(xì)洗滌10分鐘,漂洗2次,脫水2分鐘,適合洗滌纖細(xì)及高檔衣物。33分鐘大物洗滌15分鐘,漂洗2次,脫水7分鐘,洗滌能力特別強(qiáng)。47分鐘防皺洗滌8分,漂洗2次,免脫水(僅排水),洗滌怕脫水時(shí)皺折衣物。27分鐘羊毛洗滌15分鐘,漂洗2次,免脫水(僅排水),適合洗滌羊毛衫。34分鐘 預(yù)約功能設(shè)計(jì)按動(dòng)預(yù)約鍵,數(shù)碼管閃爍顯示預(yù)約洗衣開(kāi)始時(shí)間進(jìn)入預(yù)約設(shè)定狀態(tài),可在48小時(shí)之間選擇。每按一次預(yù)約鍵,預(yù)約時(shí)間增加1小時(shí)。到48小時(shí)后再按一次回到起始狀態(tài)。按住預(yù)約鍵不放,時(shí)間自動(dòng)連續(xù)增加,可一次設(shè)置48小時(shí)。在預(yù)約啟動(dòng)后假設(shè)開(kāi)蓋,那么程序報(bào)警提示。 不平衡調(diào)整功能設(shè)計(jì).1 不平衡調(diào)整的判斷在平安開(kāi)關(guān)接通的狀態(tài)下,假設(shè)間歇脫水或脫水過(guò)程中,出現(xiàn)45±5200±10ms的瞬間斷開(kāi),那么進(jìn)入不平衡調(diào)整狀態(tài)。斷開(kāi)超過(guò)200ms,判斷為開(kāi)蓋。斷開(kāi)缺乏40ms,不予處理。.2 不平衡調(diào)整的工作過(guò)程進(jìn)入不平衡調(diào)整狀態(tài),在漂洗狀態(tài)原選中的燈進(jìn)行閃爍顯示,脫水狀態(tài)那么回到漂洗燈閃爍顯示。同時(shí),注水到當(dāng)前設(shè)定水位后,擺平水流運(yùn)行1分鐘,結(jié)束后排水回到原來(lái)脫水行程中。假設(shè)進(jìn)行如此2次修正無(wú)效后,那么蜂鳴器報(bào)警,等待人工處理。1 自動(dòng)斷電功能設(shè)計(jì)啟動(dòng)自動(dòng)斷電功能的工作情況:第一,開(kāi)機(jī)10分鐘后,不啟動(dòng)程序,那么自動(dòng)切斷電源。第二,洗衣程序結(jié)束并進(jìn)行六次蜂鳴后即時(shí)自動(dòng)切斷電源。 運(yùn)動(dòng)浸泡功能設(shè)計(jì)其洗滌方式是首先預(yù)備洗滌攪拌,然后浸泡,攪拌,如此循環(huán)。具體洗滌方式如表1-2所示。表1-2 運(yùn)動(dòng)浸泡的洗滌方式浸泡過(guò)程20攪拌2浸泡3攪拌1浸泡4攪拌2浸泡3攪拌1浸泡4 故障報(bào)警功能設(shè)計(jì)在洗衣機(jī)工作過(guò)程中,假設(shè)出現(xiàn)表1-3所列的故障,那么單片機(jī)能檢測(cè)故障類(lèi)型,同時(shí)發(fā)出報(bào)警信號(hào),提醒操作者排除故障。表1-3 故障報(bào)警工作狀況故障原因故障顯示蜂鳴報(bào)警報(bào)警解除進(jìn)水報(bào)警進(jìn)水16分鐘不到設(shè)定水位數(shù)碼顯示“E1蜂鳴器連續(xù)鳴響10秒鐘,假設(shè)報(bào)警未被解除,以后每隔16分鐘重復(fù)蜂鳴10秒鐘翻開(kāi)機(jī)蓋,處理故障,然后關(guān)上機(jī)蓋,解除報(bào)警排水報(bào)警排水4 分鐘不到空水位數(shù)碼顯示“E4開(kāi)蓋報(bào)警預(yù)約啟動(dòng)后開(kāi)蓋;進(jìn)入脫水狀態(tài)時(shí)開(kāi)蓋數(shù)碼顯示“E2不平衡報(bào)警第3次不平衡檢測(cè)數(shù)碼顯示“E3 桶潔凈功能設(shè)計(jì)目的就是洗衣結(jié)束后清潔洗衣桶。翻開(kāi)電源,在未啟動(dòng)狀態(tài)下,按程序預(yù)約鍵可選那么桶潔凈功能,然后按啟/停鍵即進(jìn)入潔桶程序。在此工作狀態(tài)下只有啟/停鍵及電源鍵響應(yīng),僅有脫水一個(gè)燈閃爍。 童鎖功能設(shè)計(jì)程序啟動(dòng)后,按水位功能鍵即可啟動(dòng)童鎖功能。在童鎖工作狀態(tài)下,數(shù)碼管顯示“CL ,而且所有按鍵均封鎖住不可選,再按水位功能鍵可以解除童鎖功能。 冷、熱進(jìn)水功能設(shè)計(jì)冷水燈亮進(jìn)水時(shí),由冷水進(jìn)水閥翻開(kāi);熱水燈亮進(jìn)水時(shí),由熱水進(jìn)水閥翻開(kāi);冷、熱水燈同時(shí)亮那么進(jìn)水時(shí)兩進(jìn)水閥同時(shí)翻開(kāi)。1.2 面板簡(jiǎn)圖如圖1-1所示:8檔水位采用4個(gè)燈,一個(gè)發(fā)光二極管可以顯示兩種狀態(tài),到達(dá)節(jié)省硬件的目的。程序按鍵對(duì)應(yīng)的三個(gè)燈也是如此,一個(gè)燈可以表示兩個(gè)狀態(tài)。圖1-1 面板簡(jiǎn)圖第二章 設(shè)計(jì)方案選擇和確定1Intel公司的單片機(jī)Intel是最早推出單片機(jī)的公司之一,主要有MCS-48、MCS-51系列8位單片機(jī)和MCS-96系列的16位單片機(jī)。在20世紀(jì)八、九十年代,MCS-51和MCS-96曾經(jīng)是我國(guó)最流行的單片機(jī),得到廣泛的應(yīng)用。這幾年Intel公司注重于奔騰系列微處理器,沒(méi)有推出新的單片機(jī)。2東芝(TOSHIBA)公司的單片機(jī)東芝公司主要有TLCS-870、TLCS-870/X、TLCS-870/C等系列的8位單片機(jī),TLCS-900系列的16位單片機(jī),這些單片機(jī)是近幾年推出的新型單片機(jī),功能強(qiáng)、可靠性高。在本洗衣機(jī)控制系統(tǒng)中,要求洗衣機(jī)能自動(dòng)檢測(cè)水位、水溫、門(mén)開(kāi)關(guān)等參數(shù),自動(dòng)確定標(biāo)準(zhǔn)洗及快速洗等時(shí)間、漂洗次數(shù),并能自動(dòng)控制洗衣機(jī)電機(jī)、進(jìn)水閥、排水閥的工作,同時(shí)要求有七個(gè)按鍵輸入和六路顯示電路,因此該系統(tǒng)是一個(gè)多輸入、多輸出系統(tǒng)。假設(shè)用Intel的51系列單片機(jī),要么需要進(jìn)行I/O擴(kuò)展,要么由于這些單片機(jī)驅(qū)動(dòng)能力有限,需外加驅(qū)動(dòng)電路,從而使硬件電路過(guò)于復(fù)雜。綜合上述考慮,決定選用內(nèi)部有A/D轉(zhuǎn)換器、驅(qū)動(dòng)能力強(qiáng)的TOSHIBA單片機(jī)作為該系統(tǒng)的微處理器,TMP86C846N單片機(jī)是TLCS-870/C系列單片機(jī)中的典型產(chǎn)品,具有高速率、高性能、低功耗的優(yōu)點(diǎn),且結(jié)構(gòu)先進(jìn)、功能強(qiáng)大。因此我們選擇TMP86C846N單片機(jī)作為主芯片。在洗衣機(jī)工作過(guò)程中,需要電機(jī)的正反轉(zhuǎn)、進(jìn)水電磁閥及排水電磁閥的頻繁動(dòng)作,因此就需要一種能適應(yīng)工作于頻繁切換場(chǎng)合的開(kāi)關(guān)器件來(lái)控制這些負(fù)載的工作。普通開(kāi)關(guān)設(shè)備,均屬于有觸點(diǎn)開(kāi)關(guān)。由于這些開(kāi)關(guān)在開(kāi)斷的過(guò)程中,存在著機(jī)械觸點(diǎn)的位移和產(chǎn)生電火花的可能,所以一般都有著動(dòng)作速度慢和維修工作量大等缺陷。普通開(kāi)關(guān)的壽命和開(kāi)斷的次數(shù)相關(guān),因此在頻繁切換的場(chǎng)合其應(yīng)用受到了一定的限制。晶閘管作為交流無(wú)觸點(diǎn)開(kāi)關(guān)沒(méi)有以上普通開(kāi)關(guān)的各種缺陷,在控制中有著動(dòng)作快、維修量少、通斷次數(shù)幾乎無(wú)限制和沒(méi)有噪音等優(yōu)點(diǎn),因此應(yīng)用廣泛。鑒于晶閘管自身不可替代的優(yōu)點(diǎn),在本控制系統(tǒng)中,采用雙向晶閘管作為開(kāi)關(guān)器件來(lái)控制電機(jī)的正反轉(zhuǎn)及各種電磁閥的通斷。第三章 系統(tǒng)硬件電路的設(shè)計(jì)3.1 硬件結(jié)構(gòu)概述及組成框圖 概述本程控器有七個(gè)按鍵(水位K1、程序K2、功能K3、水溫K4、啟動(dòng)/暫停K5、預(yù)約K6、電源K7),十四個(gè)發(fā)光二極管四個(gè)八檔水位顯示、三個(gè)程序顯示、四個(gè)功能顯示、兩個(gè)進(jìn)水顯示、一個(gè)預(yù)約顯示,一個(gè)雙位數(shù)碼管,實(shí)現(xiàn)對(duì)洗衣機(jī)運(yùn)行狀態(tài)的選擇和顯示。通過(guò)不同顏色接插件與洗衣機(jī)的冷熱進(jìn)水電磁閥、排水牽引器、電機(jī)、水位傳感器、平安門(mén)開(kāi)關(guān)相連接,由雙向晶閘管來(lái)控制負(fù)載,按設(shè)定程序?qū)崟r(shí)執(zhí)行動(dòng)作。 組成框圖圖3-1硬件結(jié)構(gòu)組成框圖3.2 微處理器 TMP86C846N的封裝及引腳功能TMP86C846N為SDIP42密腳雙列直插封裝,引腳排列如圖3-2所示。圖3-2 TMP86C846N引腳排列圖表3-1為T(mén)MP86C846N引腳功能說(shuō)明。表3-1 TMP86C46N的引腳功能引腳名一般I/O功能特殊I/O功能P07(INT4)8位雙向輸入/輸出口外部中斷4(INT4)信號(hào)輸入端P06()同步串行口SIO時(shí)鐘輸入/輸出腳P05(SI)同步串行口SIO串行數(shù)據(jù)輸入腳P04(SO)同步串行口SIO串行數(shù)據(jù)輸出腳P03(TXD)異步串行口UART串行數(shù)據(jù)輸出腳P02(RXD)異步串行口UART串行數(shù)據(jù)輸入腳P01(/)PDO4/PPG4)定時(shí)器TC4輸入輸出腳P00(INT0)外部中斷0(INT0)信號(hào)輸入端P15(INT3)6位雙向輸入/輸出口P14(PPG)P13(DVO)P12(INT2/TC1)P11(INT1)P10(PWM3/TC3/PDO3)P20(INT5/STOP1)3位雙向輸入/輸出口P21(XTIN)P22(XTOUT)P37(AIN7/STOP5)8位雙向輸入/輸出口模擬量信號(hào)AIN4AIN7輸入腳或使CPU退出STOP方式的信號(hào)STOP2STOP5輸入腳P36(AIN6/STOP4)P35(AIN5/STOP3)P34(AIN4/STOP2)P33(AIN3)模擬量信號(hào)AIN0AIN3輸入腳P32(AIN2)P31(AIN1)P30(AIN0)P478位雙向輸入/輸出口P46P45P44P43P42P41P40TEST測(cè)試控制輸入腳,用戶(hù)系統(tǒng)中接地外部復(fù)位信號(hào)輸入腳或內(nèi)部復(fù)位信號(hào)輸出腳XIN高頻時(shí)鐘輸入腳XOUT高頻時(shí)鐘輸出腳VSS接地VDD+5VAVSS模擬地AVDD模擬電路電源+5VVAREFAD參考電源輸入端. I/O口資源分配按鍵、水位、門(mén)開(kāi)關(guān)等信號(hào)需要輸入單片機(jī),給單片機(jī)提供判斷處理的依據(jù),所以相應(yīng)的I/O口設(shè)置為輸入口。而顯示及控制驅(qū)動(dòng)電路需要輸出控制及驅(qū)動(dòng)信號(hào),所以相應(yīng)的I/O口設(shè)置為輸出口。表3-2為單片機(jī)各個(gè)I/O口資源分配表。表3-2 I/O口資源分配表I/O引腳功能P40P41P42P43P44P45P469101112131415輸出,七段LED數(shù)碼管顯示其中,兼作水位、功能、程序、進(jìn)水的狀態(tài)顯示P22P472316輸入,第1行按鍵K1K6輸入輸入,第2行按鍵K7輸入P30P31P32P35P36P37404142345輸出,第6列按鍵及低位數(shù)碼管顯示控制輸出,第5列按鍵及高位數(shù)碼管顯示控制輸出,第4列按鍵及進(jìn)水狀態(tài)顯示控制輸出,第1列按鍵及水位狀態(tài)顯示控制輸出,第2列按鍵及程序狀態(tài)顯示控制輸出,第3列按鍵及功能狀態(tài)顯示控制P34P10P12P13P14239373635輸出,排水電磁閥驅(qū)動(dòng)電路控制輸出,熱水進(jìn)水電磁閥驅(qū)動(dòng)電路控制輸出,冷水進(jìn)水電磁閥驅(qū)動(dòng)電路控制輸出,電機(jī)正轉(zhuǎn)驅(qū)動(dòng)電路控制輸出,電機(jī)反轉(zhuǎn)驅(qū)動(dòng)電路控制P1534輸出,繼電器線圈通斷電控制P0026輸入,交流過(guò)零檢測(cè)信號(hào)輸入P0127輸出,蜂鳴器控制P2025輸入,水位傳感器頻率信號(hào)輸入P2122輸入,門(mén)開(kāi)關(guān)檢測(cè)信號(hào)輸入3.3 雙向晶閘管控制驅(qū)動(dòng)電路設(shè)計(jì) 雙向晶閘管的結(jié)構(gòu)及工作原理雙向晶閘管的結(jié)構(gòu)如下列圖所示。其引出端子分別為MT1,MT2,門(mén)極。通常以MT1作為電壓測(cè)量的基準(zhǔn)點(diǎn)。如圖3-3可知,在端子MT2與MT1之間相當(dāng)于一個(gè)PNPN與一個(gè)NPNP器件的并聯(lián)。當(dāng)門(mén)極無(wú)信號(hào)輸入時(shí),它與SCR相同,在MT2與MT1之間不導(dǎo)通。如果MT2施加的電壓高于MT1,且門(mén)極有正極性信號(hào)時(shí),這就可使雙向晶閘管導(dǎo)通,電流MT2向MT1流動(dòng);如果MT1施加的電壓高于MT2,且門(mén)極有負(fù)極性信號(hào)時(shí),這就可使雙向晶閘管導(dǎo)通,電流MT1向MT2流動(dòng)。雙向晶閘管控制驅(qū)動(dòng)電路原理圖及工作原理雙向晶閘管采用直流觸發(fā),鑒于單片機(jī)輸出觸發(fā)信號(hào)缺乏以觸發(fā)雙向晶閘管,故需將觸發(fā)功率放大。如圖3-4所示,負(fù)載驅(qū)動(dòng)電路主要包括七達(dá)林頓驅(qū)動(dòng)電路ULN2004,電阻R33R35、R41R42、R39R38,電容C16C21、C28,雙向晶閘管TR1-TR5等組成。電路中的雙向可控硅分別控制電機(jī)正轉(zhuǎn)、反轉(zhuǎn),進(jìn)水熱水、冷水電磁閥、排水牽引器的通斷。由單片機(jī)根據(jù)按鍵輸入指令或接收到的檢測(cè)信號(hào),輸出相應(yīng)的控制信號(hào),該信號(hào)由芯片ULN2004驅(qū)動(dòng)放大后對(duì)可控硅門(mén)極施加觸發(fā)電壓,觸發(fā)可控硅導(dǎo)通,使可控硅處于通路狀態(tài)。220V交流電路經(jīng)過(guò)負(fù)載形成回路,使相應(yīng)的負(fù)載得電運(yùn)行。.1 電機(jī)正、反轉(zhuǎn)及排水牽引器驅(qū)動(dòng)控制原理當(dāng)P14腳輸出高電平過(guò)零脈沖時(shí),經(jīng)驅(qū)動(dòng)芯片ULN2004輸出低電平,那么這時(shí)來(lái)自直流電源電路的+5V電壓經(jīng)TR1雙向晶閘管的T1極和G極,在經(jīng)過(guò)限流電阻R33到ULN2004內(nèi)部接地而構(gòu)成通路,使TR1的T1極和G極間電阻圖3-4雙向晶閘管控制驅(qū)動(dòng)電路約為100產(chǎn)生一個(gè)電壓降,使TR1導(dǎo)通,于是電動(dòng)機(jī)正轉(zhuǎn)。同樣道理,當(dāng)P13腳輸出高電平過(guò)零脈沖時(shí),電動(dòng)機(jī)反轉(zhuǎn)。假設(shè)要使電動(dòng)機(jī)停轉(zhuǎn),紙鷂使P14、P13腳都輸出低電平即可。此時(shí),只要交流電壓一過(guò)零點(diǎn),可控硅就因T1和G間電壓為零而自動(dòng)截止,電動(dòng)機(jī)失電停止運(yùn)轉(zhuǎn)。同時(shí),控制電機(jī)的兩個(gè)雙向晶閘管在任何時(shí)候不能同時(shí)導(dǎo)通,否那么會(huì)損壞晶閘管,甚至燒壞電機(jī)。當(dāng)P34腳輸出高電平過(guò)零脈沖時(shí),可控制排水牽引器的啟動(dòng)停止。.2 冷、熱進(jìn)水閥驅(qū)動(dòng)控制原理當(dāng)P12腳輸出高電平過(guò)零脈沖時(shí),經(jīng)驅(qū)動(dòng)芯片ULN2004輸出低電平,那么這時(shí)來(lái)自直流電源電路的+5V電壓經(jīng)TR3雙向晶閘管的T1極和G極,在經(jīng)過(guò)限流電阻R35接到ULN2004內(nèi)部接地而構(gòu)成通路,使TR1的T1極和G極間電阻約為100產(chǎn)生一個(gè)電壓降,使TR3導(dǎo)通,于是電磁閥線圈帶電翻開(kāi)冷進(jìn)水閥閥門(mén)。同樣道理,當(dāng)P10腳輸出高電平過(guò)零脈沖時(shí),熱進(jìn)水閥閥門(mén)翻開(kāi)。要使閥門(mén)關(guān)閉,只要使P12或P10腳輸出低電平即可。這時(shí),只要交流電壓一過(guò)零點(diǎn),可控硅就因T1和G間電壓為零而自動(dòng)截止,電磁閥不帶電而關(guān)閉閥門(mén)。.3 抗干擾措施電容C16C19、C28起濾波抗干擾作用,當(dāng)突然出現(xiàn)干擾信號(hào)時(shí),因電容電壓不能突變,而不會(huì)引起ULN2004內(nèi)部的變化而造成雙向晶閘管的誤導(dǎo)通或誤截止。由于電機(jī)的電感較大,感應(yīng)反電勢(shì)也較大,如果這個(gè)電壓出現(xiàn)非常迅速,那么雙向晶閘管將重新導(dǎo)通而失去控制,因此需要在兩個(gè)8A的雙向晶閘管的兩個(gè)主極上并聯(lián)一個(gè)電阻和電容,組成容阻回路。電容將起到限制感應(yīng)電勢(shì)的作用,而電阻用來(lái)限制來(lái)自器件觸發(fā)時(shí)電容器的浪涌電流和阻尼由電容和電感構(gòu)成的振蕩。如圖3-21,在雙向晶閘管的兩端并聯(lián)RC串聯(lián)網(wǎng)絡(luò),該網(wǎng)絡(luò)常稱(chēng)為RC阻容吸收電路。為保證洗衣機(jī)的平安工作,當(dāng)洗衣機(jī)出現(xiàn)問(wèn)題或故障時(shí),洗衣機(jī)應(yīng)立即發(fā)出蜂鳴報(bào)警,提醒用戶(hù)及時(shí)處理,此即全自動(dòng)洗衣機(jī)的故障自診斷功能。在洗衣機(jī)電源接通后,單片機(jī)就不斷地對(duì)接收到的按鍵、門(mén)開(kāi)關(guān)、水位傳感器等輸入信號(hào)進(jìn)行分析,并結(jié)合內(nèi)部時(shí)鐘信號(hào),作出當(dāng)前工作狀態(tài)是否正常的判斷,假設(shè)出現(xiàn)異常情況,那么進(jìn)行蜂鳴報(bào)警。3.5 水位傳感器水位檢測(cè)的精度直接影響洗凈度、水流強(qiáng)度、洗滌時(shí)間等參數(shù)。對(duì)于全自動(dòng)洗衣機(jī),要求水位的檢測(cè)必須是連續(xù)的,故常采用諧振式水位傳感器。諧振式水位傳感器是利用電磁諧振電路LC作為傳感器的敏感元件,將被測(cè)物體的變化轉(zhuǎn)變?yōu)長(zhǎng)C參數(shù)的變化,最終以頻率參數(shù)輸出。其工作原理是:將水位的上下通過(guò)導(dǎo)管轉(zhuǎn)換成一個(gè)測(cè)試內(nèi)腔氣體變化的壓力,驅(qū)動(dòng)內(nèi)腔上方的一塊隔膜移動(dòng),帶動(dòng)隔膜中心的磁芯在某線圈內(nèi)移動(dòng),從而線圈電感發(fā)生變化。由此引起諧振電路的固有頻率隨水位變化。3.6 LED和數(shù)碼管顯示及按鍵電路如圖3-5所示,本程控器設(shè)有七個(gè)按鍵(水位K1、程序K2、功能K3、水溫K4、啟動(dòng)/暫停K5、預(yù)約K6、電源K7),十四個(gè)發(fā)光二極管四個(gè)八檔水位顯示、三個(gè)程序顯示、四個(gè)功能顯示、兩個(gè)進(jìn)水顯示、一個(gè)預(yù)約顯示,一個(gè)雙位數(shù)碼管,實(shí)現(xiàn)對(duì)洗衣機(jī)運(yùn)行狀態(tài)的選擇和顯示。通過(guò)LED的點(diǎn)亮/閃爍指示洗衣機(jī)的各種工作狀態(tài),利用數(shù)碼管顯示預(yù)約及各種洗衣程序的剩余時(shí)間和四種錯(cuò)誤類(lèi)型E1、E2、E3、E4。采用動(dòng)態(tài)掃描顯示的方法。動(dòng)態(tài)掃描顯示法是把所有顯示器件的各個(gè)相同端互相連接在一起,接到一個(gè)輸出口上,而顯示器的公共端COM分別接在另外輸出口上,通過(guò)這兩個(gè)輸出口的兩組信號(hào)相互作用來(lái)產(chǎn)生顯示效果。即讓各位數(shù)碼管及LED顯示器件按照一定順序輪流顯示,只要掃描頻率足夠高,由于人眼的“視覺(jué)暫留特性,就觀察不到閃爍現(xiàn)象,而是連續(xù)穩(wěn)定的顯示。其特點(diǎn)圖3-5LED和數(shù)碼管顯示及按鍵電路在于能顯著降低顯示局部本錢(qián),大大減少顯示接口的連線結(jié)構(gòu),易于編程。開(kāi)機(jī)后,由P30P32和P35P37輸出不同時(shí)段的掃描方波,用來(lái)檢測(cè)按鍵的輸入。動(dòng)態(tài)掃描方波信號(hào)鍵掃描信號(hào)是50HZ頻率(間隔20 ms)的脈沖序列,有嚴(yán)格的時(shí)序關(guān)系,其中一個(gè)I/O口輸出低電平時(shí),其余I/O口皆為高電平(例如111101等)。掃描信號(hào)經(jīng)限流電阻R1R6(3.3K)后加載到三極管Q1Q6的基極。當(dāng)P30P32和P35P37中某個(gè)管腳輸出低電平時(shí),相應(yīng)的三極管飽和導(dǎo)通,從而使高電平驅(qū)動(dòng)相應(yīng)的顯示器件工作。同時(shí),軟件不斷檢測(cè)P22、P47的輸入。當(dāng)有鍵按下時(shí),軟件便會(huì)檢測(cè)到此按鍵輸入口的高電平。根據(jù)掃描方波,可判斷按下的是哪一個(gè)鍵,然后調(diào)出存在程序存貯器中的相應(yīng)按鍵子程序。在相應(yīng)子程序中,由單片機(jī)控制從P40P47輸出不同的段值,用來(lái)控制相應(yīng)的LED指示燈點(diǎn)亮/閃爍及數(shù)碼管點(diǎn)亮/熄滅的工作狀態(tài),并在相應(yīng)輸出口輸出控制信號(hào),控制洗衣機(jī)電動(dòng)機(jī)、進(jìn)水電磁閥、排水電磁閥的動(dòng)作。在按鍵的輸入處均設(shè)有容阻吸收電路,以提高系統(tǒng)抗干擾能力。二極管D1D6作用是防止多個(gè)按鍵同時(shí)按下時(shí),發(fā)生短路。第四章系統(tǒng)軟件設(shè)計(jì)4.1 軟件編程思路全自動(dòng)洗衣機(jī)控制軟件系統(tǒng)根據(jù)其功能要求,主要分為以下幾個(gè)大程序模塊:監(jiān)控程序模塊;主洗程序模塊;漂洗程序模塊;脫水程序模塊。4.2 各模塊程序流程圖 監(jiān)控程序模塊監(jiān)控程序模塊負(fù)責(zé)在非洗衣?tīng)顟B(tài)下,監(jiān)視按鍵和刷新顯示工作。在監(jiān)控狀態(tài)下,程序不斷掃描7個(gè)按鍵電源、啟動(dòng)、程序、預(yù)約、水位、功能和水溫的狀態(tài)。只有在電源鍵被按下后,按動(dòng)其它鍵才能有效響應(yīng)。監(jiān)控程序模塊的流程圖如圖4-1所示。圖4-1 監(jiān)控程序模塊框圖在洗衣機(jī)通上電源后,單片機(jī)上電復(fù)位。程序首先運(yùn)行在監(jiān)控程序模塊中。洗衣機(jī)初始化內(nèi)容包括:I/O口初始化、工作過(guò)程初始化主洗洗滌時(shí)間、漂洗洗滌時(shí)間、漂洗次數(shù)、脫水時(shí)間、進(jìn)水時(shí)間等參數(shù)。因?yàn)橄匆聶C(jī)上電后默認(rèn)洗滌方式為標(biāo)準(zhǔn)洗,故參數(shù)初始化主要是對(duì)標(biāo)準(zhǔn)洗狀態(tài)下的參數(shù)的預(yù)置。上電數(shù)據(jù)恢復(fù)模塊主要用來(lái)判斷洗衣機(jī)上電是否為洗滌時(shí)突然掉電。假設(shè)為洗滌過(guò)程中掉電,那么上電后進(jìn)行恢復(fù)斷點(diǎn)工作,否那么程序返回進(jìn)入到對(duì)按鍵監(jiān)視和刷新顯示的循環(huán)過(guò)程中。在按下電源鍵后,洗衣機(jī)進(jìn)入到復(fù)位狀態(tài),在此狀態(tài)下可進(jìn)行參數(shù)設(shè)置,如選擇水溫、是否防皺、水位、程序等。假設(shè)不設(shè)定的話,洗衣機(jī)啟動(dòng)后處于標(biāo)準(zhǔn)洗滌狀態(tài)。假設(shè)同時(shí)按下幾個(gè)鍵,那么進(jìn)入到自檢,如同時(shí)按下水位和電源鍵,這個(gè)功能是無(wú)水檢測(cè),用來(lái)檢測(cè)發(fā)光二極管、數(shù)碼管和蜂鳴器等是否能正常工作;如在洗滌過(guò)程中同時(shí)按下水位和功能鍵,啟動(dòng)童鎖功能,所有按鍵均封鎖不可選。假設(shè)按下啟動(dòng)鍵,那么洗衣機(jī)開(kāi)始洗滌。主洗程序模塊當(dāng)洗衣機(jī)上電后默認(rèn)主洗時(shí)間為43分鐘。洗衣機(jī)的洗滌過(guò)程是否進(jìn)入到主洗程序模塊,由用戶(hù)操作決定。假設(shè)用戶(hù)選擇主洗,那么允許標(biāo)準(zhǔn)洗標(biāo)志有效。主洗過(guò)程是一個(gè)包括進(jìn)水、洗滌、排水洗和脫水全過(guò)程。程序框圖如圖4-2所示。圖4-2 主洗程序模塊 漂洗程序模塊 在洗衣機(jī)上電后默認(rèn)漂洗次數(shù)為4次。用戶(hù)可選擇漂洗次數(shù),也可以只漂洗,不脫水。當(dāng)用戶(hù)選擇漂洗過(guò)程后,此標(biāo)志有效。在整個(gè)漂洗過(guò)程中,漂洗燈一直閃爍,程序框圖如圖4-3所示。圖4-3 漂洗程序模塊框圖 脫水程序模塊脫水是洗衣過(guò)程中可有可無(wú)的環(huán)節(jié)。脫水時(shí)間由用戶(hù)設(shè)定,在脫水過(guò)程中排水閥一直翻開(kāi),且脫水指示燈一直閃爍顯示。脫水程序模塊如圖4-4所示。圖4-4 脫水程序模塊框圖總 結(jié) 全自動(dòng)洗衣機(jī)由東芝單片機(jī)控制。由于其具有內(nèi)存容量大、輸入輸出口多、I/O的驅(qū)動(dòng)能力強(qiáng)、指令系統(tǒng)豐富等特點(diǎn),將其應(yīng)用在家用電器控制中,可大大簡(jiǎn)化系統(tǒng)的硬件電路,使系統(tǒng)具有更高的可靠性。本設(shè)計(jì)經(jīng)過(guò)設(shè)計(jì)到達(dá)了預(yù)期的各種功能,完全符合全自動(dòng)洗衣機(jī)的各項(xiàng)要求。在本次設(shè)計(jì)中,因?yàn)橐郧暗臅r(shí)候總是覺(jué)得設(shè)計(jì)只要有總體思路就可以了,所以在設(shè)計(jì)電路的時(shí)候,特別是對(duì)雙向晶閘管的使用的時(shí)候,只是從書(shū)上了解到了無(wú)觸點(diǎn)的優(yōu)點(diǎn)但是卻沒(méi)有想到其實(shí)雙向晶閘管的過(guò)壓和過(guò)流性是十分的脆弱的,設(shè)計(jì)的時(shí)候就直接用它去控制了電機(jī)和電磁閥,這樣的穩(wěn)定性在實(shí)際的使用中不能穩(wěn)定使用,所以設(shè)計(jì)沒(méi)有實(shí)際意義。這點(diǎn)讓我充分的認(rèn)識(shí)到我的缺乏,我在設(shè)計(jì)和平時(shí)總是對(duì)自己的細(xì)節(jié)的注意不夠,這就使得很多看似成立的東西失去了本來(lái)的實(shí)際意義,也讓會(huì)導(dǎo)致很多事情的失敗。本次設(shè)計(jì)對(duì)與我來(lái)說(shuō)是一次對(duì)自己性格鍛煉,它讓我充分的認(rèn)識(shí)自己所學(xué)習(xí)知識(shí)的不夠,讓我明白小事、小細(xì)節(jié)對(duì)于全局的重要性,使我認(rèn)識(shí)到自己的學(xué)習(xí)和生活的關(guān)系,讓我知道自己以后做事的態(tài)度和行為,所以本次設(shè)計(jì)對(duì)我自身的是起到很重要的審視作用。參考文獻(xiàn)1 余永權(quán),汪明慧,黃英單片機(jī)在控制系統(tǒng)中的應(yīng)用北京:電子工業(yè)出版社,20032 扈剛,王延峰.諧振式水位傳感器.傳感器技術(shù).2002.3 謝宋和,湛清平.東芝單片機(jī)在家用電器中應(yīng)用.北京:北京航空航天大學(xué)出版,1996.4 周德林,張雙慶全自動(dòng)洗衣機(jī)故障檢測(cè)技術(shù)北京:金盾出版社,20045 張毅剛,修林成.MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1992. 6 陳汝全,林水生實(shí)用微機(jī)與單片機(jī)控制技術(shù)成都:電子科技大學(xué)出版社,1998 7 王幸之,王雷等單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)北京:北京航空航天大學(xué)出版社1999 8 牛洪濤工控軟件的抗干擾設(shè)計(jì)微型機(jī)與應(yīng)用1998 9 邵貝貝單片機(jī)嵌入式應(yīng)用的在先開(kāi)發(fā)方法北京:清華大學(xué)出版社,200410 王柏林.單片機(jī)系統(tǒng)設(shè)計(jì)的誤區(qū)與對(duì)策.計(jì)算機(jī)應(yīng)用.2002. 11 王曉明電動(dòng)機(jī)的單片機(jī)控制北京:北京航空航天大學(xué)出版社,2002致 謝經(jīng)過(guò)這一學(xué)期的努力我的畢業(yè)論文終于順利完成了。本文是在老師指導(dǎo)下完成的。老師治學(xué)嚴(yán)謹(jǐn)、品德高尚、平易近人,在洗衣機(jī)控制課題等方面具有豐富的知識(shí)和很高的科研水平。從選題、方案論證到具體設(shè)計(jì)和論文撰寫(xiě)的各個(gè)環(huán)節(jié),都得到老師的熱心指導(dǎo)、幫助、和指正,使得我能在比擬正確的軌道上,在預(yù)期的時(shí)間內(nèi)完成工作量較大的課題,對(duì)此將深深感謝老師的幫助。感謝所有的授課老師。在四年的學(xué)習(xí)中,他們不僅給我傳授了系統(tǒng)的理論知識(shí),培養(yǎng)了較強(qiáng)的動(dòng)手實(shí)驗(yàn)?zāi)芰?,而且還通過(guò)言傳身教潛移默化地傳授給我做人的道理。在單片機(jī)課程學(xué)習(xí)中授予我們的知識(shí),讓我對(duì)學(xué)習(xí)的態(tài)度改變?cè)S多,同時(shí)也讓我充分的認(rèn)識(shí)到自己的缺乏,更重要的是教會(huì)我們?nèi)绾稳W(xué)。如果沒(méi)有他們的無(wú)私支持和指導(dǎo),相信我沒(méi)有方法完成這次的畢業(yè)設(shè)計(jì)。在此對(duì)他們的悉心教導(dǎo)表示衷心地感謝。附 錄start:nop ld sp,0x23f di call ioini ;初始化單片機(jī) call workini ;初始化RAMstart1: nop call workini1 ;進(jìn)行標(biāo)準(zhǔn)化設(shè)置 eiRUNING: test (flag1).0 ;10ms延時(shí) jr t,RUNING clr (flag1).0 ld (WDTCR2),0x4e ;關(guān)看門(mén)狗 call d100ms ;100ms延時(shí),和flag4).1組成一個(gè)100ms延時(shí) call buzzing ;蜂鳴程序 call tsj ;自檢和循環(huán)檢測(cè) test (flag4).1 jr f,RUNING call derr ;錯(cuò)誤檢測(cè)程序 call tsjt ;童鎖潔筒 call proini ;進(jìn)行自檢和無(wú)水檢測(cè)參數(shù)設(shè)置 call door ;門(mén)判斷程序 call display ;顯示程序 call water ;水位判斷程序 call klast ;連鍵處理程序 call err16 ;出錯(cuò)情況未接觸的話,每16分種,蜂鳴器報(bào)警10秒 call d10mdp ;開(kāi)機(jī)十分種,不啟動(dòng)那么自動(dòng)斷電 test (flag2).1 ;是否出錯(cuò) jr f,RUNING test (flag1).3 ;預(yù)約 jr t,RUNIA0 call yydelay ;預(yù)約顯示 call yyoper ;預(yù)約啟動(dòng)情況下,未蓋蓋子,那么出現(xiàn)報(bào)警 jp RUNINGRUNIA0: test (flag2).0 ;啟動(dòng) jr t,RUNING ld (error),0x00 ;無(wú)錯(cuò)誤 test (flag8).1 ;模糊測(cè)布質(zhì) jr t,RUNIA00 call del10s jp RUNINGRUNIA00: test (flag1).7 ;3s時(shí)間標(biāo)志 jr t,RUNIA01 call del3s jp RUNINGRUNIA01: test (flag5).5 ;無(wú)水檢測(cè) jr t,RUNINA02 call testfm ;蜂鳴器初始化程序 jp RUNINGRUNINA02: test (flag5).0 ;排脫水 jr t,RUNIA1 ; test (flag4).7 ;7s程序,最好 jr t,RUNIA1 ; call del7s jp RUNINGRUNIA1: call RUNDISP ;1m修改一個(gè)運(yùn)行時(shí)間 test (flag5).3 ;洗衣結(jié)束 jr f,RUNIA2 call xiyi ;調(diào)洗衣程序RUNIA3: jp RUNINGRUNIA2: test (flag1).1 ;蜂鳴器正在工作 jr f,RUNIA3 test (flag6).3 ;循環(huán)檢測(cè)程序 jr f,RUNIA4RUNIA5: call workini1 ;初始化RUNIA4: set (flag2).3 ;程序初始化 clr (flag5).3 ;洗衣結(jié)束,結(jié)束蜂鳴 jp RUNING;* ld (P0DR),0xff ;p0口有8個(gè)管腳,p07為輸入口 ld (P1DR),0x07 ;p0口有3個(gè)管腳,前兩個(gè)為輸入 ld (P2DR),0x07 ;p2口有3個(gè)管腳,這里沒(méi)有用到 ld (P3DR),0xc0 ;p3口有8個(gè)管腳,p36,p37為輸入管腳 ld (P1CR),0x7f ; ld (P3CR),0x4f ; ld (P0OUTCR),0x7F ;設(shè)置為哪種輸出形式,開(kāi)路或上拉 ld (WDTCR1),0x00 ;關(guān)看門(mén)狗 ld (WDTCR2),0xb1 ; ld (TTREG3),0x7d ;2mS,8M ld (TTREG4),0x0c ;0.192us,8M ld (TC1CR),0x14 ;TC1 10ms定時(shí) ldw (TC1DRA),0x0271 ;271;10mS; 138:5mS ld (TC3CR),0x18 ;TC3 2ms開(kāi)始計(jì)時(shí) ld (EINTCR),0xc0 ;設(shè)置中斷產(chǎn)生形式11000000 ld (TC4CR),0x19 ;TC4輸出為可編程脈沖 ld (TBTCR),0x00 ;關(guān)DVO口 ldw (IL),0x0000 ;清中斷標(biāo)志位 ld (EIRL),0x90 ;開(kāi)對(duì)應(yīng)中斷 1001 0000 ld (EIRH),0x0x0c ; 0000 1100 ld (SYSCR1),0x00 ;系統(tǒng)設(shè)置 ld (SYSCR2),0x80 clr (flag8).4 ;電源鍵第一次按下set該標(biāo)志,第二此按下該標(biāo)志 ld (INTSEL),0x10 ;中斷源選擇 ld (UARTCR1),0x03 ;關(guān) ld (UARTCR2),0x02 ld (WDTCR2),0x4e ;關(guān) ld (WDTCR1),0x0d ; ret;*workini: ld hl,s1 ;清理變量子程序 ld a,0xffLOVE: ld (hl),0 inc hl dec a jr f,LOVE ret;*workini1: ld (P0DR),0xff ;p0口有8個(gè)管腳,p07為輸入口 ld (P1DR),0x07 ;p0口有3個(gè)管腳,前兩個(gè)為輸入 ld (P2DR),0x07 ;p2口有3個(gè)管腳,這里沒(méi)有用到 ld (P3DR),0xc0 ;p3口有8個(gè)管腳,p36,p37為輸入管腳 ld a,(s1) ;保存自檢 ld w,(s2) ;保存無(wú)水檢測(cè) push wa ld h,(bitcount) ;保存循環(huán)位 ld l,(s7) ;保存開(kāi)關(guān)值 push hl ld hl,s1 ld a,0xffLOVE1: ld (hl),0 ;清理變量區(qū) inc hl dec a jr f,LOVE1 pop hl ld (bitcount),h ;恢復(fù)循環(huán)變量 ld (s7),l ;恢復(fù)開(kāi)關(guān)變量 pop wa ld (s2),w ;恢復(fù)程序鍵量循環(huán)檢測(cè) ld (s1),a ;恢復(fù)水位鍵 自檢 ld de,0x0000 ;作為水位檢測(cè)的中間變量 ld (del20),0xfa ;250 ld (d10m1),0x5f ;59999 ld (d10m2),0xea ld (bitmove),0xfe ;位循環(huán) ldw (d1m),0x176f ;5999 set (flag2).3 ;程序初始化 set (flag4).1 ;上電延時(shí) ld (yyd1m1),0x3f ;359999 1h時(shí)預(yù)約程序變下 ld (yyd1m2),0x7e ld (yyd1m3),0x05 ld (d05s1),0xff ;1535 ld (d05s2),0x05 ld (led1),0xfb ;默認(rèn)3檔水位 ld (led2),0xf7 ;標(biāo)準(zhǔn) ld (led3),0xf8 ;洗 漂 脫 set (flag8).1 ;模糊 ld (d10s1),0x2c ; 300 ld (d10s2),0x01clr (P3DR).3 ; ld (zsdx),0x0c ld (zsdp),0x02 ld (zsdt),0x06 set (flag10).5 ;在開(kāi)始時(shí)候有個(gè)補(bǔ)水功能 set (flag1).1 ;是否蜂鳴 ld (buzt1),0x0a ; ld (temcount),0x00 ;開(kāi)冷水 ld (wcount),0x02 ;是否錯(cuò)誤 ret call TESTCQ ;測(cè)試布質(zhì)XIYIRET: retXIYIXYE: call clrcur clr (pro2).6 clr (flag4).5TESTCQ: ld w,(wcount) ;測(cè)布質(zhì)子程序 ld a,0x04 mul w,a ld c,a ld (del30),c ld hl,water1 ld bc,(hl+c) ld wa,(sjsw)