基于STM32的窄带物联网烤箱设计

2021-11-10 05:31朱少华梁鉴如
计算技术与自动化 2021年2期
关键词:烤箱物联网

朱少华 梁鉴如

关键词:物联网;烤箱;STM32;远程管理

随着科技水平的不断提高,智能化的远程设备需求越来越高,物联网作为当下重要的科学技术,正在进入我们的生活,智能化的烘烤设备也不例外。

传统的烤箱通常采用机械式的控温方式,需要烘烤人员依据多年的烘烤经验来设置相应的烘烤时间和温度,同时需要烘烤人员人工监控烤箱,导致商家的运营成本较高。近几年才出现的低功耗广域网(LPWA)和NB-IoT技术能够提供百倍于4G的连接规模、长达10年的设备寿命,逐渐成为我国物联网技术发展的主流。因此设计一种采用NB-IoT技术、以STM32为控制器的智能烤箱,实现对烤箱烘烤运行状态的远程监控,并且可以在Web界面上远程下载相应的烘烤菜单,使烤箱管理更加便捷,大大减少了商家的运营成本。

1系统总体框架设计

智能烤箱远程管理系统总体框架如图1所示,由四层结构组成。第一层为数据采集层,STM32控制器通過温度传感器将采集到的烤箱温度储存在控制器中,并在烤箱操作面板上进行显示。STM32控制器将每次通过面板设置的烘烤面包的个数及烤箱运行状态和各种警报数据储存起来,并利用NB-IoT模块将数据发送到移动NBIoT基站;第二层为通信层,烤箱烘烤数据通过NB

IoT模块上传到Web服务器端;第三层为应用服务层,负责汇聚烤箱各种运行数据,并将数据存储在服务器上;第四层是用户层,管理人员可以通过操作界面下发烤箱的烘烤菜单,观察每台烤箱的运行状况,对故障烤箱进行定位。

2系统硬件设计

2.1烤箱控制硬件电路设计

烤箱控制硬件系统如图2所示,由MCU、电源模块、NB-IoT通信模块、显示模块、电源模块、输出控制模块、温度检测模块组成。图2中MCU选用STM32F103VCT6为控制器,该型号为32位Cortex_M3,具有100引脚,FLASH容量为256KB,封装为LQFP,工作温度为-40-105℃,可以满足在保温层与烤箱机壳之间正常工作。

2.1.1烤箱温度检测电路设计

烤箱工作温度为0-300℃,选用PTlOO铂热电阻,它的测量范围为-200℃~+850℃,阻值会随着温度的变化而改变。在100℃时PTlOO的阻值约为138.5,随着温度上升它的阻值是成匀速增长的。

温度检测模块如图3所示。TL431的作用是提供一个非常准确稳定的电压4. 096 V,R52、R53、R54和PTlOO组成桥式电路,LM358对桥式电路转化的电压进行放大,方便MCU采样。

当烤箱内温度改变时,PTlOO的电阻改变。通过电桥将电阻的变化转化为电压变化,再通过运放电路将电压信号放大,MCU痛过A/D转换采集电压信号,经过运算得到烤箱内部的温度。MCU通过串口UART向NB-IoT通信模块与Web服务器进行数据交换。电源模块采用AC/DC开关电源将220V交流电转换成24 V直流,再转换成5V、3.8 V、3.3 V电压,分别给运放、NBIoT通信模块、MCU供电。

2.1.2加热控制电路设计

烤箱的加热管的工作电压为220V交流电,内阻为18。由于传统的电磁继电器高频率工作时噪声大,而且电压切换时接触点会产生电火花,因此采用无触点开关的器件——固态继电器来控制加热管电压的通断,可达到无触点无火花地接通和断开电路的目的。如图4所示,为加热控制电路图。由于继电器的线圈工作电压为24V,单片机不能直接控制,因此使用两级控制。由单片机控制三极管,再由三极管控制MOS管来控制继电器的线圈通电。

单片机控制电路与继电器控制电路分离设计。将单片机控制系统以及通信系统集成在显示屏背后。该区域工作温度低,烤箱工作时不会对单片机系统以及通信系统造成影响。继电器控制系统以及温度采集电路离加热管较近。利用烤箱内的石英棉隔温,保证其正常工作。

2.2NB-IoT模块电路设计

通信电路选用NB71模组,根据芯片手册推荐3.8V为最佳工作电压,由电源模块产生3.8V供电。本模块将烤箱的运行状况的数据发给服务器,服务器通过NB71模组将烘烤菜单下发至烤箱。NB-IoT无线通信模块设计电路如图5、图6所示。

3系统软件设计

3.1控制器软件设计

