張 哲,李 智,管四海
(西安電子科技大學 機電工程學院,陜西 西安 710071)
基于STC89C52的智能全自動洗衣機控制系統設計*
張 哲,李 智,管四海
(西安電子科技大學 機電工程學院,陜西 西安 710071)
為了降低全自動洗衣機的運行功耗、提高運行的穩定性、降低制造成本以及更方便的操作,設計了一種基于STC89C52單片機的全自動洗衣機控制系統。該控制系統由藍牙部分、紅外熱釋部分、LCD1602液晶部分和直流電機等組成。其中,采用藍牙無線通信技術以實現在長距離移動終端上控制洗衣機運行的參數;通過紅外熱釋電傳感器控制,以便于取衣操作。最后,給出了該控制系統的硬件結構和軟件流程,且通過Proteus仿真測試驗證了該控制系統是簡便有效的。
STC89C52;藍牙無線通訊;紅外熱釋電;智能家居
由于全自動洗衣機具有對洗滌物品的破壞性弱、一次可洗滌大量衣物、節省勞動力等優點,使它受到廣泛的使用并走進了千家萬戶[1]。但隨著智能家居概念的提出、傳播和在生活中的初步使用,使得人們對全自動洗衣機在價格低廉的基礎上又提出了性能可靠、洗衣功耗低、操作簡單、工作效率高以及便于維修等要求。然而目前的全自動洗衣機僅具有洗滌、甩干和暫停等幾大簡單洗滌功能,不足以滿足人們對于智能化控制的需求。此外,傳統洗衣機的運行狀態顯示常采用數碼管,這就導致運行狀態不清晰,錯誤代碼不明確,缺乏人性化,進而對洗衣機的操作和維護帶來極大的不便。
為了有效解決以上問題,本文利用HC-05藍牙模塊、矩陣式鍵盤、LCD1602液晶顯示屏和紅外熱釋電傳感器,基于STC89C52設計了一種智能控制系統。其中,利用HC-05藍牙模塊以及矩陣式鍵盤分別實現無線移動終端控制洗衣操作以及近距離人機操作;利用LCD1602液晶顯示屏以清晰的英文標識顯示當前的工作狀態并配有高亮度的背光,結合紅外熱釋傳感器為洗衣機的操作提供極大的便利。
此控制系統由STC89C52、藍牙串口電路、電機驅動電路、矩陣鍵盤電路、LCD1602液晶顯示模塊、紅外熱釋電模塊和報警電路組成,系統框圖如圖1。

圖1 系統框圖
在圖1中,STC89C52作為微控制器,用于實現控制算法;藍牙傳輸模塊用于實現無線遠距離設定洗衣機的洗衣模式、洗衣時間等;LCD1602用于顯示當前工作狀態(比如洗滌、脫水和洗滌模式)以及工作時間;由于STC89C52驅動能力有限,只能輸出10 mA左右的電流,所以利用電機驅動電路為電機進行電流放大從而驅動電機運行;紅外熱釋模塊主要驅動照明設備為工作人員在黑暗條件下操作洗衣機提供方便;報警電路主要用于電機損壞和意外斷電等突發情況以及洗滌結束后的提醒。
2.1 STC89C52單片機系統
STC89C52系統主要由微控制器(MCU)、時鐘電路和復位電路組成。STC89C52完全兼容8051單片機的特點,其主要參數為:時鐘頻率最高可達80 MHz;內置有5個中斷源,分為兩個優先級,每個中斷源的優先級是可以編程的,4個8位輸入/輸出口(P0,P1,P2,P3);有一個全雙工的串行口,其有4種工作方式,可通過設置SMOD寄存器進行配置;有3個16位的定時器/計數器[2]。由于STC89C52單片機除P0口外內部均嵌有上拉電阻,因此對于P0口在其外部必須接上拉電阻以保證電平的可靠性。其次,其復位電路采用上電給電容充電進而自動復位的方式。此外其串口(P3.1, P3.2)連接藍牙模塊的串口(TXD, RXD),P2口接洗衣機的功能鍵盤,P0口作為液晶的數據總線,P1.7口作為其報警電路的蜂鳴器控制端。
2.2 藍牙串口電路
藍牙通信的原理類似于單片機和計算機之間的串口通信,二者之間的通信需要借助串口,其通信示意圖如圖2[3]。

