第4章 硬件原理图设计:电源模块、MCU最小系统、传感器接口、执行器驱动

好,咱们直接进入正题。这一章讲的是理疗仪硬件设计的核心骨架——原理图设计。说白了,就是要把芯片、电阻电容、接插件这些东西,用电路图的方式“串”起来。

我个人习惯,画原理图之前先画一个电源树。你想想看,理疗仪里既有5V的传感器,又有3.3V的MCU,还有可能用到12V甚至更高的执行器驱动。电源搞不好,后面全白搭。

4.1 电源模块:隔离与非隔离的选择

电源模块是理疗仪的“心脏”。我见过不少项目,因为电源纹波太大,导致传感器读数跳来跳去,或者执行器动作不干脆。

先说说非隔离方案。如果理疗仪是电池供电,或者内部电路与外部人体接触有可靠的绝缘保护,用非隔离电源就够了。常用的方案是DC-DC降压芯片,比如TPS5430或者MP2307。输入12V,输出5V或3.3V。

关键点:非隔离电源的输入输出共地。这意味着噪声会直接耦合到后级电路。所以布局时,电源部分要远离模拟信号区。

隔离方案呢?如果理疗仪需要直接接触人体,或者有医疗认证要求(比如IEC 60601),那就必须用隔离电源。隔离电源内部有变压器,原边和副边没有电气连接。我常用的隔离DC-DC模块是B0505S,输入5V,输出5V,隔离耐压3kV。

嗯,这里要注意:隔离电源的输出地(GND_ISO)和输入地(GND)是分开的。你需要在原理图上明确标注,不能混用。

对比项 非隔离电源 隔离电源
成本 高(约2-3倍)
效率 85%-95% 75%-85%
纹波 20-50mV 50-100mV
安全等级 基本绝缘 加强绝缘
适用场景 内部电路供电 人体接触、医疗设备

我的经验:隔离电源的输出端一定要加LDO(低压差线性稳压器)。因为隔离模块的纹波通常比较大,LDO可以把纹波压到10mV以内。我曾在某款理疗仪上吃过亏,直接用了隔离模块的输出给ADC供电,结果测量值一直在跳。后来加了个AMS1117-3.3,问题就解决了。

4.2 MCU最小系统:让芯片“活”起来

MCU最小系统,说白了就是让单片机能够正常工作的最低配置。包括电源、晶振、复位电路、下载接口。

电源去耦:每个电源引脚旁边都要放一个0.1μF的陶瓷电容,位置尽量靠近引脚。我习惯再加一个10μF的钽电容做储能。你想想看,MCU内部时钟翻转时,瞬间电流可能达到几十毫安。没有去耦电容,电压会瞬间跌落,导致复位或跑飞。

晶振电路:我常用8MHz无源晶振,配两个22pF的负载电容。晶振的走线要短,不要穿过其他信号线。曾经有个项目,晶振旁边走了一条I2C线,结果系统偶尔死机。查了两天才发现是I2C的边沿干扰了晶振波形。

复位电路:最简单的方案是10kΩ上拉电阻加0.1μF电容到地。但如果你想要更可靠的复位,可以用专用复位芯片,比如MAX809。它能保证在电源低于阈值时,MCU一直处于复位状态。

// 复位电路原理图示例(文字描述)
// MCU的RESET引脚
// 接10kΩ电阻到3.3V
// 接0.1μF电容到GND
// 可选:接复位按键到GND

注意:下载接口(SWD或JTAG)的SWDIO和SWCLK引脚,要加10kΩ上拉或下拉电阻。否则在下载器连接瞬间,引脚电平不确定,可能导致下载失败。我曾经因为这个原因,浪费了整整一个下午。

4.3 传感器接口:模拟信号的“第一道防线”

理疗仪常用的传感器有温度传感器(NTC热敏电阻)、压力传感器、生物电传感器(如心电电极)。这些传感器的输出都是模拟信号,需要经过调理电路才能进入MCU的ADC。

NTC测温电路:最简单的方案是NTC加一个固定电阻组成分压电路。NTC的阻值随温度变化,分压点的电压也随之变化。我习惯用10kΩ的NTC,配10kΩ的精密电阻(1%精度)。

但这里有个坑:NTC的响应是非线性的。你需要查表或者用公式计算温度。我一般用Steinhart-Hart方程,精度可以做到±0.1°C。

生物电传感器:这个就复杂了。生物电信号非常微弱,只有几毫伏,而且有很强的共模干扰(50Hz工频)。我常用的方案是仪表放大器,比如AD620或INA128。它的共模抑制比(CMRR)能达到100dB以上。

嗯,这里要特别注意:传感器接口的输入阻抗要高。生物电传感器的输出阻抗可能达到几兆欧,如果ADC的输入阻抗不够,信号会被衰减。我一般会在仪表放大器前面加一级电压跟随器。

避坑指南:我曾经在传感器接口上忘记加ESD保护二极管。结果有一次静电放电,直接把ADC输入引脚打坏了。从那以后,我在所有外部接口上都加了BAT54S双二极管做钳位保护。成本只增加了几分钱,但可靠性提升了一个档次。

4.4 执行器驱动:让理疗仪“动”起来

理疗仪的执行器通常是电机(振动按摩)、加热片(热疗)、或者LED阵列(光疗)。这些器件的电流都比较大,不能直接用MCU的GPIO驱动。

电机驱动:如果是直流电机,用MOS管加续流二极管就行。我常用的MOS管是AO3400,N沟道,最大电流5.8A。驱动电路很简单:GPIO接MOS管的栅极,源极接地,漏极接电机。

但要注意:电机启动瞬间的电流可能是额定电流的5-10倍。所以MOS管的选型要留足余量。我一般按额定电流的2倍选型。

加热片驱动:加热片是纯阻性负载,用MOS管或者继电器都可以。如果要求PWM调温,必须用MOS管。继电器只能做开关控制。

加热片的功率通常比较大,比如10W-50W。这时候PCB的铜箔宽度要足够。我一般按1A电流需要1mm线宽来估算。如果电流超过3A,我会在顶层和底层都走线,或者加焊锡加厚。

// 电机驱动电路示例(文字描述)
// MCU GPIO -> 1kΩ电阻 -> AO3400栅极
// AO3400源极 -> GND
// AO3400漏极 -> 电机负极
// 电机正极 -> 12V电源
// 电机两端并联1N4007续流二极管(阴极接12V)

我的习惯:执行器驱动电路一定要加光耦隔离。比如用EL357N,把MCU侧和功率侧隔离开。这样即使功率侧短路或者过压,也不会烧坏MCU。成本增加不到1块钱,但能省去很多售后维修的麻烦。

好了,这一章的内容就这些。电源、MCU、传感器、执行器,这四个模块构成了理疗仪硬件的主体。下一章我们会讲PCB布局和布线,到时候再聊怎么把这些模块合理地放在一块板子上。

总结一下:

  • 电源模块:隔离还是非隔离,看安全等级要求。输出端加LDO降纹波。
  • MCU最小系统:去耦电容不能省,晶振走线要短,复位电路要可靠。
  • 传感器接口:高输入阻抗,加ESD保护,注意非线性补偿。
  • 执行器驱动:MOS管留余量,加续流二极管,建议光耦隔离。