APP下载

共享式智能洗衣机控制系统设计

2018-10-18,,

计算机测量与控制 2018年10期
关键词:洗衣洗衣机水位

, ,,

(上海工程技术大学 电子电气工程学院 机械电子工程,上海 201620)

0 引言

目前,传统投币式洗衣机已经被广泛使用,特别是在学校、医院、军队等地方。传统投币式洗衣机一方面需要用户自备零钱和花时间等待,另一方面运营商需要定期取货币,极不方便;同时洗衣机缺少节约用水设计,造成水资源浪费,不利于环保;当洗衣机出现故障无法及时得知并报修,缩短使用周期等。这些问题都给用户的使用和运营商的运营维护带来了诸多不便。

为解决以上问题,本文设计的共享式智能洗衣机集成网络通信技术和智能控制技术,实现在线电子支付、衣物模糊称重、水位监测、故障监测与报警等,使洗衣机更加人性化、智能化,大大提高用户体验。对于用户来说,通过使用手机APP就可以在线完成洗衣机的电子支付,无需自备零钱,并且洗衣完成后会通过APP提醒用户,节约了用户的时间和精力,使洗衣更加方便快捷。而对于运营商来说,电子货币的使用也更加方便运营;控制系统的故障实时监控和故障报警,使得运营商及时发现故障并进行维护,提高服务质量。

1 系统结构及原理

本设计依据是共享式洗衣服务,主要使用技术有:洗衣机智能控制技术和GPRS定位、通信技术。共享智能洗衣机作为公共服务型产品首先要考虑的系统工作稳定性和资源节约性,因此进行衣物模糊称重设计,达到节水目的。本次设计的共享智能洗衣机与传统投币式洗衣机主要区别是可靠性、实时性的人机交互模式:1)洗衣机与运营商通过后台服务器的人机交互;2)洗衣机与消费者通过手机APP的人机交互。本系统利用GPRS的实时通信功能,保障系统中的数据进行实时传输。

图1 系统总结构框图

系统主要包含手机客户端、服务器、GPRS模块、控制系统四大模块。手机客户端将位置及支付信息传送给服务器;服务器收到信号后发送洗衣控制命令给GPRS模块,GPRS模块通过串口再进一步控制洗衣系统的工作。其总结构框图如图1所示。当没有洗衣命令时,系统处于待机状态,只消耗极少的电能。当手机客户端选定洗衣机并发送洗衣命令后,后台服务器会给选定的洗衣机发送洗衣命令。洗衣完成后,洗衣机会通过后台服务器给手机客户端发送洗衣机结束信息,提醒用户领取衣物。

2 系统硬件设计

系统硬件框图如图2所示。

图2 系统硬件结构框图

本系统采用STM32F030单片机作为控制核心,通过SIM800C系列GPRS通信模块,建立洗衣机网络服务器之间的通信,从而实现对洗衣机的定位和客户端APP对洗衣机控制;通过模糊称重电路与水位监控电路实现节水的目的;通过采用AT24C02存储芯片设计防掉电存储电路,定时存储洗衣工作状态数据;数码管实时显示洗衣机运行时间;通过洗衣机门检测电路与报警控制程序相结合,错误操作提醒,保证洗衣机安全运行;通过三极管开关电路控制继电器,实现对进、排水阀的安全控制;采用MOC3063光耦驱动器与BTA16-600双向可控硅组成电机驱动电路,控制洗衣机电机正常工作[1]。

远程GPRS通信、衣服模糊称重、水位监测、掉电存储重启电路的设计对整个系统的稳定运行至关重要,因此本文针对这4个部分的设计进行详细介绍。

2.1 GPRS通信模块

GPRS通信部分为系统的关键部件,用于实现洗衣机和云端服务器之间的信息传输。本设计采用SIMCOM公司的SIM800C模块,支持GSM800、EGSM900、DSC1800和 PCS1900MHz四种工作频段,可实现全球使用,内嵌24 Mbit的Flash和强大的TCP/IP协议栈,支持AT指令,全功能UART接口[2-3]。STM32单片机可以通过串口发送AT指令控制GPRS模块,并且将串口数据转化成TCP/IP数据包进行发送。SIM800C模块正常工作时需要提供3.4~4.4 V的电压,当模块进行最大功率工作时,电流峰值会瞬间达到2A。因此,为了保证模块稳定运行,采用开关电源芯片MP1471作为供电芯片,并在输出端并联470 μF的大电容。MP1471是一款可调输出型的开关电源芯片,最大可输出3 A的电流,有效保证SIM800C模块稳定运行。同时为保证系统长时间稳定工作,GPRS模块的供电采用PMOS进行控制,当单片机检测到GPRS模块工作不正常时,自动重启GPRS模块,提高用户体验。

2.2 模糊称重电路

