, ,,
(上海工程技術(shù)大學 電子電氣工程學院 機械電子工程,上海 201620)
目前,傳統(tǒng)投幣式洗衣機已經(jīng)被廣泛使用,特別是在學校、醫(yī)院、軍隊等地方。傳統(tǒng)投幣式洗衣機一方面需要用戶自備零錢和花時間等待,另一方面運營商需要定期取貨幣,極不方便;同時洗衣機缺少節(jié)約用水設(shè)計,造成水資源浪費,不利于環(huán)保;當洗衣機出現(xiàn)故障無法及時得知并報修,縮短使用周期等。這些問題都給用戶的使用和運營商的運營維護帶來了諸多不便。
為解決以上問題,本文設(shè)計的共享式智能洗衣機集成網(wǎng)絡通信技術(shù)和智能控制技術(shù),實現(xiàn)在線電子支付、衣物模糊稱重、水位監(jiān)測、故障監(jiān)測與報警等,使洗衣機更加人性化、智能化,大大提高用戶體驗。對于用戶來說,通過使用手機APP就可以在線完成洗衣機的電子支付,無需自備零錢,并且洗衣完成后會通過APP提醒用戶,節(jié)約了用戶的時間和精力,使洗衣更加方便快捷。而對于運營商來說,電子貨幣的使用也更加方便運營;控制系統(tǒng)的故障實時監(jiān)控和故障報警,使得運營商及時發(fā)現(xiàn)故障并進行維護,提高服務質(zhì)量。
本設(shè)計依據(jù)是共享式洗衣服務,主要使用技術(shù)有:洗衣機智能控制技術(shù)和GPRS定位、通信技術(shù)。共享智能洗衣機作為公共服務型產(chǎn)品首先要考慮的系統(tǒng)工作穩(wěn)定性和資源節(jié)約性,因此進行衣物模糊稱重設(shè)計,達到節(jié)水目的。本次設(shè)計的共享智能洗衣機與傳統(tǒng)投幣式洗衣機主要區(qū)別是可靠性、實時性的人機交互模式:1)洗衣機與運營商通過后臺服務器的人機交互;2)洗衣機與消費者通過手機APP的人機交互。本系統(tǒng)利用GPRS的實時通信功能,保障系統(tǒng)中的數(shù)據(jù)進行實時傳輸。

圖1 系統(tǒng)總結(jié)構(gòu)框圖
系統(tǒng)主要包含手機客戶端、服務器、GPRS模塊、控制系統(tǒng)四大模塊。手機客戶端將位置及支付信息傳送給服務器;服務器收到信號后發(fā)送洗衣控制命令給GPRS模塊,GPRS模塊通過串口再進一步控制洗衣系統(tǒng)的工作。其總結(jié)構(gòu)框圖如圖1所示。當沒有洗衣命令時,系統(tǒng)處于待機狀態(tài),只消耗極少的電能。當手機客戶端選定洗衣機并發(fā)送洗衣命令后,后臺服務器會給選定的洗衣機發(fā)送洗衣命令。洗衣完成后,洗衣機會通過后臺服務器給手機客戶端發(fā)送洗衣機結(jié)束信息,提醒用戶領(lǐng)取衣物。
系統(tǒng)硬件框圖如圖2所示。

圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
本系統(tǒng)采用STM32F030單片機作為控制核心,通過SIM800C系列GPRS通信模塊,建立洗衣機網(wǎng)絡服務器之間的通信,從而實現(xiàn)對洗衣機的定位和客戶端APP對洗衣機控制;通過模糊稱重電路與水位監(jiān)控電路實現(xiàn)節(jié)水的目的;通過采用AT24C02存儲芯片設(shè)計防掉電存儲電路,定時存儲洗衣工作狀態(tài)數(shù)據(jù);數(shù)碼管實時顯示洗衣機運行時間;通過洗衣機門檢測電路與報警控制程序相結(jié)合,錯誤操作提醒,保證洗衣機安全運行;通過三極管開關(guān)電路控制繼電器,實現(xiàn)對進、排水閥的安全控制;采用MOC3063光耦驅(qū)動器與BTA16-600雙向可控硅組成電機驅(qū)動電路,控制洗衣機電機正常工作[1]。
遠程GPRS通信、衣服模糊稱重、水位監(jiān)測、掉電存儲重啟電路的設(shè)計對整個系統(tǒng)的穩(wěn)定運行至關(guān)重要,因此本文針對這4個部分的設(shè)計進行詳細介紹。
GPRS通信部分為系統(tǒng)的關(guān)鍵部件,用于實現(xiàn)洗衣機和云端服務器之間的信息傳輸。本設(shè)計采用SIMCOM公司的SIM800C模塊,支持GSM800、EGSM900、DSC1800和 PCS1900MHz四種工作頻段,可實現(xiàn)全球使用,內(nèi)嵌24 Mbit的Flash和強大的TCP/IP協(xié)議棧,支持AT指令,全功能UART接口[2-3]。STM32單片機可以通過串口發(fā)送AT指令控制GPRS模塊,并且將串口數(shù)據(jù)轉(zhuǎn)化成TCP/IP數(shù)據(jù)包進行發(fā)送。SIM800C模塊正常工作時需要提供3.4~4.4 V的電壓,當模塊進行最大功率工作時,電流峰值會瞬間達到2A。因此,為了保證模塊穩(wěn)定運行,采用開關(guān)電源芯片MP1471作為供電芯片,并在輸出端并聯(lián)470 μF的大電容。MP1471是一款可調(diào)輸出型的開關(guān)電源芯片,最大可輸出3 A的電流,有效保證SIM800C模塊穩(wěn)定運行。同時為保證系統(tǒng)長時間穩(wěn)定工作,GPRS模塊的供電采用PMOS進行控制,當單片機檢測到GPRS模塊工作不正常時,自動重啟GPRS模塊,提高用戶體驗。
當電機正轉(zhuǎn)或反轉(zhuǎn)斷電瞬間,由于慣性作用,電機仍在轉(zhuǎn)動,此時轉(zhuǎn)子切割定子而產(chǎn)生感應電動勢。電機在衣物等的阻尼作用下逐漸停止的過程中,感應電動勢會慢慢衰減而至消失,形成一系列不斷衰減的正弦波[4]。感應電動勢的大小和頻率與衣質(zhì)和衣量有關(guān),衣物越硬、質(zhì)量越重,產(chǎn)生的正弦波的數(shù)越少。因此,可以根據(jù)產(chǎn)生正弦波個數(shù)判斷衣物的重量。

圖3 模糊稱重電路
根據(jù)這個原理,引入模糊稱重電路,如圖3,光電耦合器選擇PC817芯片,斯密特觸發(fā)器選用74LVC1G04芯片。電機未轉(zhuǎn)動時,光耦P1不工作,單片機通過R10、反相器U4、R12下拉至低電平。電機轉(zhuǎn)動時,電機插座接口之間會產(chǎn)生感應電動勢,此時R9、P1、D2會形成回路,光耦工作,并根據(jù)電動勢的大小光耦在導通與截止之間不斷變換,產(chǎn)生一系列高低變化的脈沖信號給單片機。根據(jù)單片機采集的脈沖信號模糊判斷衣物的多少,自動控制進水量。
水位檢測電路是通過水位傳感器來工作的。水位傳感器內(nèi)部可等效為一個LC震蕩電路[5]。水位傳感器的振蕩頻率受水壓的影響,水位升高,水壓變大,水位傳感器的頻率降低;水位減小,水壓變小,水位傳感器的頻率變大。因此,單片機可以通過判斷震蕩頻率的大小判斷水位的高低。

