基于Blinker的远程温度控制系统的设计
2019-11-16聂晗王军民
文/聂晗 王军民
在工业生产中,工件加工常需要使用烘箱进行加热处理,以使器件达到更高的工作需求,现有的温控系统已基本能满足工业化生产需求,但无法做到定时定温的物件烘烤制作。常规加热器加热工艺无法准确控制温度,而且需要人实时驻守以防止发生意外。这为生产生活带来了极大的不便,也增加了人工成本。本文设计的基于物联网控制的恒温控制系统很好的解决这一问题。
1 系统组成
该系统主要由手机APP、温度采集模块、MCU控制单元、设备控制模块、Wi-Fi通信模块、电源模块等六大部分组成。其中采用Arduino Uno作为主控MCU,使用Blinker作为物联网接入方案并使用其提供的APP定制方案,使用18b20作为温度传感器采集实时温度,使用可控硅调节发热设备工作,电源模块主要为MCU以及加热设备提供电源。系统设计结构图如图1所示。
2 硬件设计
2.1 单片机设计
本系统采用Arduino Uno作为MCU,Arduino是以ATmege单片机为控制核心的单片机控制板,其中Arduino Uno的处理器核心为ATmega328,具有14路数字I/O口,其中6路可用作PWM输出,6路可作模拟输入。常用的Arduino Uno板除了拥有Atmega最小系统外,还包含稳压电路,USB转串口模块,一些指示灯还有一些扩展用插座,如图2所示。
2.2 温度采集模块
本系统采用DS18b20作为温度采集传感器,DS18B20是美国DALLAS半导体公司生产的单总线智能智能温度传感器,测温范围在-55℃~125℃,固有分辨率可精确到0.5℃。与传统的热敏电阻测温不同的是,DS18B20可以直接读出被测温度值,再加上其体积小,对外界抗干扰能力强并且精度高、硬件开销低,所以在生产生活中被大量采用。
DS18B20有三个引脚:
(1)GND为电源地;
(2)DQ为数字信号输出/输入端;
(3)VDD为外接供电电源输入端,使用时极为简单。
本实验采用的测温探头如图3 所示,采用聚乙烯四氟镀银引线,具有防水、防油、耐高温的特性,其耐温量程为-50℃~200℃。
2.3 Wi-Fi通信模块
Esp8266是乐鑫公司推出的一款廉价、超低功耗但几乎全能的Wi-Fi芯片,支持SPI、I2C、UART等方式进行通信。UART通信时,可直接支持AT指令,大大简化了开发难度。Esp8266有8个引脚,但是和Arduino通信时只需要接5个即可,Arduino拥有Esp8266库,使用时直接调用库函数即可。
2.4 设备控制模块
直接通过继电器来控制加热设备的通断来实现控温,到温度达到设定温度的上阈值时,断开电源,温度下降直到设定温度的下阈值时,接通电源使加热器工作。通过这样的方式使温度稳定在设定温度的波动范围内。
3 软件设计
该系统使用Blinker作为物联网接入方案。Blinker是一套跨平台、跨硬件的物联网解决方案,提供手机APP端、设备端、服务端支持,使用例如Onenet、阿里云等公有云服务进行数据传输存储。Blinker提供了一套物联网设备开发api封装了不同平台的底层代码,无论开发者使用什么云平台、什么硬件,开发起来都大同小异,极大地方便了开发者。在手机APP开发上,Blinker提供了自定义布局来让开发者定制自己的APP操作界面。
3.1 手机APP设计
本系统使用Blinker在Arduino上基于Wi-Fi连接进行开发。由系统需要实现的功能上来定制,我们需要实现监控温度,所以需要有当前温度显示;我们需要手动开关加热设备以及显示加热设备工作状态,所以需要开关;我们需要设定温度以及加热时间,所以需要控制温度时间设定。如图4所示即是手机APP界面设计。
图1:系统组成图
图2:Arduino Uno
图3:18B20温度探头
图4:APP功能定制图
3.2 MCU程序设计
图5:MCU控制流程图
Blinker为Arduino提供了blinker Arduino支持库。使用Blinker.begin()函数来初始化Wi-Fi设置,并连接网络广播设备信息等待APP连接。Blinker.run()函数需要频繁调用以保持设备间连接并处理收到的数据,建议放在loop()函数中。手机APP通过定时向设备发送心跳包,设备收到心跳包后会返回设备当前状态,如果用户有自定义状态需要在收到心跳包时返回,可调用Blinker.attachHeartbeat()函数。设备建立后APP会立刻发送心跳包,此后每30s~60s发送一次,这也就意味着手机客户端不能实时更新数据,不过每次进入都是实时数据,时间间隔也基本满足需求。
MCU检测温度设定值变化,若发生变化则重新设定定时值以及温度值。总开关直接控制通断,定时记满直接断开继电器,在定时器未满时,当温度高于设定值上阈值断开继电器,当温度低于下阈值连通继电器。流程图如图5所示。
4 结束语
此系统基本完成了设计要求并基本实现了总体功能,在此温控系统的工作过程中,通过手机APP中对应的功能就可以控制实验室的设备工作状态,不需要人为值守,大大解放了生产力并节约了人力成本,为使用者提供了方便的同时也降低了安全事故的发生概率。在设备控制的方面,本系统采用了比较简单的方式来实现控温,未来若想实现更高级的控温效果可考虑使用PID控温方式,并使用测量温度范围更广的温度传感器来扩宽使用范围。