張哲,李智,管四海
?。ㄎ靼搽娮涌萍即髮W(xué) 機(jī)電工程學(xué)院,陜西 西安 710071)
摘要:為了降低全自動(dòng)洗衣機(jī)的運(yùn)行功耗、提高運(yùn)行的穩(wěn)定性、降低制造成本以及更方便的操作,設(shè)計(jì)了一種基于STC89C52單片機(jī)的全自動(dòng)洗衣機(jī)控制系統(tǒng)。該控制系統(tǒng)由藍(lán)牙部分、紅外熱釋部分、LCD1602液晶部分和直流電機(jī)等組成。其中,采用藍(lán)牙無(wú)線通信技術(shù)以實(shí)現(xiàn)在長(zhǎng)距離移動(dòng)終端上控制洗衣機(jī)運(yùn)行的參數(shù);通過(guò)紅外熱釋電傳感器控制,以便于取衣操作。最后,給出了該控制系統(tǒng)的硬件結(jié)構(gòu)和軟件流程,且通過(guò)Proteus仿真測(cè)試驗(yàn)證了該控制系統(tǒng)是簡(jiǎn)便有效的。
關(guān)鍵詞: STC89C52;藍(lán)牙無(wú)線通訊;紅外熱釋電;智能家居
中圖分類號(hào):TP13文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.07.030
引用格式:張哲,李智,管四海.基于STC89C52的智能全自動(dòng)洗衣機(jī)控制系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(7):102-105.
0引言
*基金項(xiàng)目:國(guó)家自然科學(xué)基金(61673310)由于全自動(dòng)洗衣機(jī)具有對(duì)洗滌物品的破壞性弱、一次可洗滌大量衣物、節(jié)省勞動(dòng)力等優(yōu)點(diǎn),使它受到廣泛的使用并走進(jìn)了千家萬(wàn)戶[1]。但隨著智能家居概念的提出、傳播和在生活中的初步使用,使得人們對(duì)全自動(dòng)洗衣機(jī)在價(jià)格低廉的基礎(chǔ)上又提出了性能可靠、洗衣功耗低、操作簡(jiǎn)單、工作效率高以及便于維修等要求。然而目前的全自動(dòng)洗衣機(jī)僅具有洗滌、甩干和暫停等幾大簡(jiǎn)單洗滌功能,不足以滿足人們對(duì)于智能化控制的需求。此外,傳統(tǒng)洗衣機(jī)的運(yùn)行狀態(tài)顯示常采用數(shù)碼管,這就導(dǎo)致運(yùn)行狀態(tài)不清晰,錯(cuò)誤代碼不明確,缺乏人性化,進(jìn)而對(duì)洗衣機(jī)的操作和維護(hù)帶來(lái)極大的不便。
為了有效解決以上問(wèn)題,本文利用HC05藍(lán)牙模塊、矩陣式鍵盤、LCD1602液晶顯示屏和紅外熱釋電傳感器,基于STC89C52設(shè)計(jì)了一種智能控制系統(tǒng)。其中,利用HC-05藍(lán)牙模塊以及矩陣式鍵盤分別實(shí)現(xiàn)無(wú)線移動(dòng)終端控制洗衣操作以及近距離人機(jī)操作;利用LCD1602液晶顯示屏以清晰的英文標(biāo)識(shí)顯示當(dāng)前的工作狀態(tài)并配有高亮度的背光,結(jié)合紅外熱釋傳感器為洗衣機(jī)的操作提供極大的便利。
1控制系統(tǒng)的總體設(shè)計(jì)
此控制系統(tǒng)由STC89C52、藍(lán)牙串口電路、電機(jī)驅(qū)動(dòng)電路、矩陣鍵盤電路、LCD1602液晶顯示模塊、紅外熱釋電模塊和報(bào)警電路組成,系統(tǒng)框圖如圖1。
圖1系統(tǒng)框圖在圖1中,STC89C52作為微控制器,用于實(shí)現(xiàn)控制算法;藍(lán)牙傳輸模塊用于實(shí)現(xiàn)無(wú)線遠(yuǎn)距離設(shè)定洗衣機(jī)的洗衣模式、洗衣時(shí)間等;LCD1602用于顯示當(dāng)前工作狀態(tài)(比如洗滌、脫水和洗滌模式)以及工作時(shí)間;由于STC89C52驅(qū)動(dòng)能力有限,只能輸出10 mA左右的電流,所以利用電機(jī)驅(qū)動(dòng)電路為電機(jī)進(jìn)行電流放大從而驅(qū)動(dòng)電機(jī)運(yùn)行;紅外熱釋模塊主要驅(qū)動(dòng)照明設(shè)備為工作人員在黑暗條件下操作洗衣機(jī)提供方便;報(bào)警電路主要用于電機(jī)損壞和意外斷電等突發(fā)情況以及洗滌結(jié)束后的提醒。
2主要硬件設(shè)計(jì)
2.1STC89C52單片機(jī)系統(tǒng)
STC89C52系統(tǒng)主要由微控制器(MCU)、時(shí)鐘電路和復(fù)位電路組成。STC89C52完全兼容8051單片機(jī)的特點(diǎn),其主要參數(shù)為:時(shí)鐘頻率最高可達(dá)80 MHz;內(nèi)置有5個(gè)中斷源,分為兩個(gè)優(yōu)先級(jí),每個(gè)中斷源的優(yōu)先級(jí)是可以編程的,4個(gè)8位輸入/輸出口(P0,P1,P2,P3);有一個(gè)全雙工的串行口,其有4種工作方式,可通過(guò)設(shè)置SMOD寄存器進(jìn)行配置;有3個(gè)16位的定時(shí)器/計(jì)數(shù)器[2]。由于STC89C52單片機(jī)除P0口外內(nèi)部均嵌有上拉電阻,因此對(duì)于P0口在其外部必須接上拉電阻以保證電平的可靠性。其次,其復(fù)位電路采用上電給電容充電進(jìn)而自動(dòng)復(fù)位的方式。此外其串口(P3.1, P3.2)連接藍(lán)牙模塊的串口(TXD, RXD),P2口接洗衣機(jī)的功能鍵盤,P0口作為液晶的數(shù)據(jù)總線,P1.7口作為其報(bào)警電路的蜂鳴器控制端。
2.2藍(lán)牙串口電路
藍(lán)牙通信的原理類似于單片機(jī)和計(jì)算機(jī)之間的串口通信,二者之間的通信需要借助串口,其通信示意圖如圖2[3]。
圖2中GND表示單片機(jī)和HC-05系統(tǒng)的參考地,TXD是串行發(fā)送引腳,RXD是串行接收引腳。HC05和單片機(jī)之間通信,為保證電源基準(zhǔn)相同,故將單片機(jī)的GND與HC-05的GND連接起來(lái)。其次為構(gòu)建通信通道,將單片機(jī)的接收引腳與HC05的發(fā)送引腳連接起來(lái),作為單片機(jī)的接收通道;將圖2藍(lán)牙接線示意圖單片機(jī)的發(fā)送引腳和HC-05的接收引腳連接起來(lái),作為單片機(jī)的發(fā)送通道。HC05藍(lán)牙串口電路原理圖如圖3。
2.3紅外熱釋模塊
紅外熱釋傳感器的原理[4]是通過(guò)其內(nèi)部傳感器感知人體發(fā)射的紅外光譜從而產(chǎn)生高電平信號(hào),當(dāng)人離開(kāi)傳感器的感應(yīng)區(qū)則自動(dòng)關(guān)閉高電平,輸出低電平。此外,紅外熱釋傳感器微功耗,靜態(tài)電流只有65 mA。其VCC接電源正極,GND接電源負(fù)極,OUT1接1 kΩ的限流電阻后接LED小燈。
2.4電機(jī)驅(qū)動(dòng)電路
STC89C52輸出的高電壓為5 V,低電壓為0 V,電流為10~20 mA。然而直流電機(jī)的啟動(dòng)電流為200~400 mA,不足以驅(qū)動(dòng)電機(jī)運(yùn)行,故選取L298電機(jī)驅(qū)動(dòng)模塊以放大電流。直流電機(jī)PWM控制系統(tǒng)的主要功能包括:通過(guò)控制兩個(gè)輸入引腳的電平信號(hào)控制直流電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和急停,且可通過(guò)調(diào)整電壓大小調(diào)整電機(jī)的轉(zhuǎn)速,能方便地實(shí)現(xiàn)電機(jī)的智能控制[5],其控制功能見(jiàn)表1。
L298中的 ENA、ENB為使能端口,ENA用來(lái)控制左邊的電機(jī),ENB用來(lái)控制右邊的電機(jī);IN1、IN2、IN3、IN4為控制引腳,用來(lái)設(shè)置三極管的開(kāi)關(guān)狀態(tài)。通過(guò)H橋來(lái)控制電機(jī)的運(yùn)行,當(dāng)使能端為高電平時(shí)控制有效;使能端為低電平時(shí),輸入端對(duì)電機(jī)的控制失效[6]。輸入端的一個(gè)引腳接PWM信號(hào),另一個(gè)輸入端接低電平時(shí)電機(jī)正轉(zhuǎn);當(dāng)該引腳輸入低電平另一個(gè)引腳輸入PWM信號(hào)時(shí),電機(jī)朝另一個(gè)方向運(yùn)行。當(dāng)兩個(gè)輸入端的電平信號(hào)相同時(shí), 電機(jī)快速停止。引腳以及功能如表2所示。
3軟件設(shè)計(jì)
3.1軟件整體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)程序分為主程序、定時(shí)器中斷程序、延時(shí)程序、LCD1602液晶顯示程序和電機(jī)驅(qū)動(dòng)程序等幾部分。定時(shí)中斷0用來(lái)控制洗衣進(jìn)程的時(shí)間和電機(jī)正反轉(zhuǎn),通過(guò)外部中斷0進(jìn)行相應(yīng)功能的倒計(jì)時(shí),在此期間,如果停止鍵按下,則終止進(jìn)程,返回初始界面。延時(shí)程序用于LCD1602液晶顯示屏的寫操作的等待。電機(jī)驅(qū)動(dòng)程序用來(lái)控制相應(yīng)控制引腳的高低電平??刂葡到y(tǒng)流程圖如圖4。
3.2藍(lán)牙串口程序
在UART通信過(guò)程中,采用LSB方式即先發(fā)送數(shù)據(jù)的低位再發(fā)送數(shù)據(jù)的高位,再使TXD為低電平并持續(xù)一段時(shí)間,直到將8位二進(jìn)制數(shù)字全部發(fā)送完畢,與此同時(shí)對(duì)TI和RI置1。其次,為了手機(jī)(上位機(jī))與洗衣機(jī)能夠正常通信必須設(shè)置兩者為相同的波特率,因此就需要使用單片機(jī)的定時(shí)器1,利用公式:波圖5藍(lán)牙串口流程圖
特率=(2SMOD/32)×(T1的溢出率)[2],設(shè)置本系統(tǒng)波特率為9 600 b/s;在使用串口時(shí),當(dāng)接收到或者發(fā)送完數(shù)據(jù)后,會(huì)對(duì)標(biāo)志位進(jìn)行置1,但是串口中斷不會(huì)像定時(shí)器中斷自動(dòng)地對(duì)標(biāo)志位進(jìn)行清0,需要軟件對(duì)標(biāo)志位進(jìn)行清0。藍(lán)牙串口接收數(shù)據(jù)的具體流程如圖5所示。
3.3矩陣鍵盤子程序
矩陣鍵盤由16個(gè)按鍵組成,由于單片機(jī)的引腳有限,故將其設(shè)置成4行4列,進(jìn)行行掃描或列掃描以減少對(duì) IO口的使用。此外,為避免按鍵按下時(shí)出現(xiàn)抖動(dòng),因此需要去抖處理。按鍵掃描如圖6所示,按鍵去抖流程圖如圖7所示。
3.4LCD1602液晶顯示
LCD1602液晶[5]內(nèi)部帶有80 B的顯示RAM,用來(lái)發(fā)送數(shù)據(jù),它的結(jié)構(gòu)如圖8。
第一行地址是0X00~0X27,第二行是0X40~0X67H,其中第一行0X00H~0X0F是與液晶上第一行16個(gè)字符顯示位置相對(duì)應(yīng)的,第二行0X40H~0X4F是與第二行16個(gè)字符顯示位置相對(duì)應(yīng)的。而每行多出來(lái)的一部分是為了顯示移動(dòng)字幕[7]。
基本操作時(shí)序:
讀狀態(tài):
輸入:RS=L,R/W=H,E=H;
輸出:D0~D7 狀態(tài)字;
讀數(shù)據(jù):
輸入:RS=H,R/W=H,E=H;
輸出:無(wú);
寫指令:
輸入:RS=L,R/W=L,E=H,D0~D7=指令碼;
輸出:D0~D7數(shù)據(jù);
寫數(shù)據(jù):
輸入:RS=H,R/W=L,E=H,D0~D7=數(shù)據(jù);
輸出:無(wú)。
操作1602液晶顯示的流程如下:
(1)通過(guò)RS信號(hào)確定是向LCD寫數(shù)據(jù)還是寫命令;
(2)讀寫模式設(shè)置(R/W)為寫模式,即將R/W設(shè)置為低電平;
(3)將數(shù)據(jù)或者命令送達(dá)數(shù)據(jù)總線上;
(4)給使能信號(hào)端EN一個(gè)高電平信號(hào),將數(shù)據(jù)送入LCD的RAM,完成寫操作。
4實(shí)驗(yàn)結(jié)果與分析
為了進(jìn)一步驗(yàn)證本文設(shè)計(jì)的控制系統(tǒng)簡(jiǎn)便有效,利用Keil編寫程序并進(jìn)行Proteus仿真,仿真結(jié)果顯示洗衣機(jī)運(yùn)行正常、液晶顯示信息正確。根據(jù)原理圖以及仿真圖制作硬件模擬實(shí)物,通過(guò)Ecilpse編寫藍(lán)牙串口Android版軟件,在非開(kāi)闊的環(huán)境下對(duì)不同距離的通信情況進(jìn)行測(cè)試,通過(guò)手機(jī)藍(lán)牙串口軟件控制全自動(dòng)洗衣機(jī)的運(yùn)行,觀察能夠操作洗衣機(jī)的極限距離。
調(diào)試結(jié)果表明,HC-05藍(lán)牙模塊的有效通信距離為0~25 m,在此范圍內(nèi)手機(jī)與洗衣機(jī)通信正常。實(shí)驗(yàn)結(jié)果如表3所示。該系統(tǒng)能夠?qū)崿F(xiàn)遠(yuǎn)距離控制洗衣機(jī)的運(yùn)行狀態(tài),功耗低,控制時(shí)間準(zhǔn)確,操作簡(jiǎn)便,人性化,全自動(dòng)洗衣機(jī)工作狀態(tài)清晰可見(jiàn),適合不同年齡層次的用戶使用。Proteus仿真結(jié)果如圖9所示。圖9進(jìn)水模式Proteus仿真結(jié)果在Proteus仿真中通過(guò)設(shè)置串口或者矩陣式鍵盤來(lái)設(shè)置洗衣機(jī)的工作參數(shù),相比傳統(tǒng)洗衣機(jī)的獨(dú)立式按鍵更加簡(jiǎn)便、快捷,只需要針對(duì)所需要設(shè)置的功能設(shè)置按鍵即可。
圖9是全自動(dòng)洗衣機(jī)進(jìn)水狀態(tài)下的仿真結(jié)果。對(duì)應(yīng)的LED顯示當(dāng)前正在進(jìn)行的狀態(tài), 通過(guò)帶有背光的LCD液晶顯示屏顯示工作狀態(tài)以及剩余時(shí)間,相比傳統(tǒng)的數(shù)碼管顯示更加準(zhǔn)確清晰。通過(guò)仿真可看出電機(jī)的轉(zhuǎn)動(dòng)狀況。紅外熱釋在黑暗的條件下感知到人經(jīng)過(guò)時(shí)就會(huì)點(diǎn)亮以輔助人的取衣操作。通過(guò)Proteus軟件仿真以及實(shí)際的硬件測(cè)試驗(yàn)證得出,本控制系統(tǒng)相比傳統(tǒng)全自動(dòng)洗衣機(jī)控制系統(tǒng),不僅能實(shí)現(xiàn)遠(yuǎn)程控制運(yùn)行、人體感應(yīng)取衣操作、操作簡(jiǎn)單快捷、更加人性化、智能化,而且使用STC89C52作為控制芯片大大降低了運(yùn)行功耗和加工成本。另外,經(jīng)過(guò)硬件測(cè)試,在電機(jī)異常的狀態(tài)下洗衣機(jī)能夠發(fā)出相應(yīng)的警報(bào)并且將存在的問(wèn)題通過(guò)LCD液晶顯示出來(lái),極大地降低了維護(hù)的難度。
參考文獻(xiàn)
?。?] 劉曉彤. 基于Proteus的全自動(dòng)洗衣機(jī)控制系統(tǒng)設(shè)計(jì)[J]. 微計(jì)算機(jī)信息, 2012: 28(9):146-148.
[2] 溫宗周. 孟建華. 單片機(jī)原理與接口技術(shù)[M].北京:中國(guó)電力出版社, 2009.
?。?] 趙勇. 嵌入式系統(tǒng)藍(lán)牙模塊設(shè)計(jì)[D]. 北京:北京交通大學(xué),2007.
?。?] 徐青山, 李正云. 紅外熱釋電人體感應(yīng)飲水機(jī)智能控制開(kāi)關(guān):中國(guó),CN201830232[P].2010-10-29.
[5] 劉樹(shù)中, 孫書膺, 王春平.單片機(jī)和液晶顯示驅(qū)動(dòng)器串行接口的實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息, 2007,23(2):49-53.
[6] 彭鴻才.電機(jī)原理及拖動(dòng)[M]. 北京:機(jī)械工業(yè)出版社, 2007.
[7] NXP. NXP Semiconductors “TJA10 42 Rev. 7-8”[S]. 2012.