圖2 藍牙接線示意圖
圖2中GND表示單片機和HC-05系統的參考地,TXD是串行發送引腳,RXD是串行接收引腳。HC-05和單片機之間通信,為保證電源基準相同,故將單片機的GND與HC-05的GND連接起來。其次為構建通信通道,將單片機的接收引腳與HC-05的發送引腳連接起來,作為單片機的接收通道;將單片機的發送引腳和HC-05的接收引腳連接起來,作為單片機的發送通道。HC-05藍牙串口電路原理圖如圖3。

圖3 HC-05 內部原理圖
2.3 紅外熱釋模塊
紅外熱釋傳感器的原理[4]是通過其內部傳感器感知人體發射的紅外光譜從而產生高電平信號,當人離開傳感器的感應區則自動關閉高電平,輸出低電平。此外,紅外熱釋傳感器微功耗,靜態電流只有65 mA。其VCC接電源正極,GND接電源負極,OUT1接1 kΩ的限流電阻后接LED小燈。
2.4 電機驅動電路
STC89C52輸出的高電壓為5 V,低電壓為0 V,電流為10~20 mA。然而直流電機的啟動電流為200~400 mA,不足以驅動電機運行,故選取L298電機驅動模塊以放大電流。直流電機PWM控制系統的主要功能包括:通過控制兩個輸入引腳的電平信號控制直流電機的正轉、反轉和急停,且可通過調整電壓大小調整電機的轉速,能方便地實現電機的智能控制[5],其控制功能見表1。

表1 L298真值表
L298中的 ENA、ENB為使能端口,ENA用來控制左邊的電機,ENB用來控制右邊的電機;IN1、IN2、IN3、IN4為控制引腳,用來設置三極管的開關狀態。通過H橋來控制電機的運行,當使能端為高電平時控制有效;使能端為低電平時,輸入端對電機的控制失效[6]。輸入端的一個引腳接PWM信號,另一個輸入端接低電平時電機正轉;當該引腳輸入低電平另一個引腳輸入PWM信號時,電機朝另一個方向運行。當兩個輸入端的電平信號相同時, 電機快速停止。引腳以及功能如表2所示。

表2 引腳符號及功能
3.1 軟件整體結構設計
系統程序分為主程序、定時器中斷程序、延時程序、LCD1602液晶顯示程序和電機驅動程序等幾部分。定時中斷0用來控制洗衣進程的時間和電機正反轉,通過外部中斷0進行相應功能的倒計時,在此期間,如果停止鍵按下,則終止進程,返回初始界面。延時程序用于LCD1602液晶顯示屏的寫操作的等待。電機驅動程序用來控制相應控制引腳的高低電平。控制系統流程圖如圖4。

圖4 系統流程圖
3.2 藍牙串口程序

圖5 藍牙串口流程圖
在UART通信過程中,采用LSB方式即先發送數據的低位再發送數據的高位,再使TXD為低電平并持續一段時間,直到將8位二進制數字全部發送完畢,與此同時對TI和RI置1。其次,為了手機(上位機)與洗衣機能夠正常通信必須設置兩者為相同的波特率,因此就需要使用單片機的定時器1,利用公式:波特率=(2SMOD/32)×(T1的溢出率)[2],設置本系統波特率為9 600 b/s;在使用串口時,當接收到或者發送完數據后,會對標志位進行置1,但是串口中斷不會像定時器中斷自動地對標志位進行清0,需要軟件對標志位進行清0。藍牙串口接收數據的具體流程如圖5所示。
3.3 矩陣鍵盤子程序
矩陣鍵盤由16個按鍵組成,由于單片機的引腳有限,故將其設置成4行4列,進行行掃描或列掃描以減少對 IO口的使用。此外,為避免按鍵按下時出現抖動,因此需要去抖處理。按鍵掃描如圖6所示,按鍵去抖流程圖如圖7所示。

圖6 按鍵掃描程序