当电机正转或反转断电瞬间,由于惯性作用,电机仍在转动,此时转子切割定子而产生感应电动势。电机在衣物等的阻尼作用下逐渐停止的过程中,感应电动势会慢慢衰减而至消失,形成一系列不断衰减的正弦波[4]。感应电动势的大小和频率与衣质和衣量有关,衣物越硬、质量越重,产生的正弦波的数越少。因此,可以根据产生正弦波个数判断衣物的重量。

图3 模糊称重电路

根据这个原理,引入模糊称重电路,如图3,光电耦合器选择PC817芯片,斯密特触发器选用74LVC1G04芯片。电机未转动时,光耦P1不工作,单片机通过R10、反相器U4、R12下拉至低电平。电机转动时,电机插座接口之间会产生感应电动势,此时R9、P1、D2会形成回路,光耦工作,并根据电动势的大小光耦在导通与截止之间不断变换,产生一系列高低变化的脉冲信号给单片机。根据单片机采集的脉冲信号模糊判断衣物的多少,自动控制进水量。

2.3 水位检测电路

水位检测电路是通过水位传感器来工作的。水位传感器内部可等效为一个LC震荡电路[5]。水位传感器的振荡频率受水压的影响,水位升高,水压变大,水位传感器的频率降低;水位减小,水压变小,水位传感器的频率变大。因此,单片机可以通过判断震荡频率的大小判断水位的高低。

图4 水位检测电路

如图4水位检测电路,水位传感器信号通过CON3接入电路。传感器工作时会在CD4069逻辑非门的1、5管脚之间形成一系列高低变化的正弦波信号,并且两端口信号始终相反。最后信号经过反相器U5C的6管脚输出,并且输出信号会经过电容滤波处理[6],最终变成高低电平循环变化的方波输出给STM32F030单片机。

2.4 EEPROM存储电路

存储芯片选用Ateml公司的AT24C02电可擦除存储芯片,2 KBit的EEPROM,可擦写次数大于10000,采用IIC穿行通信方式。为提高用户的使用体验,本设计设置有掉电自动保存洗衣状态功能,系统每隔1分钟的时间将当前的洗衣状态存储到外部EEPROM中,当系统出现意外断电的情况时,系统也能记录下意外断电时洗衣机的状态,当系统再次上电时,自动从断电位置继续运行,这种做法既提高了用户的使用体验,同时达到了节能减排的效果。由于EEPROM芯片的擦写次数有限,而实际使用中EEPROM需每分钟写入一次洗衣机当前的运行状态,所以,为提高EEPROM芯片的使用寿命,设计程序时,我们采取“空间换时间”的解决方案,经计算,2 KBit的EEPROM,按照每天洗衣10次的工作量计算,该EEPROM的使用寿命可达100年,完全满足使用需求。

3 软件设计与流程

本系统的软件设计包括部分:下位机软件设计和上位机(网络服务器和客户端APP)软件设计。下位机软件程序是基于KEIL5的编译环境,采用C语言进行编写。上位机软件的网络服务器是基于MyEclipse平台搭建开发环境,使用Java进行软件系统开发;另客户端是基于android studio平台进行开发。

3.1 下位机软件设计

下位机软件的主要功能有三部分:网络通讯、洗衣机控制和故障实时监测。洗衣GPRS通信模块接受到信号后,通过串口USART把数据传输给单片机,单片机根据数据判断洗衣工作模式:漂洗、超强洗(与漂洗过程一样,仅仅是洗衣时间较长)、单脱水,并启动洗衣机开始工作。洗衣完成后,洗衣机停止工作,并把洗衣完成信号通过GPRS通信模块发送出去。故障实时监测主要对洗衣机的门开关状态、进水阀和排水阀开关状态实时监测。当洗衣机进行洗衣工作时,洗衣机的门、进水阀、排水阀必须关闭,否则就会出现故障,洗衣机停止工作并报警。图5是洗衣机主程序流程图。

3.1.1 衣物模糊称重

模糊称重利用洗衣机电机惯性自转切割磁感线产生感应电动势的原理,通过检测产生正弦波感应电动势的频率,间接对衣物进行模糊称重[7]。模糊称重设计程序:1)通过单片机控制电机进行正反各5S转动;2)随后启动波形检测程序,图3中正弦波整流成的方波信号通过W Pulse引脚接入单片机,配置单片机定时器做计数器,采用时钟模式2:外部触发输入(ETR),配置上升沿触发计数;3)记录计数器并进行处理。通过多次实验,设定模糊称重标准和对应水位标准。

3.1.2 水位检测

受水压影响,水位传感器输出波形频率会随水位高低变化而变化。在进行水位检测程序之前,需要进行洗衣机水位标定,记录单片机所采集地水位传感器在特定水位区产生波形频率。水位检测程设计:1)进水程序开始后,启动水位检测程序;2)图3水位检测电的Level引脚连接单片机TIMX_ETR引脚(配置单片机定时器做计数器,采用时钟模式2:外部触发输入,配置上升沿触发计数);3)水位比较,把模糊称重设定的水位值(脉冲数)作为比较条件,单片机采集水位传感器输出信号脉冲数小于设定比较值,继续进水。当单片机采集水位传感器输出信号脉冲数大于或等于设定比较值,停止进水。

