3. 硬件选型与芯片对比:主流MCU对比(ESP32、STM32、Arduino)、传感器选型(温湿度、光照、空气质量)、无线通信模块选型(Wi-Fi、BLE、LoRa、NB-IoT)、电源方案设计

好,咱们进入第三章。这一章可以说是整个物联网项目的“地基”。选型选对了,后面一路顺风;选错了,嗯,你可能要经历一段“痛苦”的改板时光。我见过太多项目因为前期芯片选型拍脑袋,后期量产时成本压不下来、性能又不够,最后只能推倒重来。

今天我就把这几大块掰开揉碎了讲:MCU怎么挑、传感器怎么配、无线模块怎么选、电源怎么设计。咱们一个一个来。

3.1 主流MCU对比:ESP32、STM32、Arduino

先聊MCU。这是物联网设备的大脑。市面上主流的三大家族:ESP32、STM32、Arduino。很多人会问:“哪个最好?” 其实没有最好,只有最合适。

3.1.1 ESP32:Wi-Fi/BLE一体,性价比之王

我个人特别喜欢ESP32。为什么?因为它自带Wi-Fi和蓝牙,一颗芯片搞定连接和控制。对于大多数物联网终端设备来说,这简直是天选之子。

  • 核心优势:双核处理器、内置Wi-Fi/BLE、价格低(批量价不到15元)
  • 缺点:功耗偏高(深睡时约10μA,但活跃时几十mA)、ADC精度一般
  • 适用场景:智能家居、Wi-Fi传感器、需要联网的控制器
我的经验:有一次做智能插座项目,客户要求成本控制在20元以内。我果断选了ESP32-S3,一颗芯片搞定Wi-Fi连接和继电器控制,连外部Flash都省了。量产时成本压到了18.5元,客户很满意。

3.1.2 STM32:工业级稳定,生态丰富

STM32是很多工程师的“初恋”。它的稳定性、外设丰富度、文档质量,都是业界标杆。如果你做的是工业设备、医疗设备,或者对实时性要求高的项目,STM32是首选。

  • 核心优势:超强外设(定时器、DMA、CAN、USB)、低功耗(STM32L系列深睡可到0.3μA)、生态成熟
  • 缺点:需要外接无线模块(除非用STM32WB系列)、价格略高
  • 适用场景:工业控制、传感器采集、需要复杂外设的项目
避坑指南:我曾经在一个项目中用了STM32F103,结果发现它的USB接口需要外部晶振,而我没预留。最后只能飞线解决。嗯,从那以后我画原理图前都会仔细看一遍数据手册的“系统框图”。

3.1.3 Arduino:快速原型,适合初学者

Arduino其实不是一个芯片,而是一个平台。它用的是AVR或ARM芯片,但封装成了“开箱即用”的形态。对于快速验证想法、做原型,Arduino无敌。

  • 核心优势:上手快、库丰富、社区活跃
  • 缺点:性能有限、不适合量产(成本高、体积大)
  • 适用场景:原型验证、教育、DIY项目

说白了,Arduino是“玩具”,但它是很好的“玩具”。我建议原型阶段用Arduino快速验证,量产时再移植到ESP32或STM32上。

3.1.4 选型对比表

特性 ESP32 STM32 Arduino
价格(批量) 10-20元 15-50元 30-80元(开发板)
无线能力 内置Wi-Fi/BLE 需外接模块 需外接模块
功耗 中等 低(L系列极低) 较高
外设丰富度 中等 丰富 简单
开发难度 中等 较高
量产适用性

3.2 传感器选型:温湿度、光照、空气质量

传感器是物联网的“眼睛”和“耳朵”。选传感器时,我一般看三个指标:精度、功耗、接口。精度不够,数据就是废的;功耗太高,电池扛不住;接口不对,MCU没法读。

3.2.1 温湿度传感器

最常用的就是DHT11、DHT22、SHT30。DHT11便宜但精度差(±2°C,±5%RH),适合对精度要求不高的场景。DHT22精度好一些(±0.5°C,±2%RH),但响应慢。SHT30是工业级,精度高、功耗低、I2C接口,我个人最喜欢。

