沈澍 劉小雨 顧康
摘? 要: 信息物理系統(tǒng)(CPS)的出現(xiàn)使得許多技術(shù)發(fā)生了巨大的革新,智能洗衣機(jī)的發(fā)展也可以利用信息物理系統(tǒng)。通過采集洗衣過程中的水濃度信息,控制器可以自行判斷是否完成全部洗衣工作,實現(xiàn)了無固定洗滌流程的洗衣過程。利用了有限狀態(tài)機(jī)的思想并在FPGA平臺上進(jìn)行開發(fā),更加簡潔直觀的實現(xiàn)所需功能。測試結(jié)果表明,該控制器能夠?qū)崿F(xiàn)所述功能,可以有效解決洗滌殘留以及資源浪費等實際問題。
關(guān)鍵詞: 信息物理系統(tǒng); 智能控制器; FPGA; 有限狀態(tài)機(jī); 反饋控制
中圖分類號:TP391.8? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號:1006-8228(2019)01-17-04
Abstract: The emergence of CPS (cyber-physical systems) has led to great innovations in many aspects. The development of smart washing machines can also take advantage of CPS. By collecting the water concentration information in the washing process, the controller can judge the reality and realize the washing process without fixed washing process. It makes use of the idea of finite state machine and develops on FPGA platform to realize the required functions more concisely and intuitively. The test results show that the controller can realize the function and solve the practical problems such as washing residue and waste of resources.
Key words: CPS; intelligent controller; FPGA; finite state machine; feedback control
0 引言
洗衣機(jī)的出現(xiàn)在很大程度上減輕了人們家務(wù)方面的壓力。但是,隨著人們對生活質(zhì)量的不斷追求,現(xiàn)有的洗衣機(jī)并不能滿足所有用戶的需求[1]。一是,固定的洗衣流程無法靈活的滿足所有用戶的需求。二是,洗衣粉用量的不同可能會導(dǎo)致水資源的浪費或洗衣粉的殘留。因此,對智能洗衣機(jī)控制器的研究是十分必要的。
本文實現(xiàn)的是基于信息物理系統(tǒng)(CPS)的智能洗衣機(jī)控制器仿真與設(shè)計。CPS定義了物理與信息兩種元素,它常常會與一個或多個反饋控制回路相結(jié)合,且物理進(jìn)程與信息元素之間會相互影響[2-5]。本文用反饋控制回路的思想,通過物理條件來判斷洗衣是否結(jié)束,實現(xiàn)了非固定的洗衣流程[6-7]。
FPGA是一種在專用集成電路領(lǐng)域中作為半定制電路而出現(xiàn)的芯片,具有效率高、實時性好、成本低、靈活性強(qiáng)等優(yōu)點。通過對各種實現(xiàn)途徑的詳盡分析,本文最終選用FPGA作為硬件平臺,并利用硬件描述語言Verilog HDL對有限狀態(tài)機(jī)中的每個過程進(jìn)行仿真,實現(xiàn)了更加靈活與高效的洗衣過程[8-12]。
本文分五個部分。第一部分引言,主要介紹研究背景以及相關(guān)技術(shù)。第二部分系統(tǒng)結(jié)構(gòu)設(shè)計,描述了本系統(tǒng)的三個模塊組成。第三部分軟件設(shè)計,介紹狀態(tài)機(jī)中的編碼與主要功能的具體實現(xiàn)方法。第四部分仿真實驗,展示了實驗測試的結(jié)果圖。第五部分結(jié)束語,對本文進(jìn)行總結(jié),并對未來研究做進(jìn)一步展望。
1 系統(tǒng)結(jié)構(gòu)設(shè)計
本文所描述的內(nèi)容分為控制模塊、感知模塊和設(shè)備模塊三個部分??刂颇K即FPGA芯片;感知模塊分為門蓋檢測單元、水位檢測單元和水成分檢測單元三個部分;設(shè)備模塊分為水位控制單元、定時器、電機(jī)驅(qū)動、蜂鳴器、按鍵單元以及電源六個部分。
控制模塊作為此項智能控制器的核心部分,在洗衣的過程中,所有信息都需經(jīng)過它的處理之后才能傳送給數(shù)據(jù)單元的各個部件,以此決定洗衣機(jī)的工作狀態(tài)[13]。
感知模塊是控制模塊與設(shè)備模塊的中間橋梁,主要承擔(dān)反饋控制的任務(wù)。它通過其中傳感器等感知部件對已有條件的檢測,分別將信號傳遞給不同單元以實現(xiàn)相關(guān)功能。其中,水成份檢測單元通過水體檢測傳感器返回的信號,來判斷水體濃度是否超標(biāo),并據(jù)此判斷是否再進(jìn)行漂洗。
設(shè)備模塊的各部分在控制器的信號控制下完成各自工作,以實現(xiàn)不同功能。其中,水位控制單元主要包括進(jìn)水控制閥、排水牽引器等裝置,用來控制自來水的進(jìn)出,實現(xiàn)需要水位[14]。具體如圖1所示。
2 軟件設(shè)計
2.1 狀態(tài)機(jī)的定義與編碼
洗衣過程分為7個狀態(tài),不同狀態(tài)對應(yīng)不同的操作過程。具體如表1所示。需要指出的是,狀態(tài)機(jī)處于進(jìn)水狀態(tài)及甩干狀態(tài)時,進(jìn)水口關(guān),排水口開,水成份檢測為開啟狀態(tài)。另外,若門蓋檢測單元檢測到門蓋開啟,狀態(tài)機(jī)會跳轉(zhuǎn)到報警狀態(tài),蜂鳴器開始鳴叫。
⑴ 電機(jī)驅(qū)動:00表示電機(jī)停止轉(zhuǎn)動,01表示電機(jī)開始轉(zhuǎn)動,10表示甩干。
⑵ 進(jìn)出水口控制:00表示均關(guān)閉,01表示進(jìn)水口開、排水口關(guān),10表示進(jìn)水口關(guān)、排水口開。
⑶ 蜂鳴器鳴叫:00表示非鳴叫狀態(tài),01表示鳴叫狀態(tài)。
⑷ 水成分檢測:0表示系統(tǒng)關(guān)閉,1表示系統(tǒng)開放。
2.2 功能模塊的具體設(shè)計
2.2.1 有限狀態(tài)機(jī)的運(yùn)行
根據(jù)實際洗衣的操作過程,此控制器的狀態(tài)轉(zhuǎn)化圖如圖2所示。
圖2中設(shè)置了信號量sign1和sign2。其中,sign1為門蓋狀態(tài)檢測系統(tǒng)反饋的信號量,0代表門蓋打開,1代表門蓋閉合完好;sign2為水成分檢測所反饋的信號量,0為水體濃度已小于某一定值,即已到達(dá)洗凈狀態(tài),可以結(jié)束洗衣;1為水體濃度仍大于某一定值,需循環(huán)進(jìn)行洗衣過程,直到sign2為0。
在狀態(tài)機(jī)的運(yùn)行過程中,我們設(shè)置了狀態(tài)信號(state)與下一狀態(tài)信號(nextstate)。洗衣工作開始后,控制器把開始狀態(tài)的編碼000傳輸給state。不同的狀態(tài)信號會對應(yīng)不同的nextstate。在圖2中可以清楚的了解每一狀態(tài)的下一狀態(tài)。需注意,在甩干狀態(tài)下,水成分檢測呈開啟狀態(tài),門蓋檢測也呈開啟狀態(tài)。當(dāng)這一狀態(tài)下門蓋被打開,門蓋檢測反饋給控制器的信號量sign1的值為0,此時下一狀態(tài)跳轉(zhuǎn)到報警狀態(tài),同時給予提示閉合門蓋。通過對水成分的檢測得到信號量sign2的值,若為0,說明衣服洗凈,下一狀態(tài)為完成狀態(tài);若為1,則說明還未洗凈,下一狀態(tài)為進(jìn)水狀態(tài),循環(huán)洗滌,直至衣服洗凈,到達(dá)完成狀態(tài)。
2.2.2 電機(jī)控制
在洗衣過程中合理使用電機(jī)可以使洗衣過程變得高效,同時也可以節(jié)省能源。如圖3,電機(jī)控制分為洗衣和甩干兩個部分,相應(yīng)的,電機(jī)旋轉(zhuǎn)速度與旋轉(zhuǎn)方向有所不同[15]。不同狀態(tài)下計時器的初值也不同,其數(shù)值會隨時間遞減,遞減為0時,對應(yīng)狀態(tài)下的電機(jī)工作完成。
3 仿真實驗
本文利用Verilog HDL進(jìn)行仿真,如下為仿真結(jié)果,即狀態(tài)機(jī)的不同信號量下的測試結(jié)果:
從圖4的波形圖中可以看出,當(dāng)sign1與sign2均為0時,即門蓋被打開、水體濃度已達(dá)標(biāo)的情況下,狀態(tài)從甩干狀態(tài)到報警狀態(tài),因sign1的值不改變,所以狀態(tài)信號(state)始終保持在報警狀態(tài)。當(dāng)sign2變?yōu)?時,state變化與圖4保持一致。
從圖5的波形圖中看出,當(dāng)sign1為1,sign2為0時,即門蓋持續(xù)閉合,并且檢測到水體濃度小于某一定值時,洗衣工作結(jié)束,也就是狀態(tài)機(jī)完成了一整套狀態(tài)轉(zhuǎn)化。
從圖6的波形圖中看出,當(dāng)sign1和sign2均為1時,由于sign2的值保持1,即衣服未洗凈,狀態(tài)機(jī)從甩干狀態(tài)后做循環(huán)洗滌工作。
需要說明的是,由于沒有定義結(jié)束過程,在實際應(yīng)用中我們通過添加最大循環(huán)次數(shù)從而避免因人工或控制器本身的錯誤導(dǎo)致洗衣過程的無限循環(huán),進(jìn)而造成資源的浪費并違背本文的初衷。
4 結(jié)束語
將信息物理系統(tǒng)與智能洗衣機(jī)控制器相結(jié)合能夠讓用戶有更加人性化的洗衣體驗,本文的創(chuàng)新之處在于非固定的洗衣流程,它將洗衣機(jī)控制器與信息物理系統(tǒng)相結(jié)合,洗衣的具體流程由洗衣過程中所反饋的信號量決定,實現(xiàn)了信息空間與物理過程的融合。這種方法利用了信息物理系統(tǒng)中的反饋控制思想,既節(jié)約了水資源,又減輕了洗衣機(jī)控制器的負(fù)擔(dān),體現(xiàn)出了現(xiàn)代智能洗衣機(jī)的綠色、高效等特點。
在后面的研究中,為了進(jìn)一步加快智能洗衣機(jī)的發(fā)展進(jìn)程,還可以將信息物理系統(tǒng)與智能洗衣機(jī)進(jìn)行更進(jìn)一步的融合,以實現(xiàn)更加人性化的智能洗衣機(jī)控制器。
參考文獻(xiàn)(References):
[1] 劉賀,余成波,張方方.全自動洗衣機(jī)的模糊控制分析[J].重慶理工大學(xué)學(xué)報:自然科學(xué),2009.5:111-114
[2] 程著.基于信息物理家居系統(tǒng)的熱舒適控制器的設(shè)計與評價[D].天津大學(xué),2013.
[3] Rajkumar R, Lee L, Sha L, Stankovic J. Cyber-physical?systems: The next computing revolution[C]//Design Automation Conference. Anaheim, CA, USA:IEEE,2010:731-736
[4] Congcong S, Gabriela C, Vincenc P, Jordi M. Cyber-Physical Systems for Real-Time Management in the Urban Water Cycle[C]//2018 International Workshop on Cyber-physical Systems for Smart Water Networks (CySWater). Porto, Portugal, Portugal:IEEE,2018:5-8
[5] Chin-Feng Lai, Yi-Wei Ma, Sung-Yen Chang,?Han-Chieh Chao, Yueh-Min Huang. OSGi-based services architecture for Cyber-Physical Home Control Systems[J]. Computer Communications,2010,2010.2:184-191
[6] Michal K, Stefan K, Branislav D. Design and?Implementation of FPGA - digital based PID controller[C]//2014 15th International Carpathian Control Conference (ICCC). Velke Karlovice, Czech Republic: IEEE,2014:233-236
[7] Li H, Zhang X F, Pang L J, Tong Y W. Design and Implementation on the Temperature Control System of Roaster Based on FPGA and Fuzzy-PID Technology[C]//2011 Fourth International Conference on Intelligent Computation Technology and Automation. Shenzhen, Guangdong, China:IEEE,2011:396-399
[8] 孔昕,吳武臣,侯立剛.基于Verilog的有限狀態(tài)機(jī)設(shè)計與優(yōu)化[J].微電子學(xué)與計算機(jī),2010.2:180-183
[9] 郭忠,李濤,李勇,張勇.基于FPGA的洗衣機(jī)控制系統(tǒng)設(shè)計[J].電子設(shè)計工程,2012.13:190-192
[10] 李國麗.EDA與數(shù)字系統(tǒng)設(shè)計[M].機(jī)械工業(yè)出版社,2003.
[11] 褚振勇,翁木云.FPGA設(shè)計及應(yīng)用[M].西安電子科技大學(xué)出版社,2002.
[12] Gu J; Du Q. The Design of Intelligent Washing Machine Controller Based on FPGA[C]//2015 Fifth International Conference on Instrumentation and Measurement, Computer, Communication and Control (IMCCC). Qinhuangdao,China: IEEE,2015:1529-1532
[13] Zhao L T; Lin Z. A precise high-speed tracking and pointing control system of camera based on FPGA : Closed loop feedback control system to control the remote sensing camera lens moving[C]//2017 3rd IEEE International Conference on Control Science and Systems Engineering (ICCSSE). Beijing, China: IEEE,2017:173-177
[14] 張海波.全自動洗衣機(jī)控制器的設(shè)計[D].南京理工大學(xué),2012.
[15] 田艷,田莎莎.基于FPGA的全自動洗衣機(jī)控制器設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2012.9:48-51