聊聊身边的嵌入式,一把大火如何导致了一个王朝的覆灭

简介: 聊聊身边的嵌入式,一把大火如何导致了一个王朝的覆灭

1. 从一把大火说起

明朝万历二十四年三月九日夜,北京紫禁城内的坤宁宫着了一把大火,大火蔓延到了乾清宫,皇上和皇后的住处被烧了个干净。很不幸,第二年,皇极殿,建极殿和中极殿也失火烧掉了。为了重修宫殿,万历皇帝不顾众多大臣的反对,开始加重税赋,并安排亲信宦官到全国各地督办。大明终于是经不起这番蹂躏,在万历死后的第二十四个年头土崩瓦解了。

不敢相信,一把大火摧毁了一个朝代。沉睡在定陵的这位神宗皇帝如果地下有知,他一定非常想带着一套Fire Alarm System穿越回去吧。历史上的火灾还真是挺多的,不信看一下遗留下来的寥寥可数的建筑。当然也有人为因素,还有就是我们的建筑大多是木质结构。

2. 建筑中的防火系统

现在的商业和办公建筑中,消防系统是必须安装的。一抬头,我们很容易找到像下面这种圆圆的东西。这是一个能探测火灾中的烟雾的烟感型探测器,也是用量最多的一种。除此之外还有温感型,光感型,以及有害气体检测探头。

如果把它打开是这个样子:

绿色的电路板上面的黑色圆柱形腔体是光学迷宫。它的作用是遮挡外部的光线,同时又能让烟雾颗粒进入里面。成一定角度安装的一对红外发射管和接收管,还有迷宫,一起组成了烟雾探测模块。平常红外接收管是接收不到发射管的红外线的。当烟雾颗粒进入迷宫后,红外光通过散射进入接收管,转换成与烟雾浓度成正比的电信号。下一步就是如何把探测到的信号传送到控制器了。

下图是一个比较典型的火灾预警系统配置。一般每一个楼层算一个回路,所有的探头用二根总线连接至回路卡,回路卡用CAN总线连接至主控制器。每个回路上可以接一两百个探头,还有一些其它模块,如手动报警模块,声光报警器等。如果再配一些输出模块则可以进行控制,如打开喷淋系统等。

3. 二总线

探头通过两根线连至回路卡,二总线既给每个探头供电,又要负责信息的传递。那这是怎么实现的呢?每一个厂家都使用不公开的私有协议,但基本上都大同小异。总线一般采用24V直流,分为三个阶段:

A 供电周期,总线保持24V,探头用一个大电容积蓄能量。

B 寻址周期,回路卡通过拉高拉低总线,发出地址码,探头和自己的地址比对。

C 反馈周期,某个探头发现总线上发出的地址与自己匹配,通过拉低总线返回数值。

用下图所示电路可以实现二总线。桥式电路完成极性转换,所以布线的时候不用考虑极性,后面的齐纳二极管对内部的电路有一定保护作用,接收信号经分压后送至单片机解码。右边的电容可以在供电周期积蓄足够的电量,经过稳压电路后给探头提供稳定的电源。单片机控制NPN三极管可以把总线拉到地,通过拉低时间的长短表示烟雾的浓度。

4. 看起来容易做起来难

火灾预警系统看起来原理挺简单,但实际做起来还是有很多要考虑的地方。首先它安装到现场常年运行,可靠性非常重要,既要灵敏又不能误报。当大量的探头安装到现场后这确实是个挑战,据说有的厂家对客户作出承诺,误报一次就赔一万块钱,这对研发人员的压力可想而知。其次,探头的功耗也是要千方百计的降低才行,在主电源断电的情况下,系统需要转到备用电池供电,对于同样容量的电池来说,功耗越低就能坚持更长的时间。成本就更不用说了,每一颗电阻是不是必要都必须认真考虑。还有就是数据的积累,各种材料燃烧后发出的烟雾都是不一样的,有的是黑烟,有的是白烟,它们对红外线的散射能力也不同,有特别认真的厂家会在实验室拿几十上百种不同材料燃烧,来研究数值的变化规律。

5. 市场

由于消防系统是国家强制必须安装的,所以烟感探头的市场还是非常大的,国内的年产量大概在4千万只左右。看到这里大家可能非常兴奋,这得赚多少钱啊!是不是准备撸起袖子大干一场了?且慢,最早据说真是挣钱如流水,提货的都拿着现金排队等货。但经过多年的发展,暴利的时代已经一去不复返了,现在这里已经是一片红海,大大小小有一百多个厂家。主要市场份额已经被大的厂家像松江,海湾,利达华信,北大青鸟等瓜分殆尽。上游的半导体厂家厮杀也是分外惨烈,几个主芯片的供应商像Atmel,Microchip,Holtek 基本上都是定制芯片。但就像其它所有显而易见的市场一样,市场大是一回事,能不能赚到钱是另一回事儿。

相关文章
|
5月前
|
缓存 Ubuntu 安全
Ubuntu 日常使用指南:新手必知的 10 个实用技巧
注意事项:所有操作需谨慎执行,关键数据建议通过 deja-dup 工具备份。本文技巧均测试于Ubuntu 24.04 LTS,不同版本可能存在差异。
|
JSON Java UED
uniapp:使用DCloud的uni-push推送消息通知(在线模式)java实现
以上展示了使用Java结合DCloud的uni-push进行在线消息推送的基本步骤和实现方法。实际部署时,可能需要依据实际项目的规模,业务场景及用户基数进行必要的调整和优化,确保消息推送机制在保证用户体验的同时也满足业务需求。
1619 0
|
人工智能
Adobe推出文生音乐工具Project Music GenAI Control
【2月更文挑战第13天】Adobe推出文生音乐工具Project Music GenAI Control
322 2
Adobe推出文生音乐工具Project Music GenAI Control
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的生活小助手微信小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的生活小助手微信小程序附带文章源码部署视频讲解等
140 0
|
Java 应用服务中间件 Linux
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序
367 0
|
存储 Java 数据库
24、Java——银行存款取款系统(对象+集合)
24、Java——银行存款取款系统(对象+集合)
688 0
24、Java——银行存款取款系统(对象+集合)
|
数据库
EF Core如何处理多对多关系
EF Core如何处理多对多关系
334 0
|
监控 定位技术 安全
Qt编写安防视频监控系统3-通道交换
一、前言 最开始写通道交换的功能的时候,走了很多弯路,比如最开始用最初级的办法,触发交换的时候,先关闭视频,然后设置新的url重新打开视频,这样处理非常低级而且耗内存还卡还很慢,毕竟重新打开视频都需要时间的,快则几百毫秒慢则几秒钟都很有可能,尤其是网络情况不好的情况下,更加糟糕,后面发现自己真傻,完全没有必要去关闭原有视频,毕竟交换仅仅是位置的交换,而不是重新设置视频,可以直接重新布局,将视频控件对应的布局位置调换下即可,这种方法就做到了瞬间交换,视频还是原来的视频,正常播放,根本就没有中断过。
1209 0