推荐:量产项目建议用SHT30,虽然贵几块钱,但稳定性和一致性远超DHT系列。我在一个环境监测项目中用过DHT22,结果同一批货里有的偏差大,有的偏差小,最后全部换成SHT30才解决问题。

3.2.2 光照传感器

光照传感器常见的有光敏电阻(LDR)、BH1750、TSL2561。光敏电阻便宜但线性度差,需要自己标定。BH1750是数字输出,直接读lux值,非常方便。TSL2561可以同时测可见光和红外光,适合复杂光照环境。

你想想看,如果你的设备放在室内,光照变化不大,用光敏电阻加个ADC就够了。但如果放在户外,或者需要精确控制灯光,BH1750是更好的选择。

3.2.3 空气质量传感器

空气质量传感器分几种:检测颗粒物(PM2.5)的、检测VOC(挥发性有机物)的、检测CO2的。常用的有SGP30(VOC+CO2)、PMS5003(PM2.5)、CCS811(VOC)。

这里要注意:SGP30和CCS811都需要预热时间,刚上电时数据不准。我建议在代码里加一个“预热等待”逻辑,比如等待30秒后再开始读取数据。

3.3 无线通信模块选型:Wi-Fi、BLE、LoRa、NB-IoT

无线通信是物联网的“神经”。选哪种,取决于你的应用场景:距离、速率、功耗、成本。

3.3.1 Wi-Fi:高速、高功耗

适合室内、有电源的场景。比如智能音箱、摄像头。ESP32自带Wi-Fi,省了模块钱。

3.3.2 BLE:低功耗、短距离

适合穿戴设备、传感器节点。BLE的功耗极低,一颗纽扣电池能跑几个月。但传输距离短(10米左右)。

3.3.3 LoRa:远距离、低速率

适合户外、广覆盖的场景。比如农业监测、水表。LoRa的传输距离可达几公里,但速率只有几百bps。注意:LoRa需要网关。

3.3.4 NB-IoT:蜂窝网络、运营商覆盖

适合需要运营商网络覆盖的场景。比如智能停车、共享单车。NB-IoT的功耗比Wi-Fi低,但比LoRa高。需要SIM卡和运营商支持。

我的建议:如果项目是室内、有电源,优先选Wi-Fi。如果是电池供电、短距离,选BLE。如果是户外、远距离、低速率,选LoRa。如果是需要运营商网络、移动性强的,选NB-IoT。

3.4 电源方案设计

电源设计是物联网项目的“命门”。很多原型跑得好好的,一到量产就出问题,十有八九是电源没设计好。

3.4.1 电池选型

常见的有锂电池(3.7V)、干电池(1.5V)、纽扣电池(3V)。锂电池容量大、可充电,适合大多数设备。干电池便宜,适合低功耗设备。纽扣电池容量小,适合超低功耗设备。

3.4.2 电源管理芯片

常用的有AMS1117(LDO)、TPS63020(DC-DC)、MAX17260(电量计)。LDO简单但效率低,适合小电流。DC-DC效率高但电路复杂,适合大电流。

避坑指南:我曾经在一个项目中用了AMS1117给ESP32供电,结果发现ESP32在Wi-Fi发射时电流突增,AMS1117压降太大导致ESP32重启。后来换成DC-DC才解决。记住:ESP32的峰值电流可能达到500mA,LDO的散热和压降都要算清楚。

3.4.3 低功耗设计

物联网设备很多是电池供电,低功耗设计至关重要。几个要点:

  • MCU进入深睡模式(ESP32深睡约10μA,STM32L系列可到0.3μA)
  • 传感器间歇工作(采集完就断电)
  • 无线模块按需唤醒(不要一直发数据)
  • 使用MOSFET控制外设电源(彻底断电)

嗯,这里有个小技巧:在电路板上加一个“测试点”,用来测量整机功耗。量产时抽检几台,确保功耗在预期范围内。我见过一个项目,因为一颗电容漏电,整机功耗从10μA飙到了200μA,电池寿命从一年缩到了一个月。所以,功耗测试一定要做。

好了,这一章的内容就到这里。选型是个经验活,多踩坑、多总结,慢慢就有感觉了。下一章咱们聊聊“原理图设计与PCB布局”,那才是真正考验硬件工程师功底的地方。