摘 要:分析了智能电饭煲煮饭温度曲线的特点,提出一种智能电饭煲数据采集系统的设计方案,此方案通过STM32对电饭煲的锅顶温度、锅底温度和控制发热盘加热的继电器占空比进行数据采集,将电饭煲加热过程曲线通过LabVIEW图形编程软件进行显示、存储及回放。
通过实验测试表明:该数据采集系统可以将电饭煲煮饭曲线及参数清晰地显示在界面上,方便开发人员分析电饭煲煮饭温度与加热控制之间的关系,开发多种加热模式,调整不同米种的加热曲线。
0 引言
目前,虽然在国内市场上销售的智能电饭煲功能齐全,但不同的大米品种和海拔高度,其对应的煮饭曲线却是唯一的。由于大米种类不同、其吸水、海拔高度等特性也各异,使用同一个功率进行加热,煮出的米饭可能会出现夹生或口感不好等问题[1]。高端的电饭煲应能根据不同的大米品种、软硬口感对应不同蒸煮曲线,各种蒸煮曲线排列组合可达数千种,各种参数数据是海量的。如何根据不同的大米选用不同的加热曲线,保证烹饪效果,已成为行业技术研究的制高点。因此,面向新型智能电饭锅产品研发、技术创新及产业升级的迫切需求,开发一种智能电饭煲数据采集系统,可以提升电饭锅行业的产品研发和测试水平,使企业借助系统研究和开发新型电饭锅,加快研发速度、推进高端技术研发,提升产品技术含量和质量,助力电饭煲产业的转型升级有重要意义[2]。
1 智能电饭煲最佳的煮饭曲线
大米、水量和温度是电饭煲煮出口感好、香喷美味米饭的决定性因素,而温度控制则是煮出高质量米饭的关键因素。经煮饭专家大量的实验证明,要做出“香甜好米饭”, 智能电饭煲煮饭的过程必须要由:预热、吸水、加热、沸腾、焖饭及保温几个阶段来实现,最佳的加热曲线如图1所示[3]。
1)预热(吸水)阶段:用小火加热,让温度升高到米不会糊化的50 ℃左右。此时,大米在中温中充分吸水,使米的含水率从原来的14%~15%达到约30%,米粒吸水膨胀,便于在加热过程中受热均匀,这一阶段大约需要8 min [4]。
2)加热阶段:用大火加热,大米持续吸收水分,米水混合物在较短时间内,加热沸腾。在快速加热的作用下,锅内的米水进行强烈对流,让所有大米受热均匀,避免米饭出现夹生现象,控制加热到沸腾时间约为10 min。
3)沸腾阶段:保持锅内水温在98 ℃以上,让大米深度吸水,将大米中难以消化的β 淀粉转化为容易消化的α 淀粉。同时,锅内水分进一步减少直到锅底水分蒸干,米饭温度上升到150 ℃左右,停止加热,沸腾结束,这一阶段持续的时间约为20 min。
4)焖饭阶段:焖饭的目的就是要让热量一部分深入到米粒的内部,使米饭内外受热均匀,将米饭的精华充分释放,真正熟透,产生香味,而另一部分水分则蒸发掉,从而使米饭持续膨胀而变得形态饱满、晶莹剔透、透芯松软,这一阶段持续的时间约为14 min[5]。
5)保温阶段:温度高时米饭会变质、变色、损坏米饭的味道,因此,在保温过程中,让米饭的温度保持在67~78 ℃之间,保证米饭在较长时间内有较好的质量。
从煮饭的整个控制过程中可以看出,温度的控制对米饭质量的影响很大,所以对电饭煲数据的实时采集及分析,及时对煮饭曲线进行温度调节,实现加工过程中最佳加温曲线的控制,对提高米饭的烹调质量具有重要的意义。
2 数据采集系统的整体硬件设计
智能电饭煲数据采集系统的硬件部分主要包含:电饭煲顶部温度传感器接口,电饭煲底部温度传感器接口,电饭煲功率控制继电器接口,STM32单片机,串口线,PC机等部分,整体结构框图如图2所示。
在智能电饭煲中,通常在锅底中心和锅顶分别设置2个温度传感器(负温度系数的热敏电阻)采集信号。电饭煲顶部温度传感器主要负责检测锅内室温的温度,锅底温度传感器主要是检测初期水温和内锅温度的上升率[6]。而继电器则是控制整个电饭煲的加热功率。因此,利用单片机STM32的I/O口获取电饭锅煮饭过程中采集到:锅顶温度、锅底温度及继电器输出电压的数据(信号),经过数据处理和转换后,可通过LabVIEW软件编程实现锅顶温度曲线、锅底温度曲线和继电器控制曲线的存储、显示和回放。
从电饭煲顶部温度传感器、底部温度传感器及功率控制继电器接口采集到的信号实际为电压信号,而不是温度值。因此,采集到的数据须连接至STM32单片机I/O口的任意3个模拟输入通道。经过数据处理后,再通过串口线将STM32单片机连接连至PC机的USB接口,数据采集引脚配置如表1所示。
3 数据采集系统的整体软件设计
在数据采集系统的显示部分,可采用LabVIEW的编程来实现。LabVIEW程序被称为“虚拟仪器程序”,大体上可分为3个模块:前面板,程序框图,图标/连接端口。前面板是图形用户界面,用户可以在前面板上操作设计好的虚拟仪器。通过设计按钮、开关、波形图等图标出现在前面板上,模拟真实仪器[7]。通过编程实现数据及曲线的存储、温度和继电器占空比波形显示,程序框图和流程图如图3所示。
3.1 数据采集的设计
在LabVIEW中,具有专门用于串口通讯的VI函数如:VISA配置串口、写入、关闭等,其中“VISA配置串口”VI为串口的初始化配置[8]。一方面,它可以检测到电脑上的可用“COM”口,用于配置STM32插到电脑上的USB串口;另一方面,它可以设置好通讯所需的波特率、检验位、停止位等,保证通讯的质量;通过串口的配置,可读出STM32通过串口传过来的数据,并暂存在它的接收缓冲区内,所以只要从它的接收缓冲区中取得数据,并进行类型转换、数据分离、保留精度、滤波、限幅等,即可完成数据的接收、转换、去干扰等工作。
由单片机上传到LabVIEW的数据格式设置为“AA+继电器状态+BB+顶部电压+CC+底部电压”,数据由COM口传至VISA读取VI的读取缓存区中,由于上传到读取缓冲区的数据为字符串,因此利用字符串截取函数把需要的数据按索引号截取,即可分离得到继电器状态、顶部电压、底部电压数据。同时对采集到的电压数据进行限幅、平滑滤波处理,滤除上传电压数据的干扰信号。
限幅编程,主要用到了“判定范围并强制转换”、“选择”、“反馈节点”等函数,根据逻辑性接线,达到限幅抗干扰的效果。由于自由空间中存在很多干扰,前一个采集的电压与后一个采集的电压有可能出现差值相差很大的情况,因此需对此情况进行处理应对,处理方法为:设定一个限幅值,把当前采集的电压数据与前一个采集的电压数据进行比较,如果当前电压和前一个电压值的差值的绝对值超过限幅值,则认为当前采集的电压值为干扰项,将其抛弃,并用前一个电压值取代当前采集的电压值。平滑滤波,使用LabVIEW函数库里的滤波器VI,用该滤波器对曲线出现的“毛刺”进行滤波,使曲线更平滑。
3.2 数据转换的设计
1)“电压-温度”关系的确定
LabVIEW中顶部及底部的电压转换温度公式,主要是通过MATLAB将多温测试仪的实测温度和LabVIEW所读取的单片机串口输入电压,得出一条关于温度与电压关系的曲线,并将得到的曲线利用高阶多项式进行数据拟合,从而得到电压对应温度的公式[9]。
电饭锅顶部的拟合公式为:
Y 1 = 2 7 . 0 3 7 × Z 1 0 - 4 4 . 0 0 1 × Z 9 -75. 2 ×Z8+124.07×Z7+72.347×Z6-114. 4 ×Z5-29.174×Z4+32.891×Z3-3.0309×Z2-18.98×Z1+84.8;其中,Z=(X1-2.2979)/0.5332
电饭锅底部的拟合公式为:
Y2=0.056166×Z10-0.42914×Z9+0.78139×Z8+1.3868×Z7-5.3837×Z6+1.4129×Z5+9.2972×Z4-7.7619×Z3-1.5072×Z2-14.127×Z1+90.701;其中,Z=(X1-1.4824)/0.4814。
2)继电器倍乘公式
分离出“读取缓冲区”数据端采集到的继电器状态以及顶部电压、底部电压信号,将顶部电压和底部电压数据输入至拟合的电压转温度公式,得出锅顶和锅底温度信号。继电器状态信号无须转换,为了方便观察和分析继电器、顶部温度和底部温度曲线,使三种曲线在同一界面上,将继电器的驱动电压信号放大60倍[10]。
3.3 数据存储程序
用“写入测量函数”将转换后数据保存在PC机内的存储单元中,文件类型定义为lvm格式,用“布尔控件”来控制写入,采集的数据保存在PC机LVM文件中。
3.4 信号显示程序
1)实时显示
将处理好的三种数据信号输送至VI信号收集器的输入端,为了可以看到完整曲线变化过程,信号收集器的数据存储长度设为35 000点,此长度为波形图横坐标能显示的最大长度,将“信号收集器”VI的输出端接至波形图输入端,程序在while循环下执行,while循环的条件设为真,使其能够一直运行,这样数据就可以不断地输出到波形图,实时显示曲线的变化。
2)波形回显及占空比的读取
通过读取PC机中已存储的数据文件,创建显示控件“加载完毕”,当此控件为“真”,表明文件内容已读取完毕,while循环停止。此时,用“波形图”控件将曲线在界面中显示出来。在创建的“加载波形”控件中,当“加载波形”为真,内嵌在真分支的程序执行,为假则不执行,以此来控制读取文件工作。
继电器吸合控制电饭煲的平均加热功率,其驱动波形为矩形波,在采集系统中通过波形的提取、识别继电器控制信号电压的波峰与波谷,再识别出横坐标,间接实现波形占空比的读取。通过波形提取、识别波峰与波谷分界处的横坐标后,注释标识,读取占空比,完成占空比读取。
3.5 数据显示界面
数据显示程序的流程图如图4所示。
数据显示界面采取的设计方法是:捕捉鼠标在曲线上移动时的坐标值,用“字符串数据显示”控件将捕捉到的坐标值显示在数据框。程序主要内嵌在事件结构的一个分支:“温度波形”:鼠标移动,而该事件结构又内嵌在一个while循环中,while循环“条件端子”接常量“真”,让其一直循环,检测鼠标移动的事件,一旦鼠标移动,触发鼠标移动事件,内嵌在里面的程序便会被执行[11]。
4 智能电饭煲温度采集系统实验测试
4.1 读取波形回显数据
系统设计完成后,将电饭锅的顶部热敏电阻、底部热敏电阻和继电器的采集点接到STM单片机的A/D转换I/O口,通过串口转USB发送到PC机,利用采集系统将电压转换为温度,将采集到的数据存储在PC机中,选择“波形回显”就可见顶部温度、底部温度和继电器控制的曲线,图5为采数据集数据的回显。其中,上为底部温度曲线,中为顶部温度曲线,下为继电器的加热状态曲线。由于图中采集到的是整个煮饭过程的曲线,采集时间约为3 600 s(1 h),因此,在显示界面中见到的继电器控制曲线是很密集的,如需要观测局部曲线,可利用软件中的展开功能,将局部曲线展开进行观测。
4.2 实验测试结果分析
从智能电饭煲数据采集系统采集到的数据与多路温度测试仪同时采集到的数据取出部分进行对照。从测量结果分析,根据数据采集系统显示的曲线与及多温测试仪显示的数据基本相吻合,而抽取部分关键数据进行对比分析,误差小于5%,可满足实际要求。
5 结语
在系统设计过程中, 借助于单片机STM32及LabVIEW虚拟仪器技术,设计了智能电饭煲温度采集系统,可靠实现对智能电饭煲的顶部温度曲线、底部温度曲线及继电器功率控制的占空比进行数据采集、显示及回放,使整个测量、处理、分析数据的过程变得更加方便,数据误差小于5%,为企业研究和开发新型电饭煲提供了便捷的测量开发工具。
参考文献:
[1] 李磊,2014.HR-FD51智能方煲温控方案及结构改进设计研究[D].广州:广东海洋大学.
[2] 孙芳,孔美阳.我国小家电发展的现状与发展趋势研究[J].家电科技,2018(6):28-29.
[3] 杨文龙,王春梅.IH电磁加热电饭锅模糊逻辑智能控制系统设计[J].电子设计工程,2016(19):135-138.
[4] 林天柱,倪莉,沙立民.基于xPC_Target的电饭煲模糊推理策略研究[J].工业控制计算机,2012,25(4):31-32.
[5] 张超,2005.智能型宽电压电磁炉的研制[D].杭州:浙江大学.
[6] 刘建华,项湜伍.基于DSP芯片的模糊智能电饭煲控制研究[J].上海电机学院学报,2007(2):115-118.
[7] 郑丽娟,杜祥岭.基于LabVIEW的数据采集系统[J].科技创业月刊,2006(7):184-185.
[8] 刘明文.基于LabVIEW平台编写的串口调试助手[J].地质装备,2016(2):30-32.
[9] 宋晓霞.基于MATLAB的通用数据拟合方法[J].山西大同大学学报(自然科学版),2014,30(4):1-3.
[10] 梁启文,龙世瑜,等.电饭锅数据采集平台的设计[J].电子产品世界,2019(1):37-38.
[11] 王丽君,林国顺.三维空间物体任意移动算法研究[J].信息技术,2015(3):141-145.