4、功率放大器:线性功放与开关功放、H桥驱动电路、PWM调制技术、功放设计实例

功率放大器,说白了就是磁悬浮轴承的「肌肉」。控制系统算好了力,得靠功放把能量灌进线圈里。我这些年调试磁悬浮系统,有一半的坑都栽在功放上。今天咱们就把这层窗户纸捅破。

4.1 线性功放 vs 开关功放

先说说两种主流方案。线性功放,就是让功率管工作在线性区,像个可变电阻。好处是纹波小、电磁干扰低,适合对噪声敏感的场景。但效率嘛……我做过一个实验,输出100W时,管子自己就烧掉了40W,散热片烫得能煎鸡蛋。

核心区别:

  • 线性功放: 精度高、响应快、效率低(30%~50%)、体积大
  • 开关功放: 效率高(80%~95%)、体积小、有开关纹波

我个人习惯,小功率(<100W)或者对电流纹波要求极高的场合,用线性功放。大功率飞轮系统,几乎清一色开关功放。你想想看,飞轮储能动不动几十千瓦,用线性功放,光散热系统就得占半个机柜。

避坑指南: 我曾经在实验室用线性功放驱动一个5kW的磁轴承,结果开机不到3分钟,功率管直接炸了。后来换成开关功放,同样的散热条件,稳稳的。记住:功率超过500W,别犹豫,上开关功放。

4.2 H桥驱动电路

H桥,名字来源于电路形状像字母「H」。四个开关管(MOSFET或IGBT)组成桥臂,中间挂负载线圈。为什么要用H桥?因为磁轴承线圈需要双向电流——正电流产生正向力,负电流产生反向力。

基本的H桥拓扑是这样的:

Q1 (高侧左)          Q3 (高侧右)
    |                    |
    +----[线圈]----+
    |                    |
Q2 (低侧左)          Q4 (低侧右)

控制逻辑其实很简单:

  • 正电流:Q1和Q4导通,电流从左向右流过线圈
  • 负电流:Q2和Q3导通,电流从右向左流过线圈
  • 续流:关断时,靠体二极管或续流管释放线圈储能

嗯,这里要注意。H桥最怕「直通」——就是同一侧上下两个管子同时导通。那相当于电源短路,瞬间电流能把管子烧成灰。我见过一个实习生,死区时间设得太短,上电后「啪」一声,MOSFET炸成了两半。所以死区时间(Dead Time)一定要留够,一般建议100ns~500ns,具体看管子参数。

警告: H桥驱动必须硬件互锁!不要只靠软件延时。我曾经吃过这个亏,软件死区设了200ns,结果温度一高,驱动芯片延时漂移,直通了。后来加了硬件逻辑门,再没出过问题。

4.3 PWM调制技术

开关功放的核心就是PWM。说白了,就是把直流电斩成方波,通过调节占空比来控制平均电压/电流。磁轴承线圈是个大电感,天然就是个低通滤波器,方波进去,正弦波出来。

常用的PWM调制方式有三种:

调制方式 特点 适用场景
双极性调制 桥臂交替导通,电流纹波大 小功率、低成本
单极性调制 一个桥臂高频斩波,另一个恒通 中等功率,纹波较小
三电平调制 输出电压有+U、0、-U三种状态 大功率、低纹波要求

我个人最常用的是单极性调制。为什么?因为它在效率和纹波之间取得了很好的平衡。双极性调制虽然简单,但每个周期四个管子都在开关,开关损耗大。三电平调制效果好,但控制逻辑复杂,需要额外的电平转换电路。

PWM频率怎么选?这里有个经验公式:

f_PWM ≥ 10 × f_控制带宽

比如磁轴承的控制带宽是1kHz,那PWM频率至少10kHz。我一般取20kHz~40kHz,既能避开人耳可听范围,又不会让开关损耗太大。频率再高,MOSFET的开关损耗会急剧上升,得不偿失。

小技巧: 我曾经在40kHz PWM下发现线圈有异响,后来用示波器一测,发现是PWM频率和线圈的机械谐振频率重合了。解决办法很简单——把PWM频率偏移5%,或者加一个抖频功能。嗯,这种玄学问题,遇到了你就懂了。

4.4 功放设计实例

光说不练假把式。我给大家拆解一个我实际做过的磁轴承功放设计案例。参数如下:

  • 母线电压:48V DC
  • 最大电流:±10A
  • 开关频率:25kHz
  • 负载电感:2mH
  • 负载电阻:0.5Ω

第一步:选管子

耐压要留余量,48V母线,我选75V的MOSFET。电流10A,留2倍余量,选30A的管子。型号?IRFB3077,性价比不错,Rds(on)只有3.3mΩ,导通损耗小。

第二步:驱动芯片

H桥需要隔离驱动。我用的是IR2110,半桥驱动芯片,两片就能驱动全桥。自举电容选10μF,自举二极管用快恢复的UF4007。嗯,这里要注意,自举电容的耐压要够,我吃过亏,用了普通电解电容,结果高频下ESR太大,发热严重。

第三步:电流采样

磁轴承对电流精度要求高,我用了霍尔电流传感器ACS712,20A量程,输出电压线性度好。采样电阻方案虽然便宜,但隔离是个问题,大功率下不建议用。

第四步:保护电路

过流保护、过温保护、欠压保护,一个都不能少。我习惯用硬件比较器做快速过流保护,响应时间<1μs。软件保护太慢,等单片机反应过来,管子已经冒烟了。

最后贴一段我实际用过的PWM生成代码(基于STM32F4的定时器):

// 初始化定时器TIM1,输出互补PWM
TIM_HandleTypeDef htim1;
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;
htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1;
htim1.Init.Period = 1680;  // 168MHz / 1680 = 100kHz
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_PWM_Init(&htim1);

// 配置通道1和通道1N(互补输出)
TIM_OC_InitTypeDef sConfigOC;
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 840;  // 50%占空比
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);

// 设置死区时间
htim1.BreakDeadTimeConfig.DeadTime = 72;  // 约430ns
HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sConfigBDT);

这段代码的核心是中心对齐模式,能有效降低电流纹波。死区时间设了430ns,对于IRFB3077来说足够安全了。

设计总结: 功放设计没有银弹。线性功放精度高但效率低,开关功放效率高但有纹波。H桥驱动要注意死区和直通保护。PWM频率要综合考虑纹波、损耗和机械谐振。我这些年最大的体会是——功放设计,七分在硬件,三分在软件。保护电路一定要硬件实现,别指望软件兜底。

功率放大器知识体系 功率放大器 线性功放 vs 开关功放 H桥驱动电路 PWM调制技术 关键对比 • 线性:精度高,效率低 • 开关:效率高,有纹波 • 选型:功率<100W用线性 大功率必须用开关 核心要点 • 四管桥臂拓扑 • 正/负电流控制 • 死区时间设置 • 硬件互锁保护 三种调制方式 • 双极性:简单纹波大 • 单极性:折中方案 • 三电平:低纹波复杂 • 频率:20~40kHz 功放设计实例:48V / ±10A / 25kHz 选型 → 驱动 → 采样 → 保护 → 代码实现

好了,功放这块就聊到这儿。记住我一句话:功放是磁悬浮系统的「体力活」,设计得不好,控制算法再牛也白搭。下次调试时遇到功放发热、电流纹波大、管子炸裂这些问题,回头翻翻这节内容,应该能帮你省不少时间。