基于FireBeetle ESP32-E设计的加热台
ESP32加热台 Funpack3-2 本次设计的想法是利用来自DFRobot公司的DFR0654-F和DFR0558的两个产品来开发一个可视化加热台。
标签
嵌入式系统
Funpack活动
显示
Javion
更新2023-01-04
463

基于FireBeetle ESP32-E设计的加热台

设计概要

      本次设计的想法是利用来自DFRobot公司的DFR0654-F FIREBEETLE ESP32-E IOT MICROCONT和DFR0558 GRAVITY DIGITAL HIGH TEMP SENSOR的两个产品来开发一个可视化加热台。

DFR0654-F FIREBEETLE ESP32-E IOT MICROCONT性能描述:

  • 工作电压:3.3V
  • 输入电压:3.3V~5.5V
  • 支持低功耗:10uA
  • 支持最大放电电流:600mA@3.3V LDO
  • 支持最大充电电流:500mA
  • 支持USB充电
  • 处理器:Tensilica LX6双核处理器(一核处理高速连接;一核独立应用开发)
  • 主频:240MHz
  • SRAM:520KB
  • Flash:4MB
  • Wi-Fi标准:FCC/CE/TELEC/KCC
  • Wi-Fi协议:802.11 b/g/n/d/e/i/k/r (802.11n,速度高达150 Mbps),A-MPDU和A-MSDU聚合,支持0.4us防护间隔
  • 频率范围:2.4~2.5 GHz
  • 蓝牙协议:符合蓝牙v4.2 BR/EDR和BLE标准
  • 蓝牙音频:CVSD和SBC音频低功耗:10uA
  • 工作电流:80mA(平均)
  • 频率范围:2.4~2.5GHz
  • 支持Arduino一键下载
  • 支持micropython
  • 片上时钟:40MHz晶振、32.768KHz晶振
  • 数字I/O x10(arduino默认)
  • 模拟输入 x5(arduino默认)
  • SPI x1(arduino默认)
  • I2C x1(arduino默认)
  • I2S x1(arduino默认)
  • RGB_LED:5/D8
  • 接口方式:FireBeetle V2系列兼容
  • 工作温度:-40℃~+85℃
  • 模块尺寸:25.4 × 60(mm)
  • 安装孔尺寸:M2安装孔 孔径2.0mm

      DFR0558 GRAVITY DIGITAL HIGH TEMP SENSOR数字K型高温传感器由信号放大转换模块和铠装K型热电偶探头组成,当K型热电偶探头置于高温热源时,探头两端由于热电效应产生一个与温度呈正比的微弱电压,信号放大转换模块采用MAX31855K专用芯片将这个微弱的电压信号进行放大、模数转换与相应补偿,最终通过Gravity I2C接口向主控器发送探头的测量温度。信号放大转换模块最大可测量极宽的温度范围-270℃~1372℃,在-200℃~700℃误差不超过±2℃,700℃~1350℃误差不超过±4℃,配套的铠装K型热电偶探头测温可达800℃,在量程范围内误差不大于±2.5℃,能够满足大部分400度以上超高温度的测量场景。

信号放大转换模块

  • 输入电压(VCC):3.3V~5.5V
  • 适配探头:K型热电偶探头
  • 测温范围:-270℃~1372℃
  • 测温分辨率:0.25℃
  • 测温误差:≤±2℃(-200℃~700℃) ~ ±4℃(700℃~1350℃)
  • 通信接口:Gravity I2C (逻辑电平0-3.3V)
  • 产品尺寸:44.0mm*22.0mm

铠装K型热电偶探头

  • 测温范围:0℃ ~ 800℃
  • 测温误差:≤±2.5℃
  • 线长:1.5m(金属屏蔽线)
  • 探头长度:50mm
  • 探头直径:Φ4mm
  • 特性:防水、耐腐蚀(耐弱酸弱碱,防锈)、耐高温

硬件设计

