沈澍 劉小雨 顧康
摘? 要: 信息物理系統(CPS)的出現使得許多技術發生了巨大的革新,智能洗衣機的發展也可以利用信息物理系統。通過采集洗衣過程中的水濃度信息,控制器可以自行判斷是否完成全部洗衣工作,實現了無固定洗滌流程的洗衣過程。利用了有限狀態機的思想并在FPGA平臺上進行開發,更加簡潔直觀的實現所需功能。測試結果表明,該控制器能夠實現所述功能,可以有效解決洗滌殘留以及資源浪費等實際問題。
關鍵詞: 信息物理系統; 智能控制器; FPGA; 有限狀態機; 反饋控制
中圖分類號:TP391.8? ? ? ? ? 文獻標志碼: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 引言
洗衣機的出現在很大程度上減輕了人們家務方面的壓力。但是,隨著人們對生活質量的不斷追求,現有的洗衣機并不能滿足所有用戶的需求[1]。一是,固定的洗衣流程無法靈活的滿足所有用戶的需求。二是,洗衣粉用量的不同可能會導致水資源的浪費或洗衣粉的殘留。因此,對智能洗衣機控制器的研究是十分必要的。
本文實現的是基于信息物理系統(CPS)的智能洗衣機控制器仿真與設計。CPS定義了物理與信息兩種元素,它常常會與一個或多個反饋控制回路相結合,且物理進程與信息元素之間會相互影響[2-5]。本文用反饋控制回路的思想,通過物理條件來判斷洗衣是否結束,實現了非固定的洗衣流程[6-7]。
FPGA是一種在專用集成電路領域中作為半定制電路而出現的芯片,具有效率高、實時性好、成本低、靈活性強等優點。通過對各種實現途徑的詳盡分析,本文最終選用FPGA作為硬件平臺,并利用硬件描述語言Verilog HDL對有限狀態機中的每個過程進行仿真,實現了更加靈活與高效的洗衣過程[8-12]。
本文分五個部分。第一部分引言,主要介紹研究背景以及相關技術。第二部分系統結構設計,描述了本系統的三個模塊組成。第三部分軟件設計,介紹狀態機中的編碼與主要功能的具體實現方法。第四部分仿真實驗,展示了實驗測試的結果圖。第五部分結束語,對本文進行總結,并對未來研究做進一步展望。
1 系統結構設計
本文所描述的內容分為控制模塊、感知模塊和設備模塊三個部分。控制模塊即FPGA芯片;感知模塊分為門蓋檢測單元、水位檢測單元和水成分檢測單元三個部分;設備模塊分為水位控制單元、定時器、電機驅動、蜂鳴器、按鍵單元以及電源六個部分。
控制模塊作為此項智能控制器的核心部分,在洗衣的過程中,所有信息都需經過它的處理之后才能傳送給數據單元的各個部件,以此決定洗衣機的工作狀態[13]。
感知模塊是控制模塊與設備模塊的中間橋梁,主要承擔反饋控制的任務。它通過其中傳感器等感知部件對已有條件的檢測,分別將信號傳遞給不同單元以實現相關功能。其中,水成份檢測單元通過水體檢測傳感器返回的信號,來判斷水體濃度是否超標,并據此判斷是否再進行漂洗。
設備模塊的各部分在控制器的信號控制下完成各自工作,以實現不同功能。其中,水位控制單元主要包括進水控制閥、排水牽引器等裝置,用來控制自來水的進出,實現需要水位[14]。具體如圖1所示。
2 軟件設計
2.1 狀態機的定義與編碼
洗衣過程分為7個狀態,不同狀態對應不同的操作過程。具體如表1所示。需要指出的是,狀態機處于進水狀態及甩干狀態時,進水口關,排水口開,水成份檢測為開啟狀態。另外,若門蓋檢測單元檢測到門蓋開啟,狀態機會跳轉到報警狀態,蜂鳴器開始鳴叫。
⑴ 電機驅動:00表示電機停止轉動,01表示電機開始轉動,10表示甩干。
⑵ 進出水口控制:00表示均關閉,01表示進水口開、排水口關,10表示進水口關、排水口開。
⑶ 蜂鳴器鳴叫:00表示非鳴叫狀態,01表示鳴叫狀態。
⑷ 水成分檢測:0表示系統關閉,1表示系統開放。
2.2 功能模塊的具體設計
2.2.1 有限狀態機的運行
根據實際洗衣的操作過程,此控制器的狀態轉化圖如圖2所示。
圖2中設置了信號量sign1和sign2。其中,sign1為門蓋狀態檢測系統反饋的信號量,0代表門蓋打開,1代表門蓋閉合完好;sign2為水成分檢測所反饋的信號量,0為水體濃度已小于某一定值,即已到達洗凈狀態,可以結束洗衣;1為水體濃度仍大于某一定值,需循環進行洗衣過程,直到sign2為0。
在狀態機的運行過程中,我們設置了狀態信號(state)與下一狀態信號(nextstate)。洗衣工作開始后,控制器把開始狀態的編碼000傳輸給state。不同的狀態信號會對應不同的nextstate。在圖2中可以清楚的了解每一狀態的下一狀態。需注意,在甩干狀態下,水成分檢測呈開啟狀態,門蓋檢測也呈開啟狀態。當這一狀態下門蓋被打開,門蓋檢測反饋給控制器的信號量sign1的值為0,此時下一狀態跳轉到報警狀態,同時給予提示閉合門蓋。通過對水成分的檢測得到信號量sign2的值,若為0,說明衣服洗凈,下一狀態為完成狀態;若為1,則說明還未洗凈,下一狀態為進水狀態,循環洗滌,直至衣服洗凈,到達完成狀態。
2.2.2 電機控制
在洗衣過程中合理使用電機可以使洗衣過程變得高效,同時也可以節省能源。如圖3,電機控制分為洗衣和甩干兩個部分,相應的,電機旋轉速度與旋轉方向有所不同[15]。不同狀態下計時器的初值也不同,其數值會隨時間遞減,遞減為0時,對應狀態下的電機工作完成。
3 仿真實驗
本文利用Verilog HDL進行仿真,如下為仿真結果,即狀態機的不同信號量下的測試結果:
從圖4的波形圖中可以看出,當sign1與sign2均為0時,即門蓋被打開、水體濃度已達標的情況下,狀態從甩干狀態到報警狀態,因sign1的值不改變,所以狀態信號(state)始終保持在報警狀態。當sign2變為1時,state變化與圖4保持一致。
從圖5的波形圖中看出,當sign1為1,sign2為0時,即門蓋持續閉合,并且檢測到水體濃度小于某一定值時,洗衣工作結束,也就是狀態機完成了一整套狀態轉化。
從圖6的波形圖中看出,當sign1和sign2均為1時,由于sign2的值保持1,即衣服未洗凈,狀態機從甩干狀態后做循環洗滌工作。
需要說明的是,由于沒有定義結束過程,在實際應用中我們通過添加最大循環次數從而避免因人工或控制器本身的錯誤導致洗衣過程的無限循環,進而造成資源的浪費并違背本文的初衷。
4 結束語
將信息物理系統與智能洗衣機控制器相結合能夠讓用戶有更加人性化的洗衣體驗,本文的創新之處在于非固定的洗衣流程,它將洗衣機控制器與信息物理系統相結合,洗衣的具體流程由洗衣過程中所反饋的信號量決定,實現了信息空間與物理過程的融合。這種方法利用了信息物理系統中的反饋控制思想,既節約了水資源,又減輕了洗衣機控制器的負擔,體現出了現代智能洗衣機的綠色、高效等特點。
在后面的研究中,為了進一步加快智能洗衣機的發展進程,還可以將信息物理系統與智能洗衣機進行更進一步的融合,以實現更加人性化的智能洗衣機控制器。
參考文獻(References):
[1] 劉賀,余成波,張方方.全自動洗衣機的模糊控制分析[J].重慶理工大學學報:自然科學,2009.5:111-114
[2] 程著.基于信息物理家居系統的熱舒適控制器的設計與評價[D].天津大學,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的有限狀態機設計與優化[J].微電子學與計算機,2010.2:180-183
[9] 郭忠,李濤,李勇,張勇.基于FPGA的洗衣機控制系統設計[J].電子設計工程,2012.13:190-192
[10] 李國麗.EDA與數字系統設計[M].機械工業出版社,2003.
[11] 褚振勇,翁木云.FPGA設計及應用[M].西安電子科技大學出版社,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] 張海波.全自動洗衣機控制器的設計[D].南京理工大學,2012.
[15] 田艷,田莎莎.基于FPGA的全自動洗衣機控制器設計與實現[J].軟件導刊,2012.9:48-51