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