李天骄 汤晓华 刘美莲 安嘉强 吴婧 杨泗苹
摘要:为了提升已有胚芽米机的用户体验,降低制造成本,设计了一款自助式胚芽米机控制系统,上位机采用PC结合MFC进行开发,实现了人机交互界面、广告视频播放、语音提示等功能。下位机由STC15W4K58S4单片机、RS232串口模块及相应的电路组成,实现了对胚芽米机电气系统的控制,并且能够与上位机进行通信。通过实验测试,整个系统实现了自助式胚芽米机的购买、加工、称重、出货以及人机交互等功能。
关键词:物联网;自助式机器;胚芽米机;控制系统;人机交互
中图分类号:TP273.3 文献标识码:A 文章编号:1009-3044(2018)33-0227-03
Abstract: In order to enhance the user experience of the existing germ rice machine, reduce the manufacturing cost. A self-service rice processing machine control system is designed. The host computer is developed by PC and MFC. The functions of HMI, advertisement video playback and voice prompt are realized. The slave computer is composed of STC15W4K58S4 single chip, RS232 serial port module and the corresponding circuit. It can control the electric system of the rice machine and communicate with the host computer. Through experiment test,the whole system realizes the functions of purchasing, processing, weighing, shipping and human-computer interaction of the self-service rice processing machine.
Key words: IoT; self service machine;germ rice machine; control system; human-computer interaction
自助式胚芽米機是指可以自动贩卖胚芽米的设备,胚芽米中的蛋白质、脂肪、灰分、粗纤维、氨基酸总量及各种氨基酸含量均高于精白米,且胚芽米中的游离γ-氨基丁酸(GABA)是精白米中的2倍多[1]。目前国内已经研发出了一种将水稻现场加工为胚芽的自助式胚芽米机,并且具备供料、加工、自助购买等自动化功能[2]。
当前的胚芽米机控制系统使用PLC进行开发,但是PLC不适合多功能、多接口、多任务、多媒体的场合,同时对数据处理做得不够强大。针对这些问题本文设计了一套自助式胚芽米机控制系统,它可以提升当前胚芽米机的多媒体以及人机交互系统能力,并且降低了成本。
1 方案整体设计
系统整体设计框图如图1所示,上位机使用触摸式PC一体机进行开发,主要负责人机交互功能;下位机使用STC15W4K58S4单片机进行开发,主要负责控制胚芽米机的电气系统。一个完整的操作流程为:首先人机交互界面在闲时进行广告播放,当有用户触摸屏幕时关闭广告播放并进入欢迎界面,用户选择支付方式,当选择会员卡消费时,将射频卡插入读卡器,屏幕显示卡内余额等信息,当用户选择购买后,读卡器对卡进行扣款,并将产生的数据打包通过GPRS DTU发送至后台数据中心,扣款成功后PC与下位机控制器进行数据交换,下位机启动加工系统进行加工,称米时称重传感器的实时数据通过PC将数据实时显示至屏幕,当到达设定的重量时停止称米,此时PC屏幕提示用户可以出米,当用户选择出米后将已加工好的胚芽米送出,屏幕显示操作完成界面,用户取回会员卡,整个流程结束。
2 上位机系统设计
2.1 人机交互界面设计
上位机的硬件采用触摸式PC一体机,软件平台使用MFC结合C++语言进行设计[3-4]。人机交互界面的设计主要包括多媒体播放界面、欢迎界面、支付方式选择界面、会员卡信息界面、称重加工界面[5-6]。不同的界面之间采用界面跳转的方式实现切换,使用的主要控件有Button、Edit Control、Picture Control、Progress Control等。人机交互界面设计如图2所示。
2.2 程序设计
2.2.1 程序整体逻辑
程序运行后,将调用界面跳转函数,由主界面跳转到Welcome界面,延时100ms后播放广告视频并启动闲时播放功能。当有用户操作屏幕时,关闭广告播放并进入Welcome界面,用户通过对按钮的点击进行界面的切换与相应功能的实现。
2.2.2 广告闲时播放功能
广告闲时播放功能,即为当用户操作屏幕时界面一直处于操作界面,当用户完成操作或存在一段时间对屏幕无操作时切换至广告视频播放。该功能的逻辑实现如图3所示。使用该种逻辑可以有效地整合操作界面和广告播放界面,大大提高了系统的利用效率。
2.2.3 界面跳转功能
由于在人机交互界面中每个界面的功能不同,因此采用界面跳转进行设计将会使整个程序操作更加简洁,并且有利于开发人员对于系统的管理。在初始化窗体时,先创建所有窗体的窗口指针,跳转时调用相应的显示窗口函数即可实现界面的跳转。
3 下位机系统设计
3.1 下位机硬件设计
如图4所示,介绍了STC15W4K58S4单片机的管脚分布。考虑到电气系统对于I/O接口以及对未来系统的可扩展性,选择了拥有40个管脚,4个串口的STC15W4K58S4单片机。
STC15W4K58S4单片机拥有1T的增强型8051内核,不需要外部晶振和复位电路,可在线编程,片上集成58K的程序FLASH,5096字节RAM,四个独立串口,7个定时/计数器等功能[7-8],能够在使用尽可能少的外部电路情况下完成本设计,提高了系统的稳定性和抗干扰能力。
3.2 下位机功能设计
下位机主要完成两个功能:其一,完成与上位机的通信,该通信主要解决了上位机不擅长进行I/O控制的问题,并且可以将某些I/O點的信息上传给上位机;其二,完成对于胚芽米机电气系统的控制,鉴于单片机对于I/O点处理的优势,使用单片机作为下位机并通过I/O点控制直流电机、步进电机、限位传感器。下位机实物图如图5所示。
3.3下位机程序设计
下位机主程序流程图如图6所示,通电开机后,首先对I/O及串口进行初始化。然后判断串口接收缓冲内的内容,在不需要加工时,上位机不发送消息给下位机。当用户在上位机完成购买操作后,上位机会通过串口向下位机发送指令,该指令分为开始加工指令,出米称重指令,停止出米指令等。下位机接收到不同的指令执行相应的函数以完成对于电气系统的控制。当一个加工过程结束后,下位机保持闲置状态,直到下一次加工指令到来。
4 系统测试
对于整个系统的测试主要进行了以下几个步骤:首先是对上位机的测试,其中主要包括广告闲时播放功能测试,界面跳转测试以及串口的发送与接收测试;其次是对下位机的测试,主要包括串口的发送与接收测试,I/O节点测试,测试串口是否可以通过发送不同的指令进行相应的加工过程控制;最后是对整个系统进行长时间的测试,检查整个系统能否按照预先的设计完成一个完整的操作流程,在测试过程中需要不断对整个设计进行优化和调整。
5 结语
在当前自助式胚芽米机的基础之上,首先设计了一套完整的人机交互界面以及广告闲时播放系统,同时设计了电气系统的控制方案。提升了整体的用户体验并且降低了硬件成本。在单片机的选型上采用了多个独立串口的方案,软件设计采用模块化编程,方便后续的升级与维护。与此同时,本设计可以作为一个自助式设备控制系统的简单样例。
参考文献:
[1] 王艳,兰向东,陈钊等. 糙米、胚芽米和精白米营养成分分析[J].食品科技,2016(11):156-159.
[2] 郑龙安,汤晓华,安嘉强,等.胚芽米机终端与云服务器通信交互系统设计[J].粮食与油脂,2018(2):83-87.
[3] NickRandolph. Visual studio 2010高级编程[M].清华大学出版社,2012.
[4] J Prosise. Programming Windows with MFC[M]. Microsoft Press 2003,1999.
[5] 王飞燕.关于人机交互设计界面问题探究[J].数字技术与应用,2016(2):235-235.
[6] 王芳,赵中宁.浅析智能制造过程中的人机交互系统[J].自动化博览,2016(11):78-81.
[7] 陆帅华,王鑫,朱兆青.基于STC15W4K58S4的高精度SPWM移相控制器设计[J].福建电脑,2015(12):17-18.
[8] 高正中,赵晨晖,宋森森.基于STC15 MCU的微型四轴飞行器设计[J].现代电子技术,2016,39(24):145-148.
【通联编辑:梁书】