2、系统架构设计:传感器选型、主控芯片选型、通信方式选择、电源方案设计

好,咱们开始第二章。上一章我们把水质监测板的整体需求理清了,这一章就要动真格的了——选型。

选型这事儿,说白了就是做权衡。性能、成本、功耗、体积,你得在这四个维度上跳舞。我做了十几年硬件,见过太多因为选型拍脑袋,最后改板改到吐血的案例。所以这一章,我会把每个关键器件的选型思路掰开揉碎了讲给你听。

2.1 传感器选型:水质监测的“眼睛”

传感器是整块板子的核心。它不准,后面算法再牛也是白搭。

我们这块板子要测什么?常规水质五参数:pH、溶解氧(DO)、电导率(TDS/EC)、浊度、温度。有些场合还要加余氯或氨氮,但作为入门实战,我们先搞定这五个。

2.1.1 pH传感器

pH传感器,市面上主流就两种:玻璃电极和ISFET(离子敏感场效应管)。

玻璃电极便宜,精度高,但有个致命缺点——玻璃球泡易碎。我在项目里遇到过现场安装工人手一抖,几百块的探头就废了。所以如果你做的是便携设备,我个人建议优先考虑ISFET。它耐冲击,响应快,就是价格贵一点。

选型要点:

  • 精度:±0.1 pH 够用,±0.01 pH 那是实验室级别,别盲目追求
  • 响应时间:一般要求 90% 响应在 30 秒内
  • 接口:模拟输出(0-5V 或 4-20mA)还是数字(I2C/RS485)?我建议新手先用模拟,调试简单
小技巧:pH探头一定要买带温度补偿的。因为pH值受温度影响很大,25℃和10℃测同一个溶液,读数能差0.3以上。别问我怎么知道的,吃过亏。

2.1.2 溶解氧传感器

DO传感器分两种:电化学极谱法和荧光法。

电化学的便宜,但需要定期换膜、加电解液,维护麻烦。荧光法的贵,但免维护,寿命长。我的建议是:如果你做的是长期在线监测,咬咬牙上荧光法。省下来的维护人工费,一年就回本了。

选型参数:

  • 量程:0-20 mg/L
  • 分辨率:0.01 mg/L
  • 响应时间:T90 ≤ 60s

2.1.3 电导率/TDS传感器

这个相对简单。核心就是两个电极,测溶液导电能力。选型时注意电极常数(K值)。

K=1.0 适合普通淡水(0-2000 µS/cm),K=10 适合高电导率水(比如海水)。别搞反了,否则读数会飘到天上去。

避坑指南:我曾经选了一款K=0.1的电极去测自来水,结果读数直接溢出。后来才发现,自来水导电率一般在300-800 µS/cm,K=0.1的量程上限才200 µS/cm。嗯,这就是不看规格书的代价。

2.1.4 浊度传感器

浊度传感器原理是光散射。主流有90度散射光和透射光两种。90度散射光对低浊度敏感,透射光适合高浊度。

我们做饮用水监测,浊度一般很低(< 5 NTU),所以选90度散射光方案。

2.1.5 温度传感器

温度其实不用单独买探头。很多pH和DO传感器都内置了NTC或PT100。你直接读它们的温度通道就行。

如果非要单独选,DS18B20 是个不错的选择。一线总线,便宜,精度±0.5℃,够用了。

2.2 主控芯片选型:板子的“大脑”

主控芯片怎么选?看三点:处理能力、外设接口、功耗。

我们这块板子要做什么?

  • 读取5路传感器数据(模拟或数字)
  • 做简单的数据处理和校准
  • 驱动显示屏(可选)
  • 通过无线模块上传数据
  • 管理电源(低功耗休眠)

算下来,一个Cortex-M4级别的MCU完全够用。我个人推荐 STM32F407 或 ESP32。

