硬件选型与传感器接入:主控芯片选型与电梯运行状态传感器
好,咱们进入正题。这一章聊的是硬件选型,说白了就是给电梯监控系统选「大脑」和「感官」。我在这个领域摸爬滚打了好些年,踩过的坑不少,今天把这些经验掰开揉碎了讲给你听。
主控芯片选型:ESP32 vs STM32
选主控芯片,我个人的习惯是先看需求,再看成本,最后看生态。电梯物联网这个场景,说白了就两个核心诉求:一是要稳定,二是要能联网。目前市面上最主流的两款芯片,就是 ESP32 和 STM32。
先说说 ESP32。这玩意儿我特别喜欢,为什么呢?它自带 Wi-Fi 和蓝牙,一颗芯片就把通信问题解决了。我在一个旧楼改造项目里用过它,当时现场布线困难,全靠 ESP32 的无线能力,省了一大笔施工费。它的主频能到 240MHz,处理传感器数据绰绰有余。而且乐鑫的生态做得不错,Arduino 和 MicroPython 都能跑,开发效率很高。
但 ESP32 也有短板。它的 ADC(模数转换)精度一般,我实测过,12 位分辨率下噪声比较大。如果你要采集高精度的模拟信号,比如电梯的振动波形,那 ESP32 就不太够用了。另外它的工业级温度范围是 -40°C 到 85°C,虽然够用,但长期在高温高湿的电梯井道里,我建议还是做一下散热处理。
再来看 STM32。这芯片是工业界的「老黄牛」了。我最早做电梯监控时用的就是 STM32F103,也就是大家常说的「F1 系列」。它的优势在于稳定、外设丰富、ADC 精度高。我记得有一次项目要求采集电梯门锁的微动开关信号,STM32 的输入捕获模式直接搞定,延时不到 1 微秒。如果你需要做实时性要求高的控制,比如电梯运行状态判断,STM32 是更稳妥的选择。
不过 STM32 的缺点也很明显——它本身没有无线功能。你得外挂一个 Wi-Fi 模块,比如 ESP8266 或者 4G 模块。这样一来,硬件成本就上去了,而且 PCB 布局也更复杂。我建议新手别一上来就搞 STM32+外挂模块,调试起来挺头疼的。
我的选型建议:
- 原型验证、快速迭代:选 ESP32,开发快,成本低,适合小批量项目。
- 工业级、高可靠性:选 STM32,尤其是需要高精度 ADC 或实时控制时。
- 折中方案:用 STM32 做主控,ESP32 做协处理器专门负责通信。我在一个高端写字楼项目里就这么干过,效果不错。
电梯运行状态传感器:加速度、门磁、温湿度
传感器是电梯的「感官」。选对了传感器,数据才有价值。我分三个核心传感器来讲。
加速度传感器
加速度传感器用来检测电梯的振动和运行状态。说白了,电梯启动、停止、加减速、甚至轿厢晃动,都能通过加速度数据看出来。
我常用的型号是 MPU6050 和 ADXL345。MPU6050 是六轴(三轴加速度+三轴陀螺仪),精度高,但功耗稍大。ADXL345 是三轴加速度,功耗极低,适合电池供电的场景。
这里有个坑要提醒你:加速度传感器的安装位置很关键。我曾经把传感器直接贴在电梯轿厢的金属壁上,结果数据全是高频噪声。后来我加了橡胶减震垫,数据才干净。另外,采样率建议设在 100Hz 以上,这样才能捕捉到电梯启动时的瞬时冲击。
小技巧:用加速度传感器判断电梯运行方向。当 Z 轴加速度大于 1g 时,电梯在上升;小于 1g 时,电梯在下降。当然,这只是粗略判断,精确计算还得用卡尔曼滤波。
门磁传感器
门磁传感器用来检测电梯门的开关状态。这玩意儿简单,但容易出问题。我见过不少项目用干簧管门磁,结果电梯门频繁开关,干簧管几个月就坏了。
我建议用霍尔效应门磁,比如 A3144。它没有机械触点,寿命长得多。安装时要注意磁铁和传感器的距离,一般控制在 10mm 以内。如果距离太远,信号会不稳定。
另外,门磁信号要接上拉电阻,默认高电平,门打开时拉低。这样即使传感器断线,系统也能检测到异常。嗯,这是我在一个项目里被坑出来的经验——当时门磁线断了,系统还以为门一直关着,差点出安全事故。
温湿度传感器
电梯井道里的温湿度变化其实挺大的。夏天井道温度能到 50°C,冬天又很冷。温湿度数据可以用来判断电梯的工作环境,也能辅助分析故障原因。
我常用的型号是 DHT22 和 SHT30。DHT22 便宜,但精度一般,响应慢。SHT30 贵一些,但精度高、响应快,而且支持 I2C 接口,接线方便。我个人更推荐 SHT30,尤其是需要长期监测的项目。
注意,温湿度传感器不要放在电梯控制柜里面,那里温度偏高,数据不准确。我一般把它挂在轿厢顶部通风处,数据比较有代表性。
数据采集电路设计要点
电路设计这块,我踩过的坑最多。说几个关键点。
第一,电源隔离。电梯井道里电磁干扰很严重。我建议传感器和主控之间用光耦隔离,尤其是门磁信号。我曾经偷懒没用隔离,结果电梯变频器一启动,传感器数据全乱套了。
第二,信号滤波。加速度传感器的输出信号,一定要加 RC 低通滤波。我一般用 10kΩ 电阻和 0.1μF 电容,截止频率大概 160Hz。这样能滤掉高频噪声,保留有用的振动信号。
第三,接口保护。所有外部接口都要加 TVS 管和限流电阻。电梯井道里可能有雷击感应浪涌,不加保护的话,芯片很容易烧。我有个项目就是因为省了 TVS 管,一个雷雨天烧了三块主板。
警告:千万不要把传感器信号线和强电线(比如 220V 电源线)走同一个线槽。电磁耦合会让你采集到的数据全是噪声。我见过有人这么干,结果加速度数据看起来像地震波形。
最后说一句,硬件选型没有绝对的对错,关键看你的项目需求。如果你只是做原型验证,ESP32+DHT22+干簧管门磁就够了。但如果是商业项目,我建议你老老实实上 STM32+SHT30+霍尔门磁。嗯,这就是我的经验。
下一章咱们聊聊数据通信协议,到时候我会讲 MQTT 和 Modbus 在电梯场景里的实际应用。到时候见。