1. 逆变器到底难在哪:先把"要什么波形"这件事定死
逆变器(Power Inverter)这个话题,看起来就是"直流变交流"五个字,但真正动过手的人都知道,它是个把电源、磁学、控制、热设计、布板全搅在一起的活儿。同样标称500W,有人做出来带个电钻都费劲,有人做出来带音响听不出底噪,差别根本不在"能不能输出220V",而在于波形质量、动态响应、保护完整度和效率曲线这几条硬指标上。我这些年拆过不少成品,也自己从头画过几版板子,最深的体会是:逆变器的功夫八成花在动手之前的设计取舍上,剩下两成才是调试。
这篇内容面向的是准备自己做一台中小功率逆变器、或者正在被手上那台样机折腾的人。从拓扑选型、变压器绕制、参数计算,到上电顺序、故障排查、效率优化,我会把每一步"为什么这么定"讲清楚——网上讲逆变器的资料多如牛毛,但大部分只告诉你"用SPWM",不告诉你占空比为什么不能打满、死区为什么不能随便给、空载电流为什么降不下来。这些恰恰是决定成败的地方。
先说清楚适用范围:下面所有的计算和实测,都围绕一台12V蓄电池输入、220V/50Hz纯正弦波输出、额定500W、短时峰值1000W的样机展开。这套思路放大到2kW或者缩小到150W都成立,只是器件和磁芯要重选。
1.1 方波、修正波、纯正弦波,差的不是"好不好听"
新手最容易犯的错,是把"逆变器"当成一个统一的东西。实际上按输出波形分三档,成本和难度差着数量级。
方波输出最简单,H桥四个管子按50Hz对翻,输出就是±Vbus的方波。它的有效值对,峰值也对,但谐波含量极高,三次、五次谐波加起来能把变压器类负载(比如小风扇、老式充电器)烧得发烫。这类方案现在基本只出现在几块钱的应急灯里。
**修正正弦波(阶梯波)**是折中产物,用几级台阶去逼近正弦,成本低、效率高,带电阻负载没问题。但它带感性负载时会有明显的转矩脉动和噪音,带某些带电容整流的开关电源,还可能因为峰值电压和过零处的突变触发电容充电电流冲击。
纯正弦波用SPWM调制加LC滤波,输出接近市电。它的价值不只是"带音响没噪音",更重要的是兼容性:电机类负载启动平顺、开关电源不会被峰值冲击、计量类设备不会因为谐波读数异常。我做过一个对比,同一台200W的小型水泵,修正波方案启动瞬间的冲击电流是纯正弦波的2.3倍左右,长期这么用,泵的绕组温升会明显偏高。
所以选型的第一问不是"用哪个芯片",而是"我要带什么负载"。带 resistive 负载为主、追求极致成本,修正波够用;带电机、压缩机、精密设备,老老实实上纯正弦波。
1.2 给样机定一张能被验证的规格表
设计之前先把目标写成可测量的数字,否则调试时会陷入"感觉不太对"的泥潭。我给这台500W样机定的表是这样的:
| 项目 | 指标 | 备注 |
|---|---|---|
| 输入电压范围 | 10.5V ~ 14.5V | 12V铅酸/锂电的常见工作区间 |
| 额定输出 | 220V±3%,50Hz±0.5Hz | 纯正弦波 |
| 额定功率 | 500W(连续) | 45℃环境温度下 |
| 峰值功率 | 1000W(≤5s) | 用于电机启动 |
| 满载效率 | ≥88% | 12V输入、500W阻性负载 |
| 空载功耗 | ≤8W | 决定待机能力 |
| 输出THD | ≤3%(阻性满载) | 用示波器FFT粗测 |
| 保护 | 过压/欠压/过流/短路/过温 | 全部可恢复或锁死可选 |
这张表里有几个数字是有讲究的。空载功耗容易被忽略,但对户外电源这类应用是致命的——一台空载吃30W的机器,放一晚上就把电池掏空了。峰值功率标5秒,是因为电机启动电流通常是额定的5~7倍,但持续时间一般在1秒内,5秒是留了余量。**THD≤3%**是纯正弦波的门槛,做到5%以下听感上就没问题了,但要做并机或者带精密负载,得压到2%以内。
2. 架构怎么定:从电池到220V的那条路径
逆变器的架构选择,本质是在回答一个问题:怎么把10.5~14.5V这么低的电压,变成能调制出311V峰值的母线。这个升压比接近30倍,直接一级搞定很难,所以主流方案都是两级。
2.1 三种常见架构的取舍
我把见过的方案归成三类,做个对照:
| 架构 | 前级 | 后级 | 优点 | 缺点 | 适用功率 |
|---|---|---|---|---|---|
| A | 工频变压器升压 | H桥 | 结构简单、抗冲击强 | 体积重量大、效率一般 | 300W~3kW |
| B | 高频推挽升压 | 全桥SPWM | 体积小、效率高、成本可控 | 变压器绕制要求高 | 150W~2kW |
| C | 单级Boost+逆变 | 全桥 | 器件少 | 升压比大时占空比极端、难做隔离 | 小功率 |
架构A是很多老式UPS和车载逆变器的做法:先把12V逆变成50Hz的交流,再用工频变压器升到220V。它的好处是天生隔离、抗冲击能力强,电机启动时的那一下冲击由变压器铁芯扛住了。缺点是那个工频变压器又大又重,500W的机器光铁芯就两三公斤,效率还被铁损和铜损拖住。
架构B是我最后选的路线:前级用推挽把12V升到约360V直流,后级用全桥做SPWM。这样变压器工作在高频(40kHz),体积能缩到工频方案的几十分之一,同样500W,高频变压器只有一百多克。代价是绕制工艺要求高,漏感控制不好会炸管。
架构C省掉了一级,但30倍升压比意味着占空比要打到0.96以上,实际根本没法稳定工作,而且没有隔离,电池侧的电压波动会直接窜到输出端。这条路我只在小功率(100W以下)见过成功的。
2.2 前级为什么选推挽,而不是反激或Boost
推挽的优势在于同样的功率下,初级电流被两个绕组分担。12V输入500W,输入电流平均接近50A,这个电流用单端拓扑(反激、正激)去做,开关管和变压器的应力都很紧张。推挽是两个管子交替导通,每个管子只承担一半时间的电流,而且变压器的磁芯是双向磁化的,利用率高,同样体积能出更大的功率。
另一个现实原因是驱动简单。推挽的两个管子源极都接地,驱动不需要浮地,用普通的低边驱动就能推,省掉了自举电路和隔离电源。这一点在低电压大电流场合特别重要——12V系统里,任何一点驱动延迟都会变成直通的风险。
反激的问题是漏感能量无处可去,500W级别必须加RCD吸收,损耗大;Boost没有隔离,而且升压比太大时占空比逼近极限,纹波和EMI都难压。所以推挽在这个功率段几乎是默认答案。
推挽的坑也很明确:两个半周期的伏秒必须严格对称。变压器初级中心抽头两侧的绕组如果匝数差一匝,或者驱动脉宽有几十纳秒的偏差,磁芯就会单向饱和,然后就是"啪"一声。这一点后面讲绕线和调试时会重点说。
2.3 后级为什么坚持全桥,而不是半桥
后级要输出220V交流,全桥和半桥的区别在于:全桥用四个管子,母线电压全部加在负载上;半桥用两个管子加两个电容分压,输出幅值只有母线的一半。
半桥的好处是管子少一半、驱动简单(本来就是半桥驱动的标准结构)。但要输出同样的220V,母线电压得翻倍到720V左右,这意味着后级的管子要选1200V耐压的,前级变压器的匝比也要加大,磁芯和整流管全部跟着升级。综合算下来,半桥省的那两个管子钱,远不够补母线电压翻倍带来的成本上升。
全桥的代价是四个管子都要浮地或半浮地驱动,需要自举或者隔离电源,还要严格设置死区防止同臂直通。但它的母线电压是半桥的一半,600V的管子就能干活,器件容易买、损耗也好控制。所以我毫无犹豫选全桥。
2.4 母线电压定多少:这笔账必须先算清
母线电压是整个系统的"血压",定错了后面全错。计算逻辑是这样的:
输出220V有效值,峰值是 220 × √2 ≈311V。全桥SPWM的输出峰值最高等于母线电压乘以调制比 m。调制比不能取1,因为要留出死区、器件压降和调节余量,实际取m_max = 0.9比较稳妥。
那么额定工况下需要的母线电压:
Vbus = 311 / 0.9 ≈345V
但这只是"额定12V输入"时的需求。电池会掉电,10.5V是必须还能满载输出的下限。推挽级是升压的,母线电压正比于输入电压,所以母线必须按最低输入电压来设计,否则电池一掉压,输出波形就削顶。
推挽输出(带滤波电感)的电压关系是:
Vbus = 2 × D × Vin × (Ns/Np)
其中D是单边占空比,最大取0.45(留0.05给死区和调节余量)。把Vin=10.5V、要求Vbus≥345V代进去:
345 = 2 × 0.45 × 10.5 × (Ns/Np) Ns/Np = 345 / 9.45 ≈36.5
取整36。那么额定12V时,需要的占空比:
D = 360 / (2 × 12 × 36) =0.4167
14.5V满电时:D = 360/(2×14.5×36) =0.345。
这个结果很好:占空比在全电压范围内落在0.34~0.42之间,既没有逼近极限,也不会因为占空比太小导致电流纹波过大。如果我把匝比定成40,那10.5V输入时算出来D会超过0.45,丢了调节余量;定成32,则额定时D只有0.31,初级电流峰值会更大、效率变差。匝比不是随便取的,它决定了整个系统的占空比工作点。
母线最终定360V(额定),后级管子选600V耐压,余量约1.67倍,考虑到关断电压尖峰(母线寄生电感引起的),这个余量是必要的。
3. 关键器件选型与参数计算:把数字算出来再动手
3.1 变压器:匝比、磁芯、绕法,一步错步步错
变压器是这台机器里唯一需要"手工制造"的部件,也是最容易翻车的地方。
磁芯选择:500W、40kHz,按面积积法估算,选EE55(有效截面积Ae≈420mm²)或者PQ50/50都够用。我更倾向EE型,因为窗口宽,好绕粗线。材质选PC40或同等级的功率铁氧体,40kHz下饱和磁通密度在100℃时约0.39T,但我们只取Bmax = 0.15T(即ΔB峰峰值0.3T),原因是推挽有直流偏磁风险,必须留足余量。
初级匝数:推挽每半个绕组的匝数按下式估算:
Np = Vin_min × D_max / (ΔB × Ae × f) = 10.5 × 0.45 / (0.3 × 420×10⁻⁶ × 40000) ≈0.94 匝
算出来不到1匝,说明这个磁芯在40kHz下能力过剩。实际取2匝(每边2匝,中心抽头),这样磁通摆幅只有理论值的一半,偏磁容忍度更高。
次级匝数:2 × 36 =72匝。
绕法是重点。我的做法是:初级用0.5mm厚、25mm宽的铜带,双线并绕2匝(先绕一半再绕另一半,保证对称),截面积12.5mm²,按4~5A/mm²的载流密度能过50A以上;次级用0.5mm漆包线三股并绕72匝,分三层,每层之间垫两层0.05mm的玛拉胶带。
注意:初级两半必须严格对称——匝数相同、长度相同、绕向一致,最好用双线并绕再串接的方式。差一匝,或者一边引线长5mm,在50A电流下产生的伏秒差就足以让磁芯单向饱和。
次级72匝绕完,一定要测漏感。方法是短接初级,用电感表测次级电感,正常应该只有几十微亨;如果测出来几百微亨,说明初次级耦合不好,关断时会在初级产生巨大尖峰。我第一版样机就是漏感偏大,加了RC吸收才勉强压住,效率掉了3个点。
3.2 前级功率管与驱动:并联的代价要算清楚
输入电流有多大?输出500W,效率按88%算,输入功率约568W。10.5V时平均电流54A,占空比0.45,每边管子导通时的电流约60A峰值。
选管子的逻辑:耐压方面,推挽管承受的电压是2 × Vin(因为中心抽头结构,关断管要承受两倍输入电压),14.5V时是29V,加上漏感尖峰,选40V~60V耐压比较安全。导通电阻要尽量小,60A电流下,如果Rds(on)=5mΩ,单管导通损耗就是 60²×5mΩ×(占空比一半) ≈ 9W,太高了,所以要并联。
实际方案:4颗 40V/5mΩ 量级的N沟道MOSFET并联,等效Rds(on)约1.25mΩ,导通损耗降到2.2W左右。并联不是简单并上去就行——每颗管子必须独立的栅极电阻(4.7Ω),防止栅极振荡;源极到公共点的走线要等长,否则电流分配不均,会出现"一颗管子扛大部分电流"的情况。
驱动用一对互补的低边驱动,注意两个管子的驱动信号之间必须有死区(不是后级那个死区),大约200~300ns,防止中心抽头换向瞬间的直通。这个死区在前级是必须的,因为变压器漏感会让换向过程变慢,没有死区就是硬短路。
3.3 后级桥臂与死区:一个必须精确对待的数字
后级四个管子的工作条件:母线360V,输出峰值电流 500W/220V×√2 ≈3.2A,加上滤波电感的纹波,实际峰值在4A上下。
耐压选600V,电流选 20A 量级的管子就够,但要挑体二极管反向恢复特性好的型号——这是全桥逆变里最容易被忽略的点。SPWM调制时,电流在每个开关周期内都可能反向流过体二极管,如果体二极管的反向恢复电荷Qrr大,每次恢复都会产生一个电流尖峰和额外的损耗,轻则效率掉两个点,重则直接把管子打穿。
死区时间要算:太短会直通(母线360V直接短路,瞬间就是几百安培),太长会增加波形失真和体二极管的导通时间。经验值是0.5~1µs。我用800ns,在20kHz开关频率下占周期的1.6%。实测这个值在满载和空载下都稳定,波形过零处的畸变也可以接受。
提示:死区时间必须由硬件保证,不能只靠软件延时。MCU的PWM输出即使是互补模式,也要确认死区寄存器确实生效了,有些低端芯片的死区是"最小死区",加电容负载后实际波形会缩短。
3.4 LC滤波:电感量、电容量与过零畸变的三方博弈
后级SPWM输出的是高频方波包络,必须用LC低通滤成正弦。设计目标:把20kHz的开关纹波压到输出峰值的1%以下,同时不能让滤波器的截止频率太低,否则50Hz基波都会有相移和衰减。
截止频率一般取开关频率的 1/10 ~ 1/20,也就是1~2kHz。
电感按纹波电流算。最恶劣工况是输出峰值处(占空比接近0.9):
ΔI = Vbus × D × (1-D) / (L × f_sw)
要求纹波不超过峰值电流的20%,即 0.64A:
L = 360 × 0.9 × 0.1 / (0.64 × 20000) ≈2.5mH
实际用两只外径40mm的铁硅铝磁环叠绕,0.9mm漆包线绕约130匝,实测电感2.1mH,纹波略大但可接受。电感必须能扛住峰值4A而不饱和,铁硅铝的饱和特性比较软,但要算一下磁环的直流偏置能力,绕完最好实测一下满载时的电感量有没有掉太多。
电容按截止频率反推:f_c = 1/(2π√(LC)),取f_c≈1.7kHz,L=2.1mH:
C = 1/((2π×1700)² × 0.0021) ≈4.2µF
取4.7µF/630V 的CBB薄膜电容。这里有个坑:电容不能一味加大。50Hz下,4.7µF的容抗约677Ω,无功电流约0.32A,已经占了额定电流的14%;如果把电容加到22µF,无功电流就接近1.5A,空载损耗和波形畸变都会变差,而且输出端的功率因数会很难看。
我的经验:滤波电感和电容选完之后,一定要在满载和空载两种状态下都看一次波形。空载时电感电流断续,容易在过零附近出现"平台";满载时如果电容偏小,纹波会明显变大。
3.5 采样、保护与软启动:不能省的几道保险
电压采样:输出端用电阻分压,把220V RMS(峰值311V)分到ADC量程内。分压电阻要用高压电阻串联,单个电阻的耐压不够会击穿。采样要做有效值计算或峰值检测,我倾向用峰值检测做过压判断(响应快),用有效值做闭环反馈(精度高)。
电流采样:输出电流用霍尔传感器或者采样电阻。500W对应2.27A有效值,过流阈值设6A(约2.6倍),超过后立即关断PWM并延时重试。短路保护要靠硬件比较器,软件采样来不及——短路电流上升时间可能只有几微秒。
温度保护:散热器上贴NTC,85℃降额,95℃关断。
软启动:这一步很多人省,但省了就容易炸。上电瞬间,输出滤波电容是空的,如果直接闭环,误差放大器输出饱和,占空比会瞬间打满,冲击电流很大。做法是让母线电压和输出幅度都按斜坡上升,200~500ms内从0爬到额定。
4. 上电实操:七个阶段,一步都不能跳
我见过太多人焊完板子直接上电池,"啪"一声,半天工资没了。逆变器的调试必须分阶段,每一阶段都只让一部分电路工作。
4.1 上电前的静态检查:三步走完再插电
第一步,目检加万用表测短路。母线正负极之间、输出端之间、每相桥臂的上下管之间,全部量一遍电阻,任何一处低于几十欧姆都要查清楚。特别注意MOSFET有没有装反、驱动芯片的电源脚有没有和地短上。
第二步,不装功率管,先测驱动波形。这一点极其重要。把前级和后级的功率管都空着,只给控制部分供电,用示波器看每个栅极的波形:频率对不对、占空比对不对、死区有没有、两路互补信号有没有重叠。我遇到过一批驱动芯片,标称死区500ns,实际输出只有120ns,不测根本发现不了。
第三步,限流电源预充。用可调直流电源,电压设12V,限流设0.5A,接到输入端。这时候即使有短路,电源也会限流保护,不会炸。观察输入电流,正常应该是几十毫安(只有控制电路在耗电),如果直接顶到限流值,立刻断电。
4.2 前级单独跑:限流电源是你的安全带
前级装好功率管和变压器,后级先不装。限流电源设12V/2A,上电。
正常情况下,如果后级没接,母线电容会被充到 2×D×12×36 ≈ 360V(开环最大占空比时更高)。这时候用示波器看母线电压是不是平稳,纹波有多大。如果母线电压上不去,或者输入电流一直顶在限流值,问题通常在三处:变压器绕反了、驱动没到管子、或者前级有直通。
确认母线正常后,逐步放开限流到5A、10A,观察空载电流。500W的推挽,空载时母线建立的电流应该在0.3A以内,如果超过1A,说明变压器漏感大或者开关损耗高。
这里有个我踩过的坑:前级空载电流大,一开始以为是管子的问题,换了两批都一样,最后发现是变压器漏感太大,关断尖峰被RC吸收消耗掉了。把次级改成三明治绕法(初级-次级-初级)之后,空载电流从0.9A降到0.35A。
4.3 后级开环、低压、小占空比:先看波,再谈闭环
后级第一次上电,千万不要直接闭环带满载。
做法是:用一个隔离的可调直流源给母线供电(先用100V),占空比开环固定在一个小值(比如0.1),频率20kHz,看H桥输出端的方波是不是干净、死区是不是存在、四个管子的驱动有没有时序错误。
然后逐步升母线电压到360V,同时缓慢加大占空比,观察输出滤波后的波形。这个阶段输出应该是低频的方波(因为占空比固定,不是正弦调制),幅值等于 Vbus×D。确认幅值和母线电压的关系符合预期,没有异常发热。
这一步要重点看两件事:一是死区期间的电压波形,正常应该是一个平缓的过渡(体二极管续流),如果看到剧烈的振铃,说明母线到桥臂的走线电感太大,需要加吸收或者缩短走线;二是管子温度,开环小占空比下如果管子明显发烫,说明驱动不足或者体二极管在硬恢复。
4.4 闭环与正弦表:让输出真正"像"市电
闭环的核心是正弦参考表 + 电压反馈。
正弦表的生成很简单,一个周期采样200个点:
#define SINE_POINTS 200 const uint16_t sine_table[SINE_POINTS] = { /* 由 y = 2048 + 1900 * sin(2*pi*i/200) 生成, 中点为PWM计数值的一半,幅值留10%余量 */ };用Python离线算好直接贴进去就行:
import math N = 200 center = 2048 # PWM 12位,中点 amp = 1900 # 留约7%余量给闭环调节 for i in range(N): v = int(center + amp * math.sin(2 * math.pi * i / N)) print(f"{v},", end="" if (i+1) % 10 else "\n")闭环结构我用的是电压外环 + 电流内环的双环。外环是输出电压的有效值误差,经过PI调节器输出一个幅值系数,乘到正弦表上;内环是电感电流,用来提高动态响应和限流。参数整定的顺序是:先把电流环调好(给一个阶跃,看响应是否过冲),再把电压环的积分时间放长,慢慢收紧。
// 每50us执行一次(20kHz) err_v = v_ref_rms - v_out_rms; integ_v += err_v * Ki_v; if (integ_v > INTEG_MAX) integ_v = INTEG_MAX; amp_cmd = err_v * Kp_v + integ_v; if (amp_cmd > AMP_LIMIT) amp_cmd = AMP_LIMIT; // 防饱和 err_i = amp_cmd * sine_table[idx] - i_inductor; duty = err_i * Kp_i; // 电流环用纯比例即可关键一点:幅值限幅必须有。负载突变或者输入掉电时,积分项会一路累加,等故障恢复后输出会冲高一大截,轻则过压保护,重则烧负载。我一般把积分限幅设在额定幅值的1.3倍。
4.5 带载测试与效率测量:数据比感觉可靠
带载按10% → 25% → 50% → 75% → 100% → 110%(短时)逐级加。每一级记录:输入电压、输入电流、输出电压、输出电流、管子温度、变压器温度、效率。
| 负载 | 输入功率 | 输出功率 | 效率 | 母线电压 | 变压器温度 |
|---|---|---|---|---|---|
| 空载 | 7.2W | 0 | — | 361V | 32℃ |
| 125W | 148W | 124W | 83.8% | 359V | 41℃ |
| 250W | 285W | 247W | 86.7% | 357V | 52℃ |
| 375W | 421W | 371W | 88.1% | 355V | 61℃ |
| 500W | 556W | 496W | 89.2% | 352V | 73℃ |
| 550W | 615W | 545W | 88.6% | 350V | 79℃ |
这组数据里有两个信息值得注意。轻载效率明显偏低(125W时只有83.8%),原因是开关损耗和驱动损耗是固定的,负载小的时候占比就大。要改善轻载效率,可以做"跳周期"或者降低开关频率,但会增加输出纹波,需要权衡。满载时母线电压从361V掉到352V,这是变压器和线路阻抗造成的,属于正常压降,闭环会自动补偿占空比。
效率测量有个细节:功率表要能测真有效值,而且要能处理非纯正弦的功率因数。用普通的万用表测交流电流,读数会偏小,算出来的效率虚高。我一般用带谐波分析功能的功率计,或者在输入端串一个精密分流器测直流功率(这个最准),输出端用阻性负载(电炉丝、大功率电阻),这样功率因数接近1,误差小。
4.6 保护功能逐项打靶:每一条都要真的触发一次
保护功能写在代码里不算数,必须逐条打靶验证:
- 过压:用调压器把输入升到15.5V,看是否在1秒内关断;
- 欠压:降到10V,看是否报警并关断(或者降额运行);
- 过流:突然加满载再短路输出,看是否在微秒级关断,而不是靠软件慢慢反应;
- 短路:输出端直接短接,要求不炸管、能自动重试;
- 过温:用热风枪吹NTC,看降额和关断阈值是否正确。
我特别强调短路测试。很多样机在满载时好好的,一短路就炸,原因是硬件比较器的阈值设太高,或者关断路径上有延时。正确的做法是用一个独立的硬件比较器直接拉低PWM的使能脚,从检测到关断控制在2µs以内。
5. 故障排查速查表与踩坑记录
下面这张表是我这些年攒下来的,基本覆盖了八成以上的常见故障。
| 现象 | 最可能的原因 | 排查动作 |
|---|---|---|
| 一上电就炸前级管 | 变压器绕反/不对称、驱动直通、管子耐压不够 | 断开负载测驱动波形,测变压器两半绕组电感是否一致 |
| 空载电流大(>2A) | 漏感大、吸收电路损耗、开关频率过高 | 测漏感,检查RC吸收参数,降低频率试 |
| 变压器啸叫 | 环路振荡、占空比抖动、磁芯松动 | 看占空比波形是否抖动,浸漆固定磁芯 |
| 带载掉压 | 匝比不够、采样误差、线路压降 | 满载时测母线电压,核对分压电阻精度 |
| 波形削顶 | 母线电压不足、调制比过大、占空比饱和 | 检查最低输入电压下的母线值,降低m_max |
| 输出有毛刺 | 死区振铃、滤波不足、地线噪声 | 加RC吸收,缩短桥臂走线,检查采样地 |
| 过零畸变 | 死区过长、电流环带宽不足 | 缩短死区,提高电流环采样率 |
| 管子发热严重但效率不低 | 驱动电阻过大、开关损耗集中 | 减小Rg,检查栅极波形是否有平台 |
| 输出频率漂移 | 晶振误差、定时器配置错误 | 用频率计测,核对定时器分频 |
5.1 一上电就炸管:九成是这三个原因
第一个是变压器绕反。推挽的两个半绕组如果绕向相反,等于把交流短路,一上电就是几百安培。检查方法很简单:不装管子,用信号发生器给初级加一个小交流信号,测次级输出,如果两个半周期的波形反相,就是绕反了。
第二个是驱动直通。前级的两个管子如果同时导通,等于把12V电池直接短路。用示波器双通道同时看两个栅极,确认任何时刻都不同时为高。注意要看管子栅极的实际波形,不是驱动芯片输出,因为栅极电阻和米勒电容会让波形变形。
第三个是管子耐压不够。推挽管承受2倍输入电压,14.5V时是29V,看似40V管子够用,但漏感尖峰能冲到60V以上。我第一次做的时候用40V管子,空载没事,一带载就炸,换成60V的就好了。示波器测一下关断瞬间的Vds,尖峰超过耐压80%就要改。
5.2 空载电流大、变压器啸叫:磁与环路的双重嫌疑
空载电流大,先分清是磁的问题还是开关的问题。
磁的问题表现为:空载电流随输入电压升高而明显增大,而且变压器发热。这通常是匝比不对、磁芯气隙没开(推挽一般不开气隙,但如果绕制不对称导致偏磁,等效于饱和)、或者磁芯材质不对(用了高频滤波磁芯而不是功率磁芯)。
开关的问题表现为:空载电流基本不随电压变,但开关管发热。这多半是开关损耗大,比如驱动电阻太大导致开关过程变慢,或者死区时间不够造成短暂的直通。
啸叫的来源更多是环路。如果占空比波形在示波器上能看到低频的抖动(几十到几百赫兹),那就是电压环的带宽太低或者积分时间太短,改PI参数就能解决。如果占空比很稳但变压器还是响,那就是磁芯没浸漆,机械振动,拆下来真空浸漆或者滴502胶固定就行。
5.3 带载掉压、波形削顶:问题往往在采样不在功率级
带载后输出电压往下掉,第一反应是功率不够,但实际经常是采样电路的问题。
电阻分压的采样,分压比是按理论值算的,但电阻有精度(1%的电阻,两只串起来误差可能到2%),而且高压电阻的电压系数会让阻值随电压变化。我遇到过一次,空载输出225V,满载掉到210V,查了半天功率级,最后发现是分压电阻的上臂用了两个1206封装的贴片电阻串联,单个耐压不够,高压下漏电流导致分压比变了。换成高压厚膜电阻就好了。
波形削顶则是另一回事。如果示波器看到正弦波的顶部被"削平",说明调制比打满了,也就是占空比到了极限。原因可能是:母线电压不够(匝比不足或者输入掉压)、m_max设太大、或者负载是容性导致峰值电流超预期。解决办法是提高匝比(增加次级匝数)或者降低最大调制比,牺牲一点输出电压范围换波形质量。
5.4 波形毛刺、过零畸变与直流偏磁
输出波形上有高频毛刺,通常是开关瞬间的振铃。源头在桥臂的寄生电感和管子的结电容形成的LC振荡,频率在几兆到几十兆。压制办法:桥臂走线尽量短而宽、每个管子就近加吸收电容(几纳法的高频瓷片)、必要时加RC吸收。
过零畸变表现为正弦波在过零点附近有一个"台阶"或者"平顶"。原因是死区时间在过零点附近占比最大(因为电流小,换向慢),体二极管导通时间长。改善方法是在过零点附近减小死区,或者用过零检测做补偿。我一般把死区从800ns在过零附近降到300ns,畸变能改善一半以上。
直流偏磁是最阴险的问题。输出如果有直流分量,会导致变压器或者负载偏磁,长期运行会发热甚至饱和。原因通常是:正弦表的中点和PWM中点不匹配、采样运放有失调、或者两个半周期的驱动不对称。检查方法是在输出端串一个直流电流表(或者用示波器的直流耦合看平均值),正常应该小于10mA。如果偏大,先校准正弦表的中点。
5.5 温升与散热:别等烫手了才想起来
500W的机器,满载损耗约60W,这些热量必须散出去。前级管子4颗并联,总损耗约8W;后级4颗管子,开关损耗加导通损耗约12W;变压器约10W;滤波电感约8W;整流和采样约5W。
散热结构上,前级和后级的管子我建议共用一块铝散热器,但要注意绝缘——后级的管子漏极在母线电压上,和前级的管子不能有电气连接,每颗管子下面必须垫绝缘垫片,螺丝加绝缘粒。这一点如果忽略,上电就是母线对地短路。
温度测量要用热电偶贴在管壳上,不是测散热器。散热器的温度和管壳能差20℃以上。我的验收标准是:45℃环境下满载运行1小时,管壳温度不超过100℃,变压器不超过110℃。
6. 效率、EMI与结构:决定"成品感"的细节
6.1 损耗去哪了:一张表看清优化方向
500W满载时那60W损耗,大致分布是这样的:
| 损耗来源 | 估算值 | 优化手段 |
|---|---|---|
| 前级导通损耗 | 2.5W | 增加并联数量、选更低Rds(on) |
| 前级开关损耗 | 4W | 减小Rg、加吸收、提高驱动电压 |
| 变压器铜损 | 6W | 加粗线径、三明治绕法 |
| 变压器铁损 | 3W | 换低损耗材质、适当降频 |
| 后级开关损耗 | 7W | 选Qrr小的管子、优化死区 |
| 后级导通损耗 | 3W | 并联或选低Rds(on) |
| 滤波电感损耗 | 8W | 加粗线径、选低损耗磁环 |
| 驱动与辅助电源 | 3W | 用低静态电流的辅助电源 |
| 其他(采样、保护) | 2W | — |
看这张表就知道优化顺序:滤波电感和后级开关损耗是大头。电感损耗大,往往是因为线径不够或者磁环材质差,换成低损耗的铁硅铝或者 sendust 磁环,线径加到1.2mm,能省3~4W。后级开关损耗,换Qrr更小的管子、把死区调准,能省2~3W。
轻载效率是另一个话题。125W时效率只有83.8%,主要因为固定损耗(驱动、辅助电源、开关损耗)占了十几瓦。要做待机优化,可以在轻载时降低开关频率(比如从20kHz降到12kHz),或者用间歇模式(burst mode),但要注意输出纹波和噪音。
6.2 布线与EMI:把dv/dt关进笼子
逆变器是个天然的干扰源:前级50A的电流在几十纳秒内换向,后级360V的电压在几十纳秒内翻转,这两者都会通过寄生电感和电容向外辐射。
布线三条原则:
第一,功率回路面积最小。前级的电池输入 → 滤波电容 → 变压器中心抽头 → 管子 → 地,这个大电流回路要尽可能紧凑,电容要贴近管子。回路面积每缩小一半,辐射就降几个dB。
第二,采样地和功率地分开。电流采样电阻的地、电压分压的地,都要单独走线回到控制芯片的地,不能和功率地混在一起。功率地上的几十毫伏压降,进到ADC就是几十个码的误差。
第三,驱动走线远离功率走线。栅极驱动是敏感信号,和母线走线平行走会产生耦合,导致误导通。如果必须交叉,走成90度。
EMI的实测我一般做两项:传导发射用简易的LISN加频谱仪看150kHz~30MHz,辐射用近场探头扫一遍板子找热点。常见的超标点在开关频率的整数倍(20kHz、40kHz、60kHz...),解决方法是加共模电感、调整吸收参数、或者稍微改变开关频率避开敏感频段。
6.3 结构与绝缘:不能靠"看起来没事"
输出220V是危险电压,结构上必须保证爬电距离和电气间隙。母线和输出端之间、初级和次级之间,PCB上的间距至少3mm(污染等级2、材料组IIIa的条件下),如果做灌封可以适当减小,但要有认证依据。
变压器是隔离的关键,初次级之间必须有三层绝缘线或者挡墙,骨架的爬电距离要够。我做样机的时候,次级出线一律用铁氟龙套管,跨过初次级的地方加挡墙胶带。
外壳如果做金属的,必须接安全地,而且地和输出的任一端不能短接(除非做的是接地型输出)。散热器和外壳之间也要考虑绝缘,避免母线通过散热器漏到外壳。
7. 我给后来者的几条实话
做了几版样机之后,我最大的感受是:逆变器的难点不在"能不能出波形",而在"每一处细节都不留隐患"。一个死区设错、一个分压电阻选错、一根地线走错,都可能在某个特定工况下爆发。所以调试时我从来不抱侥幸心理,每一个保护都要真的触发一次,每一个工况都要跑到边界。
如果让我给刚上手的人排一个优先级,我会这么排:先把前级单独跑通,再接后级;先开环看波形,再闭环;先小电压小占空比,再满压满载;先阻性负载,再感性负载,最后上电机。这个顺序看起来慢,但实际是最快的,因为每一步出问题都好定位。
还有一个很实在的建议:买一台能测谐波的功率计和一台带宽够的示波器。逆变器调试里,万用表能提供的信息太有限了,波形上的一点点异常,往往就是炸管的前兆。我早期省这笔钱,炸掉的管子早就不止这个价了。
最后说一个容易被忽略的点:做完之后要连续烤机。满载运行2小时,中间不断电,观察温度是否稳定、波形是否漂移、保护有没有误触发。很多问题只在热平衡之后才出现,比如某个电阻的温度系数导致的采样漂移、变压器浸漆不良导致的松动啸叫。烤机通过,这台机器才算真的能交付。