基于信息物理系统的智能洗衣机控制器的仿真与设计

2019-02-13 01:36沈澍刘小雨顾康
计算机时代 2019年1期

沈澍 刘小雨 顾康

摘  要: 信息物理系统(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