圖4 水位檢測電路
如圖4水位檢測電路,水位傳感器信號通過CON3接入電路。傳感器工作時會在CD4069邏輯非門的1、5管腳之間形成一系列高低變化的正弦波信號,并且兩端口信號始終相反。最后信號經(jīng)過反相器U5C的6管腳輸出,并且輸出信號會經(jīng)過電容濾波處理[6],最終變成高低電平循環(huán)變化的方波輸出給STM32F030單片機。
存儲芯片選用Ateml公司的AT24C02電可擦除存儲芯片,2 KBit的EEPROM,可擦寫次數(shù)大于10000,采用IIC穿行通信方式。為提高用戶的使用體驗,本設(shè)計設(shè)置有掉電自動保存洗衣狀態(tài)功能,系統(tǒng)每隔1分鐘的時間將當前的洗衣狀態(tài)存儲到外部EEPROM中,當系統(tǒng)出現(xiàn)意外斷電的情況時,系統(tǒng)也能記錄下意外斷電時洗衣機的狀態(tài),當系統(tǒng)再次上電時,自動從斷電位置繼續(xù)運行,這種做法既提高了用戶的使用體驗,同時達到了節(jié)能減排的效果。由于EEPROM芯片的擦寫次數(shù)有限,而實際使用中EEPROM需每分鐘寫入一次洗衣機當前的運行狀態(tài),所以,為提高EEPROM芯片的使用壽命,設(shè)計程序時,我們采取“空間換時間”的解決方案,經(jīng)計算,2 KBit的EEPROM,按照每天洗衣10次的工作量計算,該EEPROM的使用壽命可達100年,完全滿足使用需求。
本系統(tǒng)的軟件設(shè)計包括部分:下位機軟件設(shè)計和上位機(網(wǎng)絡服務器和客戶端APP)軟件設(shè)計。下位機軟件程序是基于KEIL5的編譯環(huán)境,采用C語言進行編寫。上位機軟件的網(wǎng)絡服務器是基于MyEclipse平臺搭建開發(fā)環(huán)境,使用Java進行軟件系統(tǒng)開發(fā);另客戶端是基于android studio平臺進行開發(fā)。
下位機軟件的主要功能有三部分:網(wǎng)絡通訊、洗衣機控制和故障實時監(jiān)測。洗衣GPRS通信模塊接受到信號后,通過串口USART把數(shù)據(jù)傳輸給單片機,單片機根據(jù)數(shù)據(jù)判斷洗衣工作模式:漂洗、超強洗(與漂洗過程一樣,僅僅是洗衣時間較長)、單脫水,并啟動洗衣機開始工作。洗衣完成后,洗衣機停止工作,并把洗衣完成信號通過GPRS通信模塊發(fā)送出去。故障實時監(jiān)測主要對洗衣機的門開關(guān)狀態(tài)、進水閥和排水閥開關(guān)狀態(tài)實時監(jiān)測。當洗衣機進行洗衣工作時,洗衣機的門、進水閥、排水閥必須關(guān)閉,否則就會出現(xiàn)故障,洗衣機停止工作并報警。圖5是洗衣機主程序流程圖。
3.1.1 衣物模糊稱重
模糊稱重利用洗衣機電機慣性自轉(zhuǎn)切割磁感線產(chǎn)生感應電動勢的原理,通過檢測產(chǎn)生正弦波感應電動勢的頻率,間接對衣物進行模糊稱重[7]。模糊稱重設(shè)計程序:1)通過單片機控制電機進行正反各5S轉(zhuǎn)動;2)隨后啟動波形檢測程序,圖3中正弦波整流成的方波信號通過W Pulse引腳接入單片機,配置單片機定時器做計數(shù)器,采用時鐘模式2:外部觸發(fā)輸入(ETR),配置上升沿觸發(fā)計數(shù);3)記錄計數(shù)器并進行處理。通過多次實驗,設(shè)定模糊稱重標準和對應水位標準。
3.1.2 水位檢測
受水壓影響,水位傳感器輸出波形頻率會隨水位高低變化而變化。在進行水位檢測程序之前,需要進行洗衣機水位標定,記錄單片機所采集地水位傳感器在特定水位區(qū)產(chǎn)生波形頻率。水位檢測程設(shè)計:1)進水程序開始后,啟動水位檢測程序;2)圖3水位檢測電的Level引腳連接單片機TIMX_ETR引腳(配置單片機定時器做計數(shù)器,采用時鐘模式2:外部觸發(fā)輸入,配置上升沿觸發(fā)計數(shù));3)水位比較,把模糊稱重設(shè)定的水位值(脈沖數(shù))作為比較條件,單片機采集水位傳感器輸出信號脈沖數(shù)小于設(shè)定比較值,繼續(xù)進水。當單片機采集水位傳感器輸出信號脈沖數(shù)大于或等于設(shè)定比較值,停止進水。
3.1.3 GPRS通信
GPRS通信電路主要有SIM800C組成,單片機與SIM800C模塊通過USART進行通信。GPRS通信程序有數(shù)據(jù)發(fā)送和接收兩部分組成,發(fā)送程序采用定時器中斷觸發(fā),接收程序采用串口中斷觸發(fā)。數(shù)據(jù)發(fā)送程序:1)配飾STM32單片機定時器,一分鐘中斷觸發(fā)一次(洗衣機開始工作后,單片機通過串口控制SIM800C模塊每分鐘向服務器發(fā)送一次洗衣機工作狀態(tài));2)中斷服務程序,單片機通過AT指令把洗衣機工作時間輸送給SIM800C,數(shù)據(jù)進行打包通過GPRS發(fā)送給服務器。數(shù)據(jù)接收程序:1)配置STM32單片機串口為接受中斷模式;2)中斷服務程序,STM32接收串口數(shù)據(jù),讀取數(shù)據(jù)中的控制指令。
服務器是基于MyEclipse平臺運用Java語言進行開發(fā)的軟件系統(tǒng),采用Apache tomcat 7.0設(shè)計服務器,選用關(guān)系型數(shù)據(jù)庫MySQL設(shè)計數(shù)據(jù)庫。系統(tǒng)采用SSH(Spring、Struts2、Hibernate)的企業(yè)級整合框架進行開發(fā)。Hibernate是一個ORM(Object Relational Manpping)框架,可以實現(xiàn)數(shù)據(jù)持久化編程。利用Struts2構(gòu)建的MVC(Model-View-Controller)的設(shè)計模式,實現(xiàn)業(yè)務邏輯層、邏輯控制層和視圖層相互分離,系統(tǒng)各層低耦合、高內(nèi)聚的特點,易于代碼的維護。Spring作為一個容器,整合了Hibernate和Struts2框架,構(gòu)造服務器控制中心。服務器主要功能:1)通過Internet進行命令發(fā)送、接收和處理,2)通過Internet進行數(shù)據(jù)(洗衣機位置信息和狀態(tài)信息)接收、處理和保存。服務器通過Internet與APP和Device(洗衣機)建立連接,APP獲取Device信息并發(fā)送給服務器,服務器在MySQL數(shù)據(jù)庫中尋找Device數(shù)據(jù)并處理,通過Internet發(fā)送命令給Device,控制Device工作。
客戶端的主要功能是實現(xiàn)洗衣機與客戶的人機交互功能,為客戶提供方便、人性化的洗衣服務??蛻舳薃PP通過手機網(wǎng)絡與網(wǎng)絡服務器相連,間接實現(xiàn)與洗衣機通信。客戶可以在客戶端APP上完成洗衣支付、預約和模式選擇功能,洗衣結(jié)束后APP會自動提示。客戶端APP工作流程:1)通過掃描Device上二維碼來獲取Device信息,或者通過輸入Device的編碼號獲取Device信息,然后通過Internet與服務器建立連接。2)洗衣機模式選擇;網(wǎng)絡支付;開始洗衣工作。具體流程圖見圖6。
GPRS網(wǎng)絡通信是系統(tǒng)上位機與下位機之間唯一的通信方式,網(wǎng)絡通信穩(wěn)定與否直接影響到系統(tǒng)功能能否正常實現(xiàn),如果網(wǎng)絡通信出現(xiàn)故障,洗衣機無法收到命令,無法進行洗衣工作。本系統(tǒng)GPRS通信模塊天線采用內(nèi)部天線,通過測試GPRS通信模塊與服務器的鏈接速度,判斷系統(tǒng)GPRS通信模塊穩(wěn)定性。測試方法:利用網(wǎng)絡調(diào)試助手和NATAPP網(wǎng)絡服務器搭建測試環(huán)境;系統(tǒng)GPRS通信模塊與NATAAP網(wǎng)絡服務器進行100重復鏈接,并記錄每次成功鏈接所用時間,如表1所示。系統(tǒng)GPRS通信模塊成功鏈接到網(wǎng)絡服務器時間都分布在22~26 s之間,完全滿足商家30 s內(nèi)成功鏈接的要求。

