張 哲,李 智,管四海
(西安電子科技大學(xué) 機(jī)電工程學(xué)院,陜西 西安 710071)
基于STC89C52的智能全自動(dòng)洗衣機(jī)控制系統(tǒng)設(shè)計(jì)*
張 哲,李 智,管四海
(西安電子科技大學(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)牙無線通信技術(shù)以實(shí)現(xiàn)在長(zhǎng)距離移動(dòng)終端上控制洗衣機(jī)運(yùn)行的參數(shù);通過紅外熱釋電傳感器控制,以便于取衣操作。最后,給出了該控制系統(tǒng)的硬件結(jié)構(gòu)和軟件流程,且通過Proteus仿真測(cè)試驗(yàn)證了該控制系統(tǒng)是簡(jiǎn)便有效的。
STC89C52;藍(lán)牙無線通訊;紅外熱釋電;智能家居
由于全自動(dòng)洗衣機(jī)具有對(duì)洗滌物品的破壞性弱、一次可洗滌大量衣物、節(jié)省勞動(dòng)力等優(yōu)點(diǎn),使它受到廣泛的使用并走進(jì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ù)帶來極大的不便。
為了有效解決以上問題,本文利用HC-05藍(lán)牙模塊、矩陣式鍵盤、LCD1602液晶顯示屏和紅外熱釋電傳感器,基于STC89C52設(shè)計(jì)了一種智能控制系統(tǒng)。其中,利用HC-05藍(lán)牙模塊以及矩陣式鍵盤分別實(shí)現(xiàn)無線移動(dòng)終端控制洗衣操作以及近距離人機(jī)操作;利用LCD1602液晶顯示屏以清晰的英文標(biāo)識(shí)顯示當(dāng)前的工作狀態(tài)并配有高亮度的背光,結(jié)合紅外熱釋傳感器為洗衣機(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)無線遠(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.1 STC89C52單片機(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種工作方式,可通過設(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 藍(lán)牙接線示意圖
圖2中GND表示單片機(jī)和HC-05系統(tǒng)的參考地,TXD是串行發(fā)送引腳,RXD是串行接收引腳。HC-05和單片機(jī)之間通信,為保證電源基準(zhǔn)相同,故將單片機(jī)的GND與HC-05的GND連接起來。其次為構(gòu)建通信通道,將單片機(jī)的接收引腳與HC-05的發(fā)送引腳連接起來,作為單片機(jī)的接收通道;將單片機(jī)的發(fā)送引腳和HC-05的接收引腳連接起來,作為單片機(jī)的發(fā)送通道。HC-05藍(lán)牙串口電路原理圖如圖3。
圖3 HC-05 內(nèi)部原理圖
2.3 紅外熱釋模塊
紅外熱釋傳感器的原理[4]是通過其內(nèi)部傳感器感知人體發(fā)射的紅外光譜從而產(chǎn)生高電平信號(hào),當(dāng)人離開傳感器的感應(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)的主要功能包括:通過控制兩個(gè)輸入引腳的電平信號(hào)控制直流電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和急停,且可通過調(diào)整電壓大小調(diào)整電機(jī)的轉(zhuǎn)速,能方便地實(shí)現(xiàn)電機(jī)的智能控制[5],其控制功能見表1。
表1 L298真值表
L298中的 ENA、ENB為使能端口,ENA用來控制左邊的電機(jī),ENB用來控制右邊的電機(jī);IN1、IN2、IN3、IN4為控制引腳,用來設(shè)置三極管的開關(guān)狀態(tài)。通過H橋來控制電機(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所示。
表2 引腳符號(hào)及功能
3.1 軟件整體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)程序分為主程序、定時(shí)器中斷程序、延時(shí)程序、LCD1602液晶顯示程序和電機(jī)驅(qū)動(dòng)程序等幾部分。定時(shí)中斷0用來控制洗衣進(jìn)程的時(shí)間和電機(jī)正反轉(zhuǎn),通過外部中斷0進(jìn)行相應(yīng)功能的倒計(jì)時(shí),在此期間,如果停止鍵按下,則終止進(jìn)程,返回初始界面。延時(shí)程序用于LCD1602液晶顯示屏的寫操作的等待。電機(jī)驅(qū)動(dòng)程序用來控制相應(yīng)控制引腳的高低電平??刂葡到y(tǒng)流程圖如圖4。
圖4 系統(tǒng)流程圖
3.2 藍(lán)牙串口程序
圖5 藍(lán)牙串口流程圖
在UART通信過程中,采用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,利用公式:波特率=(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所示。
圖6 按鍵掃描程序
圖7 按鍵掃描的去抖流程圖
3.4 LCD1602液晶顯示
LCD1602液晶[5]內(nèi)部帶有80 B的顯示RAM,用來發(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)的。而每行多出來的一部分是為了顯示移動(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;
輸出:無;
寫指令:
輸入: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ù);
輸出:無。
圖8 LCD 1602液晶顯示內(nèi)部RAM
操作1602液晶顯示的流程如下:
(1)通過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,完成寫操作。
為了進(jìn)一步驗(yàn)證本文設(shè)計(jì)的控制系統(tǒng)簡(jiǎn)便有效,利用Keil編寫程序并進(jìn)行Proteus仿真,仿真結(jié)果顯示洗衣機(jī)運(yùn)行正常、液晶顯示信息正確。根據(jù)原理圖以及仿真圖制作硬件模擬實(shí)物,通過Ecilpse編寫藍(lán)牙串口Android版軟件,在非開闊的環(huán)境下對(duì)不同距離的通信情況進(jìn)行測(cè)試,通過手機(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)清晰可見,適合不同年齡層次的用戶使用。Proteus仿真結(jié)果如圖9所示。
圖9 進(jìn)水模式Proteus仿真結(jié)果
注:Y—正常;N—不正常
在Proteus仿真中通過設(shè)置串口或者矩陣式鍵盤來設(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), 通過帶有背光的LCD
液晶顯示屏顯示工作狀態(tài)以及剩余時(shí)間,相比傳統(tǒng)的數(shù)碼管顯示更加準(zhǔn)確清晰。通過仿真可看出電機(jī)的轉(zhuǎn)動(dòng)狀況。紅外熱釋在黑暗的條件下感知到人經(jīng)過時(shí)就會(huì)點(diǎn)亮以輔助人的取衣操作。通過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)過硬件測(cè)試,在電機(jī)異常的狀態(tài)下洗衣機(jī)能夠發(fā)出相應(yīng)的警報(bào)并且將存在的問題通過LCD液晶顯示出來,極大地降低了維護(hù)的難度。
[1] 劉曉彤. 基于Proteus的全自動(dòng)洗衣機(jī)控制系統(tǒng)設(shè)計(jì)[J]. 微計(jì)算機(jī)信息, 2012: 28(9):146-148.
[2] 溫宗周. 孟建華. 單片機(jī)原理與接口技術(shù)[M].北京:中國(guó)電力出版社, 2009.
[3] 趙勇. 嵌入式系統(tǒng)藍(lán)牙模塊設(shè)計(jì)[D]. 北京:北京交通大學(xué),2007.
[4] 徐青山, 李正云. 紅外熱釋電人體感應(yīng)飲水機(jī)智能控制開關(guān):中國(guó),CN201830232[P].2010-10-29.
[5] 劉樹中, 孫書膺, 王春平.單片機(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.
Design of smart automatic washing machine control system based on STC89C52
Zhang Zhe, Li Zhi, Guan Sihai
(School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China)
In order to reduce the operation power consumption of the automatic washing machine, improve the stability of the running, reduce manufacturing cost and make the operation more convenient, in this paper, an automatic washing machine control system based on STC89C52 MCU is designed. This control system consists of Bluetooth, infrared heat release, LCD1602 and d-c generator. Using Bluetooth wireless communication technology to control the running of the washing machine in the long distance by mobile terminal. In addition, using infrared heat release to control lighting equipment, to make get out of the clothes easy. At last, the design method of systematic hardware structure and software flow is also put forward. And the simulation results through Proteus verify that the control system designed in this paper is simple and effective.
STC89C52; bluetooth wireless communication; infrared heat release; smart home
國(guó)家自然科學(xué)基金(61673310)
TP13
A
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.
2016-12-04)
張哲(1993-),男,碩士研究生,主要研究方向:復(fù)雜網(wǎng)絡(luò)一致性、嵌入式設(shè)計(jì)。
李智(1961-),男,博士,教授,主要研究方向:復(fù)雜網(wǎng)絡(luò)、博弈演化、自適應(yīng)信號(hào)處理。
管四海(1990-),男,博士研究生,主要研究方向:自適應(yīng)信號(hào)處理。