FastBond2阶段2-基于MAX6675火灾报警器
火灾报警器用于监控厨房用火安全。接入家庭自动化平台,实现自动监控,异常温度报警。
标签
ESP32
智能家居
物联网
乐鑫
FastBond2
K型热电偶
MAX6675
火灾报警
安全
厨房智能
鲜de芒果
更新2023-10-07
871

一、项目介绍

最近天气热,火灾事故频发。恰好在研究智能家居并且搭建了一套基于 HomeAssistant 的家庭自动化平台。因此萌生了制作一个火灾报警器,主要放置于厨房监控厨房用火安全。

结合实际情况综合考虑之后,火灾报警器以下统称 报警器 应具备以下几个特点:

  • 温度采集端与数据上报应当分离开,否则温度过高导致芯片损坏无法实现异常温度数据上报。
  • 模块尽可能小巧,可以放置于86插座或开关中。
  • 供电采用5V供电,有一部分86插座自带了USB-A接口,如果 报警器 外置的话可以直接用 USB数据线进行供电。内置在86盒中可采用从 USB 口引入供电到内部。也可以增加一个 AC - DC 的 5V模块。
  • 报警器 接入家庭自动化平台,实现自动监控,异常温度报警。
  • 显示模块展示实时温度数据(可选项,报警器内置到86盒中时显示模块没有意义,外置的意义也不大,但进行设备调试时比较有用)。
  • 喷淋控制(初步设想,可选项)。

 

 

二、项目设计思路

2.1 硬件

硬件部分的设计参考 esp32-c3-devkitm-1 开发板,在此原理图的基础上增加一个 MAX6675 K型热电偶采集芯片、一个SI2302驱动电路(用于驱动大功率电器)、一个 WS2812B LED灯(点灯必备),和一个LCD屏幕电路。

2.2 软件

软件方面由于是智能居家产品,那必然是使用自己搭建好的 ESPHome + Home Assistant 套装来完成固件开发与远程控制。

Home Assistant 是一款在 Python 3 上运行的家庭自动化平台。能够跟踪和控制家庭中的所有设备,并提供自动化控制平台。有一个简单的、适合移动设备的界面来控制你的所有设备,且不会将任何数据存储在云端,以保护个人隐私。

ESPHome 是一个通过简单而强大的配置文件控制您的 ESP8266/ESP32 和 RP2040 的系统,并通过家庭自动化系统远程控制它们。

 

 

三、方案介绍

报警器以 ESP32-C3-MINI-1U 为核心,使用其WIFI功能连接到家庭自动化平台。通过家庭自动化平台控制 报警器 定时采集K型热电偶的温度数据,并通过MAX6675转换为数字信号上报至家庭自动化平台并记录。将采集到的温度值与设定的报警温度值进行比较。高于设定值时,进行报警操作。

具体的报警动作可在家庭自动化平台中进行设定,例如:控制面板显示火灾警报、警报灯亮起、发送警报消息至成员手机、通过互联网报警中心进行报警(慎用,误报会造成公共资源浪费)等。

喷淋控制功能可在火灾警报触发后执行自动化灭火操作,但实际需要考虑或受影响的因素很多。例如无法判断火灾具体位置,喷淋装置打开可能并不能进行有效灭火。因此设定为可选项,需要更多的试验喷淋装置的安装位置,喷淋方向等。

 

3.1 方案框图

FnPj1ryJXIhZfbjwi5_dGLJOJ5MP

Scheme-it 项目分享链接:https://www.digikey.cn/schemeit/project/detail/501046e7be654285b0a7d52798d0517f

 

3.2 原理图

原理图设计主要组成部分由供电、ESP32-C3最小系统、K型热电偶采集、点灯、USB烧录及显示输出几部分组成。其中显示输出为可选部分电路,实际使用时并不需要。

FhjIiPMnqztuMhWyWqRb8lTNIFVy

 

3.3 PCB效果图

Fl7DPlUVDzmbbnL5GmwAb14nNRIm

所有器件都被放置在正面,方便进行贴片焊接,只有几个接插件需要使用电烙铁进行焊接。

Fp0VOfjeXLL3IEKg1qSGTs8WHwn3 

 

四、主要器件介绍

ESP32-C3-MINI-1U

ESP32-C3-MINI-1U 是通用型 Wi-Fi 和低功耗蓝牙 (Bluetooth LE) 模组,体积小,具有丰富的外设接口,可用于智能家居、工业自动化、医疗保健、消费电子产品等领域。

ESP32-C3-MINI-1U 采用 U.FL 座子连接外部 IPEX 天线,配置了 4 MB SPI flash。ESP32-C3-MINI-1U 采用的是 ESP32-C3FN4 芯片。ESP32-C3FN4 芯片搭载 32-bit RISC-V 单核处理器,工作频率高达 160 MHz。

FsH88MqX6TA_M7nJdYsLEBr-HJ3F

文档链接:https://www.espressif.com.cn/sites/default/files/documentation/esp32-c3-mini-1_datasheet_cn.pdf

 

MAX6675

MAX6675是一款带有冷端温度补偿的热电偶数字转换器。可进行冷端温度补偿,并将K型热电偶信号转换成数字信号。数据输出为12位分辨率、SPI™兼容、只读格式。 转换器温度分辨率为0.25°C,可读取温度达+1024°C,热电偶在0°C至+700°C温度范围内精度为8 LSB。

FlU7wDHsU7JJrWr5g7LDVYqKdPow