表1 網(wǎng)絡成功鏈接所需時間與連接次數(shù)信息
由于整機系統(tǒng)的不穩(wěn)定性和電機驅(qū)動的非閉環(huán)性,皮帶松緊度的離散性,使得模糊稱重的數(shù)據(jù)不能簡單的用某種算法來進行計算,因此給模糊稱重的設(shè)計增加了很大的難度[8]。本次設(shè)計采用了實驗法,我們采用市場大規(guī)模生產(chǎn)的洗衣機作為測試平臺,這種洗衣機洗衣量較大、皮帶出廠設(shè)計較緊,因此本次模糊稱重實驗是在皮帶緊的情況下進行的進行測試,對控制器采集到的數(shù)據(jù)進行整理,根據(jù)皮帶的松緊度,列出了模糊曲線,見表2。

表2 模糊稱重曲線表
根據(jù)脈沖曲線數(shù),將模糊稱重分為三檔,見表3。

表3 稱重檔位表
本文設(shè)計的共享式智能洗衣機控制系統(tǒng),集成網(wǎng)絡通信技術(shù)和智能控制技術(shù)。以處理器STM32F030為核心構(gòu)建的洗衣機智能控制平臺,實現(xiàn)對洗衣機的智能控制;基于SIM800C設(shè)計的GPRS網(wǎng)絡通信模塊,為系統(tǒng)提供穩(wěn)定可靠網(wǎng)絡通信環(huán)境。共享智能洗衣機相比傳統(tǒng)投幣式洗衣機有更好的人機遠程交互能力,很好的解決投幣式洗衣機支付繁瑣、排隊耗時、取衣不及時、水資源浪費等問題,共享式洗衣機緊跟現(xiàn)代互聯(lián)網(wǎng)技術(shù)步伐,能給顧客帶來更好的洗衣體驗。