如图7所示为烤箱上电初始化,包括I/O初始化、计时器初始化、LCD与触摸屏初始化、NB-IoT初始化以及ADC采样初始化。本系统使用了3个定时器分别用于PWM信号的产生、温度电压的扫描和输入捕获,对烤箱的加热管进行实时控制,然后烤箱的温度检测经过反馈调节来提高加热管控制的精度。

如图8所示是系统内部自检流程图。系统初始化的计时器用以触发定时中断。系统每5S检测一次系统性能。检测NB-IoT信号是否能够顺利收发,SD卡是否插好、温度传感器是否存在脱落情况以及烤箱内部温度是否超过合理范围,推算出继电器的健康情况。

根据烤箱实际的加热过程,设计分段式加热的控制算法。在实际的面包烤制的过程中,烤箱需要空载加热至预热的目标温度再放人待烤面团。此后的温度控制更加精细,根据不同的面包,控制其温度达到加热的目标温度。根据面包烤制过程的这一特性,将加热管工作分为全速加热预热工作模式以及由PID精确控制烘烤加热模式两种。其控制流程图如图9所示。

当控制参数或菜单需要整体更新时,上位机向各个烤箱的NB-IoT通信模块发送指令以及更改内容,这使得智能烤箱便于统一地管理。其控制流程图如图10所示。

串口接收中断服务程序负责的是按协议接收服务器通过NB-IoT模块的烤箱烘焙方案进行解析,在烤箱界面进行显示。

3.2服务器平台设计

软件设计为服务器端软件设计,负责建立通讯及数据交互。将服务器搭建好后,程序会创建一个Worker启动4个进程来对外提供服务,负责监听固定端口。当端口收到消息后,程序将消息分割为烤箱号、操作符、状态三部分,根据消息种类进行存储、更新等相关操作。处理完成后,对将要返回的消息进行处理,加入帧头帧尾,最后通过send命令返回数据。程序流程图如图11所示。

在通讯部分,使用Apache搭建Web服务器,用PHP语言创建Worker建立TCP通讯。系统通讯方式有定时通讯和上电通讯两种方式,定时通讯使用152操作符,上电通讯使用151操作符。在数据传输部分,数据分为图片数据和普通字符串数据,发送方式有所不同,字符串加入帧头帧尾完成预处理后可直接发送给烤箱,图片格式要转化为二进制字符串分段发送。管理员可在网页设置烤箱和烘焙方案,若有烤箱信息变更,可在烤箱上电时对烤箱信息进行传输、变更。

3.3数据通信协议设计

控制器与服务器之间利用NB-IoT模块作为无线通信,利用私有的通信协议进行数据收发。

本系统制定了烤箱控制器与服务器之间的TCP通信协议,与服务器通讯时需要先与服务器建立连接,再进行数据传输。烤箱與服务器之间的通信协议具体内容如表1所示。数据发送的格式采用内容为“start”的帧头,和内容为“end”的帧尾,通信的目的地址为Ox00,端口号为目的地址的端口号,数据内容包括烤箱号、操作符、状态、图片等信息。

4人机交互界面设计

将触摸屏技术应用在本次的设计当中,通过多级式菜单设定烤箱烘烤菜单,设计了人机交互界面,如图12所示,直观地显示了主控系统中采样到的温度数据,增进了人机交互的灵活性,具有一定的推广价值。

5测试结果分析

在完成烤箱与服务器的对接后,对其接收返回的数据进行了测试。经过测试,服务器程序可以准确获取烤箱发送的各条信息并正确操作。

使用15号烤箱多次发送操作符及状态。数据接收测试结果如图13所示,数据库信息如图14所示。

通过测试,此系统实现了服务器对烤箱运行数据的接收、处理及返回,定时对烤箱发送信息,同时返回数据的传输不会遗漏,符合系统需求。

在完成烤箱整体设计及制作后,进行了实物测试。首先测试了智能烤箱的功能。之后对其加热性能进行了进一步的测试。测试现场如图15所示。

图16传统机械式烤箱加热温度变化数据,图17利用改进的分段PID控制算法控制的烤箱加热温度变化数据。对比测试传统的旋钮式温控系统的加热时间以及智能烤箱分段控制的加热时间,测试结果显示,智能烤箱的温度响应更加迅速,温度控制性能更加优越。

6结论

针对传统烤箱,基于NB-IoT技术并以STM32为控制器的智能烤箱远程管理系统,实现了通过Web客户端对烤箱的远程管理,可为大规模的烤箱远程管理系统的设计提供参考。

猜你喜欢
烤箱物联网
面包发酵温度 与湿度怎样控制
基于高职院校物联网技术应用人才培养的思考分析
选好烤箱做好美味
中国或成“物联网”领军者