硬件设计部分,我们主要分成四部分:

      人机交互部分采用一个240X320的触摸屏进行显示和输入,可以设定温度和显示温度曲线等信息。

      主控部分是ESP32,可以通过串口与触摸屏进行信息交互,并根据传感器(I2C)返回温度结果计算,在D12控制端口输出合适的控制量。

      温度反馈部分由信号放大转换模块和铠装K型热电偶探头组成,通过I2C反馈温度到主控部分。

      执行加热部分由发热片驱动(MOS管+继电器)和PTC发热片组成。

      目前加热台概念版由这四部分构成,后续可以添加机械结构来提高作品的完成度。

硬件设计框图如下:

新建 BMP 图像

软件设计

      软件包括控制核心程序和人机交互程序。控制核心程序位于ESP32中执行;人机交互程序在串口屏幕的GD32这个MCU里执行。

控制核心的程序:

void setup()

{

  Serial.begin(115200);

  Serial2.begin(115200);

  max31855.begin();

  pinMode(D12,OUTPUT);

  pinMode(D4, INPUT_PULLUP);

}

      初始化部分包含了对串口、I2C、GPIO的初始化。Serial2是屏幕串口,波特率115200。max31855.begin()是铠装K型热电偶信号放大转换模块的配置函数。D12是温度控制输出端口。D4是板上的一个按键,用来调整工作模式:set模式可以设置目标温度,run模式实施调温。

 

void loop()

{

  float temp = max31855.readCelsius();

  int temp1 = temp/1;

  setmenu();

  time = millis();

  if(ms_c <= (time-10000))

  {

    ms_c = time;

    setwave(0,temp_set);

    setwave(1,temp1);

  }

  heat(time,temp1,temp_set);

}

·······························以下具体函数编写省略

  • setmenu();在set模式下获取设置温度。
  • setwave(0,temp_set);在屏幕显示设置的温度和打印温度曲线。
  • setwave(1,temp1);在屏幕显示实际的温度和打印温度曲线。
  • heat(time,temp1,temp_set);温度控制函数。

温度控制算法:

采用PI控制time_pwron = Kp*Terr0+Ki*Terr;

  • time_pwron是周期内加热时间;
  • Kp是比例系数;
  • Terr0是温度误差;
  • Ki是积分系数;
  • Terr是温度误差累积项,并做了限幅,防止饱和。

人机交互程序:

AcMyM8Txcgq+AAAAAElFTkSuQmCC

      Set界面,包括活动名称、版本信息、提升信息等。“250℃”是ESP32中返回的设置温度。“147”是输入温度,通过中间的滑块或者按钮【-】、【+】进行调节。按下【SET】是将输入温度设置到ESP32的设置温度中。

avxTgMJWaZAAAAABJRU5ErkJggg==

RUN界面包括温度曲线显示界面、设定温度显示框、实际温度显示框等。

联调测试

      联调测试包括串口屏和ESP32控制板通信协议的对齐、温度控制算法参数的调整。

      屏幕协议调试的基本思路是用ESP32的系统串口打印业务串口的RX、TX内容,然后判断通信出bug的地方,最终解决问题。

      控制算法参数就是按照PID参数整定法,先调P找到等幅度震荡的值,然后取一个比其略小的值作为比例参数;然后不断增大I,找到一个满足静态误差的值作为积分参数即可。

      调试结果:人机交互功能已完全实现,调温功能已经实现,可以在5min~10min达到设定温度,温度静态误差小于2℃。

总结与持续改进

      总的来说,在Funpack第二季第三期活动中,学习了ESP32在arduino环境下的开发流程,进一步了解ESP32在蓝牙、WIFI等领域的应用方法并进行实践操作(虽然在最终作品中未涉及,但也收获颇丰),同时积累了大迟滞系数控制系统的调试方法。一期活动下来,经历了种种曲折,牺牲了汗水和脑细胞,当看到最终作品的时候感觉一切都是值得的!

如果有对该项目感兴趣的伙伴想做类似作品,我有几点改进建议:

  1. 可以选用较低规格的温度传感器,我使用的这把牛刀有点大。
  2. 可以选用最高温度高一点的发热片,目前最高240℃左右只能较好融化低温锡,造成实用价值较小。

最后,感谢Funpack活动的主办方提供了这次让我学习进步的机会,感谢其他一起参加活动的伙伴的经验交流,祝Funpack活动越办越好。

Javion@2022年12月23日

附件下载
readTemp.ino
UART_DISPLAY.HMI
团队介绍
Javion个人
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号