3. 核心硬件选型指南:ESP32、STM32、树莓派对比,电流/电压传感器选型
做家庭能源管理系统,第一步就是选主控。这一步选错了,后面全白干。
我见过太多人一上来就买树莓派,结果发现成本高、功耗大,最后项目烂尾。也见过有人用STM32硬扛,结果WiFi模块调了两个月没通。
所以这一章,咱们把主控和传感器选型一次性说透。
3.1 三大主流主控芯片对比
目前家庭能源管理领域,最常用的就是这三款:ESP32、STM32、树莓派。它们各有各的脾气,选对才能省心。
| 对比项 | ESP32 | STM32 | 树莓派 |
|---|---|---|---|
| 核心架构 | 双核 Xtensa LX6 | ARM Cortex-M 系列 | ARM Cortex-A 系列 |
| 主频 | 240MHz | 72MHz~480MHz | 1.5GHz~2.4GHz |
| WiFi/BLE | 原生支持 | 需外挂模块 | 原生支持 |
| 功耗 | 低(深度睡眠 5μA) | 极低(最低 0.1μA) | 高(待机 1W+) |
| 实时性 | 中等 | 强(硬件定时器精准) | 弱(Linux 调度延迟) |
| 开发难度 | 低(Arduino 生态) | 中(HAL/LL 库) | 高(Linux 驱动) |
| 成本 | 15~30 元 | 8~50 元 | 200~500 元 |
| 典型场景 | WiFi 数据上报、简单控制 | 高精度采集、实时控制 | 本地数据分析、可视化 |
3.2 我的选型建议
如果你做的是入门级家庭能源监控,我个人习惯首选 ESP32。为什么?因为它自带 WiFi 和蓝牙,一块芯片搞定通信,省去外挂模块的麻烦。我在项目中遇到过用户家里电表箱空间有限,ESP32 加一个电流互感器就能塞进 86 盒里,成本不到 30 块。
如果你需要高精度电能计量,比如做分路计量、谐波分析,我建议用 STM32。它的硬件定时器和 ADC 精度比 ESP32 高一个量级。我记得有一次做三相电监测,ESP32 的 ADC 非线性误差太大,换了 STM32F4 系列后,数据才稳定下来。
如果你要做本地数据展示或边缘计算,比如跑个 Web 服务器、存历史数据,树莓派是合适的。但说实话,家庭场景下树莓派有点「杀鸡用牛刀」——功耗高、启动慢、还容易死机。我一般只在原型验证阶段用树莓派,量产时换成 ESP32 加云服务。
核心结论:
- 80% 的家庭能源管理项目,ESP32 就够了
- 需要高精度计量,上 STM32
- 需要本地复杂计算,才考虑树莓派
3.3 电流/电压传感器选型
传感器选型比主控更关键。主控选错了还能换,传感器选错了,数据不准,整个系统就是废的。
3.3.1 电流传感器
家庭场景下,最常用的是电流互感器(CT)和霍尔效应传感器。
- 电流互感器(CT):便宜、精度高、需要交流电。适合测总进线电流。我常用的型号是 SCT-013-030,30A 量程,输出 0~1V 模拟信号,直接接 ESP32 的 ADC 就行。
- 霍尔效应传感器:可以测直流和交流,体积小,但精度略低。适合测太阳能板输出或电池充放电电流。ACS712 系列是入门首选,5A/20A/30A 三种量程可选。
避坑指南:我曾经用 ACS712 测 220V 交流电,结果没加隔离,一上电就把 ESP32 烧了。后来老老实实加了线性光耦隔离,才解决问题。记住:强电和弱电必须隔离,这是底线。
3.3.2 电压传感器
电压测量相对简单,主要用电压互感器(PT)或电阻分压。
- 电压互感器(PT):隔离、安全、精度高。ZMPT101B 是常用型号,输出 0~5V 模拟信号,适合 220V 交流测量。
- 电阻分压:成本极低,但不隔离,有安全风险。只适合低压直流场景,比如测 12V 电池电压。
3.3.3 集成式电能计量芯片
如果你不想自己搭模拟电路,直接用集成芯片更省事。我推荐两个:
- HLW8032:单相电能计量,UART 输出,直接读寄存器就能得到电压、电流、功率、电能。成本 5 块钱,ESP32 用串口就能驱动。
- ADE7953:三相电能计量,精度高,支持谐波分析。适合做专业级能源监测。
我的经验:HLW8032 是家庭能源管理项目的「作弊器」。它内部做了校准和滤波,你只需要接上零火线,读串口数据就行。我最近一个项目就是用 ESP32 + HLW8032,3 天就完成了原型,数据精度在 1% 以内。
3.4 知识体系结构图
下面这张图总结了本章的核心逻辑,帮你快速建立选型框架:
3.5 快速选型决策表
最后给一张决策表,你对着自己的需求直接查就行:
| 你的需求 | 推荐主控 | 推荐传感器 | 预估成本 |
|---|---|---|---|
| 单相电总功率监测 | ESP32 | HLW8032 | 25 元 |
| 多路分项计量 | ESP32 | 多个 SCT-013 + ZMPT101B | 80 元 |
| 高精度三相电监测 | STM32F4 | ADE7953 | 150 元 |
| 太阳能+储能监测 | ESP32 | ACS712 + 电阻分压 | 40 元 |
| 本地数据展示+云上报 | 树莓派 Zero W | HLW8032 | 200 元 |
重要提醒:所有涉及 220V 交流电的测量,必须使用隔离型传感器(CT/PT 或集成计量芯片)。直接电阻分压测量市电是极其危险的行为,不仅会烧设备,还可能危及人身安全。我见过有人用电阻分压测 220V,结果电阻击穿,整个板子冒烟了。
好了,硬件选型就聊到这儿。下一章咱们开始动手搭建开发环境,把 ESP32 跑起来,然后接上 HLW8032 读数据。到时候你会发现,原来做个能源监测系统,真的没那么复杂。