4、硬件原理图设计(下):高压输出电路、恒流/恒压控制、安全隔离与传感器接口
各位同学,咱们接着聊原理图设计的下半部分。上一节我们把电源和主控搞定了,这一节要啃的才是理疗仪的硬骨头——高压输出、控制环路、安全隔离,还有传感器接口。说实话,这部分才是真正决定产品能不能过安规、能不能稳定工作的关键。
我在量产项目中见过太多方案,实验室里跑得挺好,一到EMC测试就崩,或者病人一用就感觉电流忽大忽小。嗯,这些问题十有八九都出在今天要讲的这几个模块上。
4.1 高压输出电路:H桥与MOSFET驱动
理疗仪的输出,说白了就是要把低压直流变成高压脉冲或交流信号。H桥拓扑是主流方案,没有之一。
为什么用H桥? 因为它能灵活控制输出极性。你想想看,理疗需要正负交替的脉冲波形,H桥四个开关管一配合,想正就正,想反就反,还能调占空比。
核心要点: H桥的上下管绝对不能同时导通,否则就是直通短路,MOSFET瞬间冒烟。我刚开始做第一版时,死区时间设得太短,结果上电测试直接炸了一个管,那味道...至今难忘。
MOSFET选型我一般看这几个参数:
- Vds(漏源击穿电压): 留1.5倍余量。比如输出最高100V,选150V以上的管子。
- Rds(on)(导通电阻): 越小越好,但别盲目追求。我习惯选100mΩ以下的,发热能接受。
- Qg(栅极电荷量): 这个容易被忽略。Qg太大,驱动电路推不动,开关速度上不去,损耗反而大。
驱动电路怎么搭? 我个人习惯用半桥驱动芯片,比如IR2110或更现代的UCC27211。它们自带死区时间和电平转换,省心不少。
// 伪代码:H桥PWM控制逻辑
void H_Bridge_Control(uint8_t direction, uint16_t duty) {
if (direction == POSITIVE) {
// Q1和Q4导通,Q2和Q3关断
PWM_H1 = duty;
PWM_L2 = 0;
PWM_H2 = 0;
PWM_L1 = duty; // 注意:L1和H1要互补带死区
} else if (direction == NEGATIVE) {
// Q2和Q3导通,Q1和Q4关断
PWM_H1 = 0;
PWM_L2 = duty;
PWM_H2 = duty;
PWM_L1 = 0;
}
// 死区时间由硬件或定时器插入
}
小技巧: 在MOSFET的栅极串联一个10-22Ω的电阻,可以抑制开关振荡。我有个项目就是因为没加这个电阻,辐射发射超标了6dB,后来加上立马过。
4.2 恒流/恒压控制环路
理疗仪的输出必须稳定。病人皮肤阻抗会变,电极接触也会变,如果输出电流跟着乱跳,那体验就太差了。
恒流模式是主流。因为人体阻抗变化大,恒压的话电流会忽大忽小,不安全。恒流则保证每次脉冲的能量是可控的。
控制环路怎么设计? 我一般用经典的PID控制,或者更简单的PI控制。采样电阻串在输出回路里,把电流信号转成电压,然后送进运放或ADC。
这里有个坑——采样电阻的功率。我曾经选了个0805封装的采样电阻,结果连续工作几分钟后,电阻发热导致阻值漂移,电流也跟着漂了。后来换成2512封装,问题解决。
| 参数 | 恒流模式 | 恒压模式 |
|---|---|---|
| 反馈信号 | 输出电流(采样电阻两端电压) | 输出电压(分压电阻采样) |
| 控制目标 | 电流恒定,电压自适应 | 电压恒定,电流自适应 |
| 适用场景 | 电疗、神经刺激 | 超声驱动、加热 |
| 环路带宽 | 1-10kHz | 100Hz-1kHz |
环路补偿是另一个容易翻车的地方。运放反馈网络里的电容电阻值不对,环路就会振荡。我建议先用仿真工具(比如LTspice)扫一下相位裕度,至少45度以上才保险。
警告: 千万别在控制环路里用软件滤波把信号延迟太大。我见过有人用一阶低通滤波截止频率设到10Hz,结果环路响应慢得像蜗牛,病人一调整电极,电流要等几百毫秒才稳定。这在实际使用中是非常危险的。
4.3 安全隔离电路:光耦与隔离电源
医疗设备的安全隔离是红线,碰不得。IEC 60601标准要求患者与电网之间必须有至少2层防护,或者1层加强绝缘。
光耦是信号隔离的主力。我常用的有PC817(低速)和6N137(高速)。PWM信号频率高的话,一定要用高速光耦,否则波形会失真。
这里有个经验:光耦的电流传输比(CTR)会随温度和时间老化。我一般选CTR在100%-200%之间的型号,并且留50%的余量。曾经有个项目用了CTR只有50%的光耦,批量生产时发现有些批次驱动能力不够,导致输出波形畸变。
隔离电源同样重要。我推荐用DC-DC隔离模块,比如B0505S系列,输入5V输出5V,隔离耐压3kV。别自己用分立元件搭,安规认证过不了。
关键设计规则: 隔离带两侧的GND绝对不能连通。PCB布局时,隔离带下方要挖空,不能走任何信号线。爬电距离至少8mm(根据工作电压和污染等级计算)。
嗯,这里还要注意一点——光耦的次级侧电源要和初级侧完全独立。我见过有人偷懒,用同一个LDO给两侧供电,结果隔离形同虚设。
4.4 传感器接口:温度与压力
理疗仪需要实时监测电极温度和接触压力,防止烫伤或接触不良。
温度传感器我一般用NTC热敏电阻,便宜且线性度够用。电路就是简单的电阻分压,然后送ADC。但要注意自热效应——NTC上的电流不能太大,否则自身发热会影响测量精度。
我习惯在NTC两端并联一个100nF的电容,滤除高频噪声。采样频率不用太高,10Hz就够,毕竟温度变化没那么快。
压力传感器稍微复杂点。我常用薄膜压力传感器(FSR),它的电阻会随压力变化。电路上需要做一个恒流源或恒压源驱动,然后检测输出电压。
// 温度采样与保护逻辑
#define TEMP_OVERTHRESHOLD 45 // 摄氏度
#define TEMP_UNDERTHRESHOLD 20
uint8_t Check_Temperature_Safety(void) {
uint16_t adc_val = Read_ADC(TEMP_CHANNEL);
float temp = NTC_Table_Lookup(adc_val); // 查表转温度
if (temp > TEMP_OVERTHRESHOLD) {
// 超温,立即关断输出
H_Bridge_Disable();
Set_Alarm(ALARM_OVERTEMP);
return SAFETY_TRIP;
}
if (temp < TEMP_UNDERTHRESHOLD) {
// 温度过低,可能是传感器脱落
Set_Alarm(ALARM_SENSOR_FAIL);
return SAFETY_WARNING;
}
return SAFETY_OK;
}
实用建议: 传感器接口一定要加ESD保护器件,比如TVS管。理疗仪是直接接触人体的,静电放电风险很高。我曾经在批量生产时发现约2%的机器压力传感器通道损坏,后来查出来是ESD打坏的,加上TVS后不良率降到0.1%以下。
好了,这一节的内容就这些。高压输出、控制环路、安全隔离、传感器接口,这四个模块是理疗仪硬件设计的核心。下一节我们开始讲PCB布局和布线,那又是另一门学问了。
记住一句话:原理图设计时多花一小时思考,PCB改板时就能省三天。别问我怎么知道的...