参数 STM32F407 ESP32
内核 Cortex-M4 Xtensa LX6
主频 168 MHz 240 MHz
ADC 3个12位,最多24通道 2个12位,最多18通道
无线 无(需外挂) WiFi + BLE 内置
功耗 低(有多个低功耗模式) 较高(WiFi开启时)
价格 约 25-40 元 约 15-25 元

怎么选?

  • 如果你要做低功耗电池供电,选 STM32F407。它的待机电流可以做到几微安。
  • 如果你要做WiFi直连云平台,选 ESP32。省一个通信模块,成本更低。

我个人的习惯是:原型验证用ESP32,因为开发快、调试方便。量产时如果对功耗有要求,再切到STM32+外挂无线模块。

2.3 通信方式选择:数据怎么传出去?

水质监测板通常部署在野外或管道井里,数据要传到服务器或手机端。通信方式怎么选?

主流方案就三种:

  1. WiFi:适合室内或有WiFi覆盖的场景。成本低,速度快。但功耗高,穿墙能力弱。
  2. 4G/NB-IoT:适合野外无WiFi场景。覆盖广,功耗低(NB-IoT),但要插SIM卡,有流量费。
  3. LoRa:适合超远距离、低速率传输。一个网关能覆盖几公里。但需要自建网关,部署成本高。

我建议初学者先从WiFi入手。为什么?因为调试方便。你坐在电脑前,串口打印+WiFi上传,数据一目了然。等你把整个系统跑通了,再考虑换成NB-IoT或LoRa。

注意:如果你选ESP32做主控,WiFi和蓝牙都内置了,不用额外加模块。但要注意天线设计——板载PCB天线的增益一般只有-2dBi到0dBi,信号弱。如果设备装在金属箱子里,一定要用外置天线,否则信号会被屏蔽掉。我吃过这个亏,第一次打样时没留天线座,结果装进不锈钢防水箱后,WiFi死活连不上。

2.4 电源方案设计:稳定是王道

电源设计是硬件工程师的基本功,也是最容易出问题的地方。

我们这块板子的供电场景有两种:

  • 市电供电(12V/24V适配器)
  • 电池供电(3.7V锂电池或两节18650串联)

2.4.1 电源树设计

不管哪种输入,最终要给各个模块提供稳定的电压:

模块 所需电压 最大电流
MCU (STM32/ESP32) 3.3V 300 mA
传感器 (pH/DO/EC等) 5V 或 3.3V 200 mA
无线模块 (4G/LoRa) 3.3V 500 mA (峰值)
显示屏 (OLED) 3.3V 50 mA

所以电源方案很清晰:

  • 输入 12V → 通过 LM2596MP1584 降压到 5V
  • 5V → 通过 AMS1117-3.3XC6206 降压到 3.3V

如果你用电池供电,中间还要加一个锂电池充电管理芯片,比如 TP4056。它负责给电池充电,同时提供5V输出。

2.4.2 电源纹波控制

传感器对电源纹波很敏感。尤其是pH和DO,它们的模拟输出信号很微弱,如果电源纹波大,读数会跳来跳去。

我的经验是:

  • 在LDO输出端加10µF+0.1µF的滤波电容
  • 模拟部分和数字部分用磁珠隔离
  • 传感器供电单独走一路LDO,不要和MCU共用
核心原则:模拟电源要“干净”。数字电源可以“脏”一点,但模拟电源必须单独处理。否则你花大价钱买的传感器,测出来的数据还不如淘宝9块9的。

2.4.3 低功耗设计

如果是电池供电,功耗就是头等大事。

几个关键点:

  • MCU进入休眠模式,定时唤醒采集数据
  • 传感器在不采集时断电(用MOS管控制电源)
  • 无线模块只在发送数据时上电,发完立刻关

我做过一个低功耗版本,用STM32L0 + NB-IoT,平均电流做到了50µA左右。一节18650电池,每30分钟上报一次数据,能撑半年。

嗯,这一章内容不少。传感器选型、主控选型、通信方式、电源方案,每一个都是决定板子成败的关键。下一章我们开始画原理图,到时候这些选型结果就会变成实实在在的电路了。