3.1.3 GPRS通信

GPRS通信电路主要有SIM800C组成,单片机与SIM800C模块通过USART进行通信。GPRS通信程序有数据发送和接收两部分组成,发送程序采用定时器中断触发,接收程序采用串口中断触发。数据发送程序:1)配饰STM32单片机定时器,一分钟中断触发一次(洗衣机开始工作后,单片机通过串口控制SIM800C模块每分钟向服务器发送一次洗衣机工作状态);2)中断服务程序,单片机通过AT指令把洗衣机工作时间输送给SIM800C,数据进行打包通过GPRS发送给服务器。数据接收程序:1)配置STM32单片机串口为接受中断模式;2)中断服务程序,STM32接收串口数据,读取数据中的控制指令。

3.2 上位机软件及流程图

服务器是基于MyEclipse平台运用Java语言进行开发的软件系统,采用Apache tomcat 7.0设计服务器,选用关系型数据库MySQL设计数据库。系统采用SSH(Spring、Struts2、Hibernate)的企业级整合框架进行开发。Hibernate是一个ORM(Object Relational Manpping)框架,可以实现数据持久化编程。利用Struts2构建的MVC(Model-View-Controller)的设计模式,实现业务逻辑层、逻辑控制层和视图层相互分离,系统各层低耦合、高内聚的特点,易于代码的维护。Spring作为一个容器,整合了Hibernate和Struts2框架,构造服务器控制中心。服务器主要功能:1)通过Internet进行命令发送、接收和处理,2)通过Internet进行数据(洗衣机位置信息和状态信息)接收、处理和保存。服务器通过Internet与APP和Device(洗衣机)建立连接,APP获取Device信息并发送给服务器,服务器在MySQL数据库中寻找Device数据并处理,通过Internet发送命令给Device,控制Device工作。

客户端的主要功能是实现洗衣机与客户的人机交互功能,为客户提供方便、人性化的洗衣服务。客户端APP通过手机网络与网络服务器相连,间接实现与洗衣机通信。客户可以在客户端APP上完成洗衣支付、预约和模式选择功能,洗衣结束后APP会自动提示。客户端APP工作流程:1)通过扫描Device上二维码来获取Device信息,或者通过输入Device的编码号获取Device信息,然后通过Internet与服务器建立连接。2)洗衣机模式选择;网络支付;开始洗衣工作。具体流程图见图6。

4 测试结果与分析

4.1 网络通信测试实验

GPRS网络通信是系统上位机与下位机之间唯一的通信方式,网络通信稳定与否直接影响到系统功能能否正常实现,如果网络通信出现故障,洗衣机无法收到命令,无法进行洗衣工作。本系统GPRS通信模块天线采用内部天线,通过测试GPRS通信模块与服务器的链接速度,判断系统GPRS通信模块稳定性。测试方法:利用网络调试助手和NATAPP网络服务器搭建测试环境;系统GPRS通信模块与NATAAP网络服务器进行100重复链接,并记录每次成功链接所用时间,如表1所示。系统GPRS通信模块成功链接到网络服务器时间都分布在22~26 s之间,完全满足商家30 s内成功链接的要求。

表1 网络成功链接所需时间与连接次数信息

4.2 模糊称重实验测试

由于整机系统的不稳定性和电机驱动的非闭环性,皮带松紧度的离散性,使得模糊称重的数据不能简单的用某种算法来进行计算,因此给模糊称重的设计增加了很大的难度[8]。本次设计采用了实验法,我们采用市场大规模生产的洗衣机作为测试平台,这种洗衣机洗衣量较大、皮带出厂设计较紧,因此本次模糊称重实验是在皮带紧的情况下进行的进行测试,对控制器采集到的数据进行整理,根据皮带的松紧度,列出了模糊曲线,见表2。

表2 模糊称重曲线表

根据脉冲曲线数,将模糊称重分为三档,见表3。

表3 称重档位表

5 结论

本文设计的共享式智能洗衣机控制系统,集成网络通信技术和智能控制技术。以处理器STM32F030为核心构建的洗衣机智能控制平台,实现对洗衣机的智能控制;基于SIM800C设计的GPRS网络通信模块,为系统提供稳定可靠网络通信环境。共享智能洗衣机相比传统投币式洗衣机有更好的人机远程交互能力,很好的解决投币式洗衣机支付繁琐、排队耗时、取衣不及时、水资源浪费等问题,共享式洗衣机紧跟现代互联网技术步伐,能给顾客带来更好的洗衣体验。

猜你喜欢

洗衣洗衣机水位
10款洗衣液推荐,搞定各种难洗污渍
鲸鱼不能放进洗衣机
“洗衣液一哥”养成记
洗衣机里不能藏
微书摘
糊涂的洗衣机
使用洗衣机
洗衣忙
七年级数学期中测试题(B)