第二章:系统架构概览——农业气象站的典型硬件组成
做农业气象站,说白了就是跟四个东西打交道:传感器、MCU、无线模块、电源。这四样东西怎么搭在一起,决定了你的产品能活多久、测得准不准、成本高不高。
我刚开始做这个方向的时候,犯过一个挺傻的错误——把传感器和无线模块的电源直接连在一起,结果无线发射的时候,传感器电压被拉低,数据全飘了。嗯,这种坑踩过一次就记住了。
2.1 传感器:采集数据的“眼睛”
农业气象站要测什么?温度、湿度、气压、风速、风向、降雨量、光照强度、土壤湿度……每样传感器都有自己的脾气。
典型传感器清单:
| 传感器类型 | 常用型号 | 接口 | 典型功耗 |
|---|---|---|---|
| 温湿度 | SHT30 / BME280 | I2C | 2-5 µA(休眠) |
| 气压 | BMP280 / MS5611 | I2C / SPI | 1 µA(休眠) |
| 光照 | BH1750 / OPT3001 | I2C | 0.5 µA(休眠) |
| 风速风向 | 脉冲式风速仪 | GPIO 中断 | 0 mA(无源) |
| 雨量 | 翻斗式雨量计 | GPIO 中断 | 0 mA(无源) |
| 土壤湿度 | 电容式探头 | 模拟量 / I2C | 5-10 mA(测量时) |
我个人习惯,温湿度传感器首选 I2C 接口的。为什么?因为 I2C 只需要两根线,而且大部分 MCU 都自带硬件 I2C,省引脚、省代码。我在项目中遇到过用模拟 I2C 的,结果时序被中断打乱,数据偶尔出错,排查了两天才发现是软件模拟的问题。
2.2 MCU:系统的“大脑”
MCU 选什么?低功耗是第一位。我个人推荐 STM32L 系列或者 Nordic nRF52 系列。前者是通用低功耗王者,后者自带蓝牙,适合无线场景。
MCU 选型要点:
- 休眠功耗: 必须低于 1 µA。我见过标称 2 µA 的芯片,实际跑起来因为外设漏电,直接飙到 10 µA。
- 唤醒时间: 从休眠到开始采集,最好在 1 ms 以内。有些老芯片要几十毫秒,白白浪费电量。
- 外设集成度: 尽量选自带 RTC、ADC、DMA 的。外挂芯片越多,功耗越难控制。
举个例子,我用 STM32L051 做过一个项目,休眠电流 0.8 µA,唤醒后采集一次数据加无线发送,总共耗时 50 ms,平均电流 15 mA。算下来,一节 CR2032 电池能用两年多。
2.3 无线模块:数据的“快递员”
无线模块的选择,取决于你的传输距离和数据量。
常见方案对比:
| 无线技术 | 典型距离 | 峰值电流 | 休眠电流 | 适用场景 |
|---|---|---|---|---|
| LoRa | 1-5 km | 120 mA | 1 µA | 远距离、低速率 |
| NB-IoT | 基站覆盖 | 200 mA | 3 µA | 有蜂窝信号的地方 |
| BLE | 10-100 m | 15 mA | 0.5 µA | 近距离、手机直连 |
| Zigbee | 100-300 m | 30 mA | 1 µA | 组网场景 |
我个人最常用 LoRa。为什么?因为农业气象站往往分布在田里、山上,离基站远,LoRa 的穿透力和距离是硬道理。我曾经在山区部署过一个站点,LoRa 信号穿过了两座小山包,直线距离 3.2 公里,数据包成功率 98% 以上。
2.4 电源:系统的“心脏”
电源方案决定了你的气象站能活多久。常见的方案有几种:
- 电池 + 太阳能: 最推荐。白天充电,晚上用电池。锂电池选 18650,容量大、便宜、好买。
- 一次性电池: 适合短期部署。用 ER14505 这种锂亚电池,自放电率极低,但大电流放电能力差。
- 超级电容: 适合超低功耗、短寿命场景。但容量有限,撑不过阴天。
电源管理芯片推荐:
| 芯片型号 | 输入电压 | 静态电流 | 特点 |
|---|---|---|---|
| TPS63020 | 1.8-5.5V | 30 µA | 升降压一体,效率高 |
| MCP1640 | 0.8-5.5V | 19 µA | 升压型,适合单节电池 |
| RT9013 | 2.5-5.5V | 1 µA | 低压差 LDO,超低静态 |
我个人的习惯是:MCU 和传感器用 LDO 供电,无线模块用 DC-DC 供电。因为无线模块瞬间电流大,DC-DC 效率高,而传感器对纹波敏感,LDO 更干净。
2.5 系统架构图(文字描述)
一个典型的农业气象站硬件连接是这样的:
太阳能板 → 充电管理 → 锂电池 → 电源管理芯片 → 3.3V 总线
│
├── MCU (STM32L0)
├── 传感器 (I2C 总线)
├── LoRa 模块 (SPI)
└── RTC (独立供电)
注意看,RTC 是独立供电的。为什么?因为 MCU 休眠时,RTC 还要继续跑,如果共用电源,MCU 的漏电会影响 RTC 的稳定性。我见过一个设计,RTC 和 MCU 共用 LDO,结果 MCU 休眠时 LDO 输出飘了,RTC 时间一天慢 5 分钟。
好了,系统架构大概就是这样。下一章我会详细讲每个模块的低功耗设计细节,包括怎么选型、怎么布线、怎么调试。你想想看,如果每个环节都省下 1 µA,整个系统就能多活好几个月。