文档链接:https://www.analog.com/media/en/technical-documentation/data-sheets/MAX6675.pdf

 

K型热电偶

K型热电偶作为一种温度传感器,通常和显示仪表,记录仪表和电子调节器配套使用。K型热电偶可以直接测量各种生产中从0℃到1300℃范围的液体蒸汽和气体介质以及固体的表面温度。

K型热电偶是目前用量最大的廉价金属热电偶,其用量为其他热电偶的总和。K型热电偶丝直径一般为1.2mm~4.0mm。 正极(KP)的名义化学成分为:Ni:Cr=90:10,负极(KN)的名义化学成分为:Ni:Si=97:3,其使用温度为-200℃~1300℃。

K型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中广泛为用户所采用。

FtLN_t_F4OYrGrRbzBofO9cqgM1M

 
 

五、PCB绘制打板介绍及遇到的问题和解决方法

  1. 使用 KiCAD7 绘制板框时,由于很多器件是从网上下载别人导出的立创EDA器件,在进行ERC检查时,遇到很多错误。Error: 输入引脚不受任何输出引脚驱动。 原因是导出的器件符号 引脚类型 全部为 输入 类型,需要进行符号编辑,将 引脚类型 修改为 双向 即可。
  2. 焊接好后调试MAX6675时,始终获取不到温度值。曾一度调试到怀疑人生,ESP32-C3和MAX6675换了好几个,K型热电偶也没有接反,最终使用ESP-IDF才能正确读到温度值。怀疑 ESP32-C3 的 Arduino 支持不完善导致。

 

 

六、关键代码及说明

本制作由于使用的ESPHome作为固件的开发,因此都是通过配置文件的形式对固件进行配置相应的功能。以下是关键部分说明:

 

6.1 网络配置

网络配置时如果默认的DNS连不上,需要设置静态IP。否则在 HomeAssistant 中该设置一直是离线状态。

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
    static_ip: 192.168.2.138
    gateway: 192.168.2.1
    subnet: 255.255.255.0

 

6.2 带功率控制开关

# 灯光控制
light:
  # PWM 控制喷淋
  - platform: monochromatic
    name: "spray"
    output: pwm_output_1

output:
  # PWM 控制1
  - platform: ledc
    channel: 2
    id: pwm_output_1
    pin: 3

 

6.3 传感器数据采集器

传感器数据用于在 HomeAssaistant 中展示传感器采集到的数据,一般用于设备状态的监控。 本制作中主要监控两个数据,WIFI的信号质量与温度数据。

# 传感器
sensor:
  # WIFI信号检测
  - platform: wifi_signal
    name: "WIFI信号"
    update_interval: 30s
    unit_of_measurement: "dBa"
    accuracy_decimals: 0
  # MAX6675 温度传感器
  - platform: max6675
    name: "温度"
    cs_pin: 4
    update_interval: 5s

注: MAX6675 是使用 SPI 通讯,因此要正确使用还需要配置 SPI 节点。

 

6.4 SPI 接口配置

# SPI 接口配置
spi:
  miso_pin: 5
  clk_pin: 6
  mosi_pin: 7

 

6.5 自动化控制

在本应用中,使用了传感器的自动化控制,来实现自动报警动作。设定温度为 200°C ,原本打算使用一个 Number 组件来设定的,但 ESPHome 对 ESP32-C3 的支持不完善,目前的版本还不支持 Number 组件,因此只能先在代码中设置报警触发温度值。不过报警温度值不会经常改变,可以通过 OTA 进行升级,这点倒是影响不大。

# 传感器配置
sensor:
  # MAX6675 温度传感器
  - platform: max6675
    name: "温度"
    cs_pin: 4
    update_interval: 5s
    on_value_range: # 判断值在某个范围触发事件
      # 低于200摄氏度时,报警灯关闭
      - below: 200.0
        then:
          - light.turn_off: alarm_light
      # 大于等于200摄氏度时,报警灯打开
      - above: 200.0
        then:
          # - switch.turn_on: relay_3 # 开关打开
          - light.turn_on: alarm_light

 

 

七、功能展示

7.1 电脑端控制界面展示

在线状态总览界面,该界面用于监控重要的温度数据,以及报警状态

FjdpowpF25TEcYkw09BeIAfWkfLr

 

报警器界面,可以完整显示报警器的状态数据,与控制功能。

FmLpAm2GeJZWNat9MmYRiyDuPdxh

 

7.2 手机端控制界面展示

FsjlRer_MJyqq0NFNXNk-AFoq79u

 

Fh9U-1B8ZGA8F4EMBJNUrGv0p9an

 

7.3 报警器实物展示

7.3.1 主控制板

为了方便调试时观察功耗情况,我在USB电源输入附近焊接了两根线来进行供电。

Fpv7MHJCZf5PMFAv9dKuN7gsUTbjFsY9yxRuaFko9bg4xIx8GS4jh2nb

 
 

八、结语

使用 Scheme-it 网页绘制的设计框图,在使用过程中对 Scheme-it 这个设计工具进行了简单的学习和体验,通过该工具设计可以使用 digikey 中的元器件,可以很方便地整合设计与采购流程,为整个开发过程节约了很多时间。

最后,感谢硬禾学堂联合 DigiKey 推出的这次活动,使我的设计能力进一步提升!

物料清单
附件下载
fire-alarm.tar.gz
KiCAD工程
fire-alarm.yml
ESPHOME 脚本
团队介绍
业余电子爱好者
团队成员
鲜de芒果
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号