本帖最后由 ypp240124016 于 2024-12-25 13:56 编辑
一、背景介绍
烟感,又叫烟雾报警器,它的作用是发生火灾时,通过监测燃烧产生的烟雾来判断并预警火灾。在传统的楼宇中,一般是一个消防主机通过载波回路连接着多个烟雾报警器,这个载波回路类似于RS485,区别在于载波通讯只需要两根线即可,可以供电也可以通讯,现在很多载波芯片甚至不用区分正负。由于这个芯片用量很大,所以一般都是定制芯片,集成度很高,包含了烟雾检测、信号放大、蜂鸣器驱动、LED驱动、载波通信等常用功能,外围器件非常少。传统消防传感器的优点是成本很低,可能都不用10块钱,;缺点在于布线成本很高,预警不及时或者损坏误报严重,特别是传统消防主机大部分并没有联网功能,很多火警其实已经产生了,不过由于值班室没人或者被误报情况麻痹了,也就没人管了,导致错过了最佳灭火窗口期。
近几年在万物互联的大背景下,产生了“智慧消防”的概念;既然是新概念,那就要采用新技术了,所以NB烟感、LoRa烟感应运而生,这类烟感统称为智慧无线烟感。NB-Iot和LoRa这两项技术属于低功耗广域网(LPWAN)无线通信领域,一般采用电池供电,物料成本较高,部署维护简单。可以说,智慧无线烟感这类新型传感器为“智慧消防”提供了基础的技术保障。不过话说回来,传统消防有其行业特点,很难被取代;这类无线烟感随着普通大众安全意识的提升,反而在智能家居的场合大放异彩。
这个烟感项目主要目的是为了让大家了解一个产品从无到有的设计过程,同时掌握低功耗产品在软件和硬件方面的开发技巧。
二、烟感分析
2.1 组成模块
烟感从大方向分为烟雾检测、声光报警、按键、电源和通讯几个模块,从组成上讲并不复杂。
2.2 检测原理
早期烟感使用离子检测原理,如镅241(Am241),由于会释放放射性物质,后面也慢慢淘汰了;后来比较常用的是气敏式烟雾传感器,如MQ-2烟雾气敏模块,它也可以检测其它气体,比如甲烷、酒精等等,本质上就是标定参数不一样,不过这类气敏传感器功耗较高,需要预热处理,没法用电池供电。
目前比较常用的烟雾检测原理是光电式,其实就是两个红外对管,一发一收;把他们封装在一个迷宫烟雾暗室内,成一定角度安装,正常接收管是收不到发射管的信号的,一旦迷宫内有烟雾颗粒进入,对红外光产生漫反射,接收管就能收到微弱的红外光信号,这个信号经过放大器放大后就能够被MCU的ADC引脚检测到了,这就是红外光电式烟雾检测的基本原理。
2.3 声光按键
烟感的主要目的就是提醒业主或者管理员发生了火灾,所以声音是必不可少的,报警时声音要洪亮,要求85分贝以上;为了让人观察烟感的运行状态,还要间隔闪光,即运行指示灯。
对于按键,分为两种,一种是测试按键,按下后会发送报警信息,在维护或者部署时候不需要使用真实烟雾就可以模拟了,比较方便;还有一种是防拆按键,正常是一个开关装置,通过与外壳配合达到防拆的目的。
2.4 电源
消防主机一般提供24V电源给回路中的烟感,由于电源和信号会衰减,所以线也不能太长,一个回路限制1000米以内,线材也要用好一点的,都有标准。传统家用的独立式烟感一般是用电池了,有的是两节7号干电池,有的是9V的方块电池,可以两三年换一次,很耐用,不过独立式烟感只会声光报警,没法联网。
2.5 通讯模块
消防主机一般用载波通讯,也有RS485的,载波可以节省两根线,成本节约上是很可观的。以前也有433M无线烟感,要配一个无线主机,主机内配置电话号码,可以打电话给管理员,一般是小厂房等小范围场合内使用,家庭用比较少。现在物联网智慧烟感一般采用NB-Iot或者LoRa无线通讯方式,智能家居采用蓝牙或者ZigBee;比较方便与云平台对接、结合,达到智慧消防的目的。
三、硬件选型
3.1 产品定义
回到这个项目,我们要怎么定义这个烟感?这是个很实际的问题,很多时候客户或者老板不会管你那么多的,他们的需求只是简单的一句话,我要在某某项目上使用烟感,你看下多长时间能搞一个出来?客户需求越简单,意味着技术方的产品经理就越麻烦,既要去调研、考察客户场景,还要充分结合自身公司的技术水平,看是否能搞得定。
对于这个烟感,算是比较常规的物联网产品,市面上已经有很多可以参考的案例了;不过作为学习型项目,我们还是要重头走一遍的。
首先在技术定义上比较明确了,结构图如下,采用光电式烟雾检测模块,电池供电,蜂鸣器、指示灯、按键都是要有的,MCU采用低功耗芯片,通讯模式主要是LoRa或NB-Iot。
3.2 外壳
麻雀虽小、五脏俱全,烟感除了硬件电路、软件开发外,还有结构设计,作为一个团队,至少这三组人员是需要协同的。举个例子,外壳结构都没设计好,PCB要怎么布局?
一般来讲,如果是大批量产品的话都会自己设计开模的,如果数量不大,直接买成品外壳就好了,土就土一点了。对于我们这个项目,学习为主,肯定也是买现成外壳了,这也算是项目开发的第一步——找外壳。当然,外壳也不是瞎找,前期也是要收集一些信息的,所以结构、硬件、软件三者是需要协同工作的,以此为例:软硬件这边应该大致要确定技术方案,比如MCU、外设器件型号大致确定,也基本可以确定理论整体功耗;接着根据客户需求,大概要几年更换电池,结合烟感的成本限定,从而大致确定电池的型号和尺寸;有了这些东西,才能大致布局,确认烟感外壳的尺寸和布局,最后才能去供应商(淘宝)那边搜索。以下是我确定的烟感外壳。这里综合了布局、大小、外观和价格等因素,由于所有内容都是自己确认的,省去了沟通成本,效率比较高。
3.3 烟雾迷宫 烟雾迷宫检测原理都是一样的,但是外壳各式各样,自己要根据尺寸评估下买哪款合适,我是买了个比较常规形状的,尺寸较小、价格也合适。这种模块厂家一般都有PCB封装文件,不需要自己去测量、绘制封装。另外,红外对管一般也是配套的。
3.4 声光报警
蜂鸣器算是比较常规的了,这里要注意的是,需要选用无源蜂鸣器,因为电池电压比较低,正常3.6V以下,需要三脚电感进行升压驱动,只能选用无源蜂鸣器;同时,无源蜂鸣器价格也比较低。有些为了极致节约成本,会选用蜂鸣片,其实就是少了个外壳,这个外壳有共鸣箱的作用,匹配得好声音会更大。
指示灯就更常规了,如有必要,结构上需要用导光柱将光线引到外部,如果LED直接外露的话,可能引脚要很长,不适合安装,更没办法用贴片的LED灯了。况且我们用的是成品外壳,很多结构孔都是固定的,只能适应外壳、曲线救国。
按键和指示灯都是一样的道理,因为这个外壳也不算是专用的烟感外壳(专用的烟感外壳着实有点丑),没有按钮结构,只有一个USB口和小圆孔,那么按键就采用卧式按钮通过USB孔外露。
3.5 主芯片
随着国产化的崛起,主芯片的选择面宽了很多,以前首选都是ST的低功耗芯片,例如STM8L和STM32L系列,我看了下这俩的价格,还是挺高的,后面又机缘巧合的看到了国产的低功耗芯片,就想着试试看,不然老是ST的也得换换口味了,顺便看下如何从0到1移植使用一款全新的芯片。这种能力是很重要的,像前几年的缺芯潮搞得大家都很被动,如果学会了如何管理代码、阅读手册和芯片移植等能力,那么就可以比较快地切换了,无形中减少了很多的损失。
下图是主芯片CW32L010F8P6(TSSOP20)的特性部分截图,这是技术手册,https://item.szlcsc.com/43268304.html?fromZone=s_s__%2522CW32L010F8P6%2522
从数据手册看,低功耗性能还是不错了,RTC和看门狗使用的情况下1.2uA。芯片是20引脚的,除去电源和调试口,仍有15个引脚可以使用。芯片零售价不到两块钱,有64K ROM + 4K RAM,性价比高;电压范围宽,有利于电池供电,可以省去一个转压芯片,省成本的同时也降低了功耗。
3.6 通讯模块
目前来讲,广域网的物联网烟感就是NB或者LoRa了,在软件上,我们都会学习和支持;硬件上,由于外壳比较小,NB需要SIM卡,布局比较占空间,所以仅用于测试,用串口外接一个NB模块进行功能测试。NB数据我们会上传到AEP平台,LoRa会移植LoRaSun协议和LoRaWAN协议分别测试,不过由于手头没有LoRaWAN网关,这一项先保留,后续再更新;LoRa模式的数据会结合端点物联APP进行展示。其中端点物联APP更像是米家的小米烟感卫士。
3.7 电池
电池的选型是比较严谨的,核心是容量和放电电流两个参数,再结合外壳和价格选择合适的尺寸。电池除了我们日常用到的干电池外,还有行业用的锂亚(ER)电池和锂锰(CR)电池,这种行业电池的特点是自损低、放电区间集中。下图是CR17345电池的各个温度的放电曲线,以紫色为例,大部分时间的电压能够维持在2.7V以上,直到电量快要耗尽的时候才极速下降,这对无线模块的发送稳定性很重要。
锂亚(ER)电池和锂锰(CR)电池也是有区别的,常规来讲,锂亚电池属于容量型电池,锂锰电池属于功率型电池,本质就是相同体积下,锂亚电池的容量大于锂锰电池;锂亚电池的标称电压是3.6V,锂锰电池的标称电压是3.0V,这是其化学特性决定的。下图框框内的几个可以横向对比,简单讲相同体积,最大电流越大,容量就越小,二者不可兼得,所以要结合自己的硬件特性去选择电池。为了发挥锂亚电池的容量特性,厂家会配合一个超级电容用于满足瞬时功率的要求,这个可以根据自己需求再深入研究。
那么我为什么会选择第三个CR123A呢?这个要看硬件整体功耗,首先看下功率最大的器件是什么?是通讯模块,LoRa的发射电流是120mA左右,NB根据手册需要保持500mA的瞬时电流,这个要求还是挺高的,所以正常就是选择功率型的了。针对电压,上面已经提到过了,锂锰电池是2~3V,大部分放电区间是2.7~3V,结合主要器件的工作电压,MCU是1.6~5.5V,LoRa是1.8~3.7V,NB是2.2~4.5V,均能满足要求。最后再结合价格跟体积,就选择了CR123A这一款电池。
还有一个重点是功耗计算,评估多久换一次电池。下图是我对整体功耗的测算,以天为计算周期,黄色部分是总功耗,由于电压都是一样的,可以省略计算,右下角红色的计算结果就是使用年限,1400mAh的电池大概使用3.1年,最后的0.8是打折系数,电池容量没办法百分百用完的,算是冗余设计了。由于体积较小,这个电池更换频率也算是可以接受的了。
四、软件流程
软件主体流程图如下,细节的东西就没展示了,留到后面的软件设计专题再说明。核心其实就是间隔烟雾检测了,烟感的绝大部分时间其实是在休眠,所以休眠时候的功耗要控制得非常好才行,基本上需要接近理论功耗值了。根据手册,MCU的休眠功耗是1.2uA,LoRa(LLCC68)的休眠功耗是1uA,其余大约1uA;综合来看,总计应该小于5uA才是符合理论的。
五、总结
这是一个完整的设计项目,如果自己动手完成相应课程内容,那你将会学到很多知识:如代码管理、芯片代码移植、简易PCB设计、结构布局、嵌入式软件框架设计、平台对接以及产品开发流程等等,在这个过程中,可以进一步巩固C语言和单片机的相关知识,同时以项目为中心,了解自己的薄弱点,查缺补漏。
最后是自己动手制作后成品展示。
演示视频
https://live.csdn.net/v/439966
本专栏地址:https://blog.csdn.net/ypp240124016/category_12855111.html
|