圖7 按鍵掃描的去抖流程圖
3.4 LCD1602液晶顯示
LCD1602液晶[5]內部帶有80 B的顯示RAM,用來發送數據,它的結構如圖8。
第一行地址是0X00~0X27,第二行是0X40~0X67H,其中第一行0X00H~0X0F是與液晶上第一行16個字符顯示位置相對應的,第二行0X40H~0X4F是與第二行16個字符顯示位置相對應的。而每行多出來的一部分是為了顯示移動字幕[7]。
基本操作時序:
讀狀態:
輸入:RS=L,R/W=H,E=H;
輸出:D0~D7 狀態字;
讀數據:
輸入:RS=H,R/W=H,E=H;
輸出:無;
寫指令:
輸入:RS=L,R/W=L,E=H,D0~D7=指令碼;
輸出:D0~D7數據;
寫數據:
輸入:RS=H,R/W=L,E=H,D0~D7=數據;
輸出:無。

圖8 LCD 1602液晶顯示內部RAM
操作1602液晶顯示的流程如下:
(1)通過RS信號確定是向LCD寫數據還是寫命令;
(2)讀寫模式設置(R/W)為寫模式,即將R/W設置為低電平;
(3)將數據或者命令送達數據總線上;
(4)給使能信號端EN一個高電平信號,將數據送入LCD的RAM,完成寫操作。
為了進一步驗證本文設計的控制系統簡便有效,利用Keil編寫程序并進行Proteus仿真,仿真結果顯示洗衣機運行正常、液晶顯示信息正確。根據原理圖以及仿真圖制作硬件模擬實物,通過Ecilpse編寫藍牙串口Android版軟件,在非開闊的環境下對不同距離的通信情況進行測試,通過手機藍牙串口軟件控制全自動洗衣機的運行,觀察能夠操作洗衣機的極限距離。
調試結果表明,HC-05藍牙模塊的有效通信距離為0~25 m,在此范圍內手機與洗衣機通信正常。實驗結果如表3所示。該系統能夠實現遠距離控制洗衣機的運行狀態,功耗低,控制時間準確,操作簡便,人性化,全自動洗衣機工作狀態清晰可見,適合不同年齡層次的用戶使用。Proteus仿真結果如圖9所示。

圖9 進水模式Proteus仿真結果
注:Y—正常;N—不正常
在Proteus仿真中通過設置串口或者矩陣式鍵盤來設置洗衣機的工作參數,相比傳統洗衣機的獨立式按鍵更加簡便、快捷,只需要針對所需要設置的功能設置按鍵即可。
圖9是全自動洗衣機進水狀態下的仿真結果。對應的LED顯示當前正在進行的狀態, 通過帶有背光的LCD
液晶顯示屏顯示工作狀態以及剩余時間,相比傳統的數碼管顯示更加準確清晰。通過仿真可看出電機的轉動狀況。紅外熱釋在黑暗的條件下感知到人經過時就會點亮以輔助人的取衣操作。通過Proteus軟件仿真以及實際的硬件測試驗證得出,本控制系統相比傳統全自動洗衣機控制系統,不僅能實現遠程控制運行、人體感應取衣操作、操作簡單快捷、更加人性化、智能化,而且使用STC89C52作為控制芯片大大降低了運行功耗和加工成本。另外,經過硬件測試,在電機異常的狀態下洗衣機能夠發出相應的警報并且將存在的問題通過LCD液晶顯示出來,極大地降低了維護的難度。
[1] 劉曉彤. 基于Proteus的全自動洗衣機控制系統設計[J]. 微計算機信息, 2012: 28(9):146-148.
[2] 溫宗周. 孟建華. 單片機原理與接口技術[M].北京:中國電力出版社, 2009.
[3] 趙勇. 嵌入式系統藍牙模塊設計[D]. 北京:北京交通大學,2007.
[4] 徐青山, 李正云. 紅外熱釋電人體感應飲水機智能控制開關:中國,CN201830232[P].2010-10-29.
[5] 劉樹中, 孫書膺, 王春平.單片機和液晶顯示驅動器串行接口的實現[J]. 微計算機信息, 2007,23(2):49-53.
[6] 彭鴻才.電機原理及拖動[M]. 北京:機械工業出版社, 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
國家自然科學基金(61673310)
TP13
A
10.19358/j.issn.1674- 7720.2017.07.030
張哲,李智,管四海.基于STC89C52的智能全自動洗衣機控制系統設計[J].微型機與應用,2017,36(7):102-105.
2016-12-04)
張哲(1993-),男,碩士研究生,主要研究方向:復雜網絡一致性、嵌入式設計。
李智(1961-),男,博士,教授,主要研究方向:復雜網絡、博弈演化、自適應信號處理。
管四海(1990-),男,博士研究生,主要研究方向:自適應信號處理。