一、项目介绍
最近天气热,火灾事故频发。恰好在研究智能家居并且搭建了一套基于 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 方案框图
Scheme-it 项目分享链接:https://www.digikey.cn/schemeit/project/detail/501046e7be654285b0a7d52798d0517f
3.2 原理图
原理图设计主要组成部分由供电、ESP32-C3最小系统、K型热电偶采集、点灯、USB烧录及显示输出几部分组成。其中显示输出为可选部分电路,实际使用时并不需要。
3.3 PCB效果图
所有器件都被放置在正面,方便进行贴片焊接,只有几个接插件需要使用电烙铁进行焊接。
四、主要器件介绍
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。
文档链接: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。
文档链接: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型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中广泛为用户所采用。
五、PCB绘制打板介绍及遇到的问题和解决方法
- 使用 KiCAD7 绘制板框时,由于很多器件是从网上下载别人导出的立创EDA器件,在进行ERC检查时,遇到很多错误。
Error: 输入引脚不受任何输出引脚驱动
。 原因是导出的器件符号 引脚类型 全部为输入
类型,需要进行符号编辑,将 引脚类型 修改为双向
即可。 - 焊接好后调试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 电脑端控制界面展示
在线状态总览界面,该界面用于监控重要的温度数据,以及报警状态
报警器界面,可以完整显示报警器的状态数据,与控制功能。
7.2 手机端控制界面展示
7.3 报警器实物展示
7.3.1 主控制板
为了方便调试时观察功耗情况,我在USB电源输入附近焊接了两根线来进行供电。
八、结语
使用 Scheme-it 网页绘制的设计框图,在使用过程中对 Scheme-it 这个设计工具进行了简单的学习和体验,通过该工具设计可以使用 digikey 中的元器件,可以很方便地整合设计与采购流程,为整个开发过程节约了很多时间。
最后,感谢硬禾学堂联合 DigiKey 推出的这次活动,使我的设计能力进一步提升!