3. 系统架构设计:探测器选型原则、信号链路的搭建、电源管理方案、通信接口选择
各位工程师朋友,这一章咱们聊聊系统架构。说白了,就是怎么把一堆元器件串起来,让它们好好干活。我见过不少项目,单看每个器件都挺牛,但搭在一起就出问题。嗯,这就是架构没想清楚。
核心观点:系统架构设计决定了产品的性能天花板。探测器选型是起点,信号链路是骨架,电源是血液,通信接口是神经。四者缺一不可。
3.1 探测器选型原则:别只看参数表
探测器选型,我个人的习惯是先看应用场景,再看参数。你想想看,一个用于人体感应的热释电探测器,跟一个用于气体分析的热电堆探测器,选型逻辑完全不同。
选型五要素:
- 响应波长:目标物体的辐射峰值波长是多少?比如人体辐射在8-14μm,那就选对应波段的探测器。
- 探测率D*:这个值越高,信噪比越好。我在做远距离测温项目时,D*差了2倍,结果就是测不准。
- 响应时间:运动目标需要快响应,静态测量可以慢一些。别为了追求快而牺牲灵敏度。
- 封装形式:TO-5、TO-8、SMD,各有优劣。TO封装散热好,SMD适合自动化生产。
- 成本与供货:这个容易被忽略。我曾经选了一款进口探测器,性能确实好,但交期12周,差点把项目拖黄。
个人经验:选型时一定要看datasheet里的测试条件。有些厂家在理想条件下测的参数,实际用起来差很多。我建议你拿到样品后,先在自己板子上测一遍。
3.2 信号链路的搭建:传感器→运放→ADC→MCU
信号链路是红外探测器的核心。探测器输出的信号通常很微弱,可能只有几微伏到几毫伏。怎么把它放大、滤波、数字化,这里面门道不少。
信号链路四步走:
- 第一步:传感器输出。热电堆输出的是直流电压,热释电输出的是交流信号。搞清楚你的传感器类型,才能设计后续电路。
- 第二步:运放放大。我建议用低噪声、低偏置电流的运放,比如AD8628、OPA333。放大倍数一般设置在100-1000倍,具体看ADC的输入范围。
- 第三步:ADC采样。16位或24位的Σ-Δ ADC是主流选择。采样率不用太高,但分辨率要够。我习惯用ADS1220,性价比不错。
- 第四步:MCU处理。MCU负责读取ADC数据、做数字滤波、计算温度值。STM32或国产GD32都够用。
避坑指南:我曾经在运放输出端直接接ADC,结果发现噪声很大。后来加了一级RC低通滤波,截止频率设在10Hz,噪声立刻降下来了。记住,滤波不是可选项,是必选项。
下面这张图是我画的信号链路框架,你可以参考一下:
3.3 电源管理方案:别让噪声毁了你的信号
电源管理,我把它比作人的心脏。心脏不好,全身都受影响。红外探测器对电源噪声特别敏感,尤其是运放和ADC部分。
电源设计要点:
- 模拟与数字分离:模拟电源和数字电源要分开走线,最好用磁珠或0Ω电阻隔离。
- LDO稳压:别用DC-DC直接给模拟电路供电。DC-DC的开关噪声会耦合到信号里。我习惯用AMS1117或LP5907。
- 去耦电容:每个芯片的电源引脚都要放一个0.1μF的陶瓷电容,靠近引脚放置。大电容(10μF)放在板子入口。
- 低功耗设计:如果是电池供电,要考虑探测器的工作模式。很多探测器有休眠模式,功耗可以降到微安级。
小技巧:我做过一个手持测温仪,电池供电。为了省电,我让探测器每秒钟只工作100ms,其余时间休眠。这样功耗降了90%,电池能用半年。
3.4 通信接口选择:I2C、SPI、UART怎么选?
通信接口的选择,说白了就是看你的数据量和距离。我见过有人用I2C传高速数据,结果卡得要死。也见过有人用UART传简单状态,浪费了硬件资源。
三种接口对比:
| 接口 | 速度 | 引脚数 | 距离 | 适用场景 |
|---|---|---|---|---|
| I2C | 100kHz-3.4MHz | 2(SDA+SCL) | 短(<1m) | 板内传感器通信,多从机 |
| SPI | 最高几十MHz | 4(MOSI+MISO+SCLK+CS) | 短(<1m) | 高速ADC、显示屏、存储器 |
| UART | 最高几Mbps | 2(TX+RX) | 中(<10m) | 与PC通信、蓝牙模块、调试 |
我的选择建议:
- 如果ADC是I2C接口,那就用I2C,省引脚。但注意I2C速度有限,别挂太多从机。
- 如果ADC是SPI接口,那就用SPI,速度快。我习惯用SPI,因为时序可控,调试方便。
- 如果需要与上位机通信,用UART转USB,简单可靠。
避坑指南:我曾经在I2C总线上挂了4个传感器,结果发现通信偶尔出错。后来查出来是总线电容太大,上拉电阻没选对。记住,I2C总线电容不能超过400pF,否则信号会变形。
3.5 实战案例:一个红外测温枪的架构设计
讲个实际案例吧。我之前做了一款红外测温枪,用于工业设备巡检。架构是这样的:
- 探测器:MLX90614,集成热电堆和信号处理,直接输出数字量。省去了运放和ADC的设计。
- MCU:STM32F030,性价比高,外设丰富。
- 电源:两节AA电池,通过LDO降压到3.3V。
- 通信:I2C读取探测器数据,UART通过蓝牙模块发送到手机。
- 显示:0.96寸OLED,SPI接口。
这个方案的好处是集成度高,开发周期短。但缺点也很明显——MLX90614的成本比裸探测器+运放+ADC的方案高。所以,如果你做的是大批量产品,还是分立方案更划算。
总结一下:系统架构设计没有标准答案,关键是根据你的需求做权衡。探测器选型看场景,信号链路看噪声,电源看纹波,通信看速度。把这四点想清楚,你的产品就成功了一半。
公众号:蓝海资料掘金营,微信deep3321