简介:这份PDF对应2020年TI杯大学生电子设计竞赛B题“单相在线式不间断电源”,面向参加电子设计竞赛、电力电子与嵌入式控制方向的学生及指导教师,可用于快速把握交流正弦波UPS的任务边界、指标约束与评分导向。文件共1个PDF,约411KB,完整给出任务、要求、说明及设计报告评分表,涵盖U1=36V、Io=1A时Uo=30V±0.2V与f=50±0.2Hz,负载调整率和电压调整率不超过0.5%,THD不大于2%,交流断电后即时切换至24V直流储能供电,以及效率优化、过压过流保护和测试点设置等内容。读者可据此梳理方案论证、主回路与器件选择、稳压控制策略、控制程序、保护电路、测试数据分析,并对照评分项组织摘要、正文结构、公式与图表。目前已有4300人学习下载,适合赛前研读、方案对照与报告框架搭建。
1. 单相在线式不间断电源:双变换到底卡在哪一环,先想清楚再焊功率板
实验室里最常见的翻车场景,是示波器正接着电路,市电插头被人顺手拔了,屏幕上那条 50 Hz 正弦瞬间塌掉,负载也跟着复位。单相在线式不间断电源要解决的就是这件事:负载始终挂在逆变输出上,市电只负责给中间直流母线供能,市电在不在,输出都得是一条干净的 220 V / 50 Hz 正弦。它跟后备式、互动式的根本区别在于“平时也在变换”,所以这道 B 题的难点从来不是“做个逆变器”,而是把三件事同时做对——母线撑得住、输出稳得住、切换接得住。适合正在做小功率 UPS 雏形、或者要给精密仪器做掉电保护的工程师,也适合第一次碰电源类赛题、想少走弯路的人。
2. AC-DC-AC 三条支路怎么分:400 V 母线的定压依据与功率级参数表
把这道题拆开看,功率级其实就是三条支路汇到一个点上:市电整流/功率因数校正支路、电池升压支路、逆变输出支路,中间那个点就是高压直流母线。母线电压定多少、电容给多大、电池怎么升到母线,这三个决定一旦定了,后面所有器件选型、控制参数、甚至会不会炸机,基本都被锁死了。所以这一章不讲控制,只讲怎么把这三个数字算出来,并且算完之后能落到具体型号上。
2.1 母线为什么定在 380~400 V,而不是 48 V 或 311 V
输出电压 220 V 有效值,峰值就是 311 V。全桥逆变用双极性或单极性 SPWM,输出基波峰值和母线的关系是 Vout_pk = m × Vbus,m 是调制比。考虑市电上限 220 V+10% 时输出也要跟上,峰值到 342 V;再留一点调制裕量,m 取 0.9 左右,Vbus ≥ 342/0.9 ≈ 380 V。所以 400 V 是一个既够用、又不会被 450 V 电容耐压卡死的甜点值。
有人会问,为什么不做 48 V 母线加一个升压变压器?那样确实能隔离,也更安全,但 48 V 母线要输出 311 V 峰值,变压器变比接近 1:7,工频变压器体积直接劝退,高频变压器又要多一级变换,效率掉 3~5 个百分点。小功率在线式 UPS 的常见做法就是高压母线直挂全桥,省掉输出变压器这一级。代价是母线是带电的,调试时必须用隔离措施,这一点后面避坑章节还会提。
注意:母线电压一旦超过 36 V,调试阶段就不要单手拿探头去戳了。先把母线电容放电电阻焊上,阻值按 100 kΩ/2 W 两只串联算,断电后 5 s 内能降到安全电压。
母线电容的大小不是拍脑袋定的,它同时决定了三件事:工频纹波、掉电保持时间、以及“0 ms 切换”能不能成立。掉电保持时间用能量守恒算:
C ≥ 2 × P × Δt / (Vbus² − Vbus_min²)
P 取满载 200 W,Δt 取一个市电周期 20 ms,Vbus = 400 V,Vbus_min = 360 V(再低逆变就进入过调制,波形顶部开始削平),代入得 C ≥ 2×200×0.02/(160000−129600) ≈ 263 µF。实际选 470 µF/450 V,反算保持时间约 35 ms,差不多 1.8 个市电周期,够控制环把电池支路拉起来了。
2.2 前级整流与功率因数校正:电感、开关管、母线电容的取值表
前级如果只做一个整流桥加大电容,输入电流是尖峰状的,功率因数只有 0.6 左右,输入电流峰值大、EMI 差,带载能力也会被拉低。常见做法是整流桥后接 Boost 型 APFC,把母线稳到 400 V 的同时把输入电流做成跟随正弦。下面这张表是我一般会先填的一版参数,填完再去算损耗和温升。
| 参数 | 取值 | 依据 |
|---|---|---|
| 输入范围 | 198~242 V,50 Hz | 220 V ±10% |
| 母线电压 | 400 V ±5 V | 满足 342 V 峰值输出加调制裕量 |
| 开关频率 | 65 kHz | 电感体积与开关损耗的折中 |
| 升压电感 | 1.0 mH,铁硅铝环 | 峰值附近纹波约 80% |
| 母线电容 | 470 µF / 450 V × 1 | 保持时间约 35 ms |
| 主开关管 | 600 V / 11 A 超结 MOS | 耐压留 1.5 倍,Rds(on) 直接影响效率 |
| 升压二极管 | 600 V 碳化硅肖特基 | 无反向恢复,65 kHz 下损耗明显低 |
电感的算法是 L = Vin_pk × D / (f × ΔI)。最低输入 198 V 时峰值 280 V,占空比 D = 1 − 280/400 = 0.3;输入电流峰值约 1.5 A,纹波取 80% 即 1.2 A;代入 L = 280×0.3/(65000×1.2) ≈ 1.08 mH,取 1 mH。这里最容易翻车的是电感饱和:200 W 的 APFC 电感如果用普通铁氧体开气隙,直流偏置下磁导率掉得厉害,满载几十秒就烫手。我一般直接上铁硅铝环,或者至少保证饱和电流是峰值电流的 1.8 倍以上。
碳化硅二极管这笔钱建议别省。65 kHz 下普通快恢复二极管的反向恢复损耗能占到前级总损耗的三成,换上去之后效率通常能提 1.5~2 个百分点,而且 EMI 会明显变干净。
2.3 电池支路:12 V 升到 400 V 的两条路,以及充电怎么排队
电池是这道题另一个容易被低估的地方。12 V 升 400 V,变比 33 倍,单级 Boost 在占空比 0.97 下工作,实际根本没法用——电流应力大、效率低、动态差。可行的路只有两条。
第一条是推挽加全波整流。原边中心抽头,两组绕组交替导通,副边两个绕组各配一只快恢复管。输出电压 Vout = 2 × D × (Ns/Np) × Vin。取最低电池电压 10.5 V、最大占空比 0.45、目标 400 V,得 Ns/Np = 400/(2×0.45×10.5) ≈ 42。实际取原边 2T+2T,副边 84T,绕在一个 EE 或 PQ 磁芯上。副边整流管承受的反压是 2×Vout = 800 V,加上漏感尖峰,必须用 1000 V 以上、带软恢复特性的管子,RC 吸收网络也要留位置。
第二条是两级:先推挽升到 100 V 左右,再用 Boost 稳到 400 V。多一级变换,效率低 2~3 个点,但占空比和变比都舒服,调试时也更不容易炸。第一次做建议走第二条,先把母线稳住,再回头优化。
充电这条支路要单独说。铅酸 12 V 电池浮充 13.8 V、均充 14.4 V,恒流段按 0.1C 给;四串锂电则是 16.8 V 上限、恒流恒压两段。不管哪种,充电电路和放电升压电路必须做“或”逻辑,否则市电恢复瞬间充电器和升压器会互相倒灌。最简单的做法是升压输出串一只理想二极管(或者 MOS 加控制),电池侧再加一只防反灌二极管。
2.4 功率器件与散热:一张照着买就行的清单
功率级定完参数,落到采购清单时还要过一遍应力核算。全桥四只管子耐压按母线 400 V 的 1.5 倍选 600 V;满载输出电流有效值 200 W/220 V ≈ 0.91 A,峰值 1.29 A,再算上滤波电感纹波和短路时的瞬时电流,选 20 A 级别的管子余量就很足了。逆变桥的损耗主要是开关损耗和导通损耗,20 kHz、600 V 母线、1 A 量级,单管损耗在 1.5 W 上下,四只管子共用一块 60×60×10 mm 的铝散热片,自然对流就够。
真正需要盯的是电池升压那一段。12 V 侧满载电流接近 20 A,PCB 上那段走线如果只按 1 mm/A 走,几分钟就发烫变色。我的习惯是 12 V 大电流路径直接铺铜加 2 oz 厚铜,或者背面并一根 1.5 mm² 的铜排,采样点从铜排根部单独引一对细线回 ADC,别跟功率电流共用一段铜箔。
3. SPWM 与双闭环:在 20 kHz 中断里把 50 Hz 正弦稳住
功率级搭好只是有了“能动的硬件”,输出电压准不准、带载塌不塌、THD 达不达标,全看控制环。这一章按最小可运行版本推进:先有正弦表,再有 PWM,然后才是电压外环套电流内环,最后补上三个不起眼但能救命的保护逻辑。
3.1 单极性倍频还是双极性:滤波器体积和 THD 的取舍
全桥有两种常用调制。双极性是同一桥臂上下管互补、两个桥臂之间反相,输出在 +Vbus 和 −Vbus 之间跳,等效开关频率就是开关频率本身。单极性倍频是每个桥臂各自做单极性调制,两个桥臂错开,输出在 +Vbus、0、−Vbus 三个电平之间走,等效开关频率翻倍。
同样的 20 kHz 开关频率,单极性倍频的谐波落在 40 kHz 附近,滤波器的转折频率可以往上抬,电感量能砍掉将近一半。代价是共模干扰大、零电平期间电流续流路径复杂,轻载时过零附近容易出畸变。我的选择是:输出滤波电感 2 mH、电容 10 µF,转折频率算下来 f0 = 1/(2π√(LC)) ≈ 1.13 kHz,落在 50 Hz 的 20 倍和 40 kHz 的四十分之一之间,两头都留了余量,单极性倍频就能压得住。
有个数字容易被忽略:LC 的特征阻抗 Z0 = √(L/C) ≈ 14 Ω,而 200 W 满载的等效负载是 242 Ω。轻载时阻尼比低到 0.06,阶跃响应会剧烈振荡。解决办法不是加大电容,而是在反馈里做电压微分项,或者并一只 RC 阻尼支路(比如 22 Ω 串 2.2 µF),把轻载的 Q 值压下来。
3.2 正弦表与占空比的定点实现
20 kHz 中断、50 Hz 输出,一个工频周期正好 400 个点。正弦表可以现场用 Python 生成,也可以在启动时算一次,关键是别在中断里做浮点三角函数。
import math LEN = 400 # 50 Hz / 20 kHz = 400 点 AMP = 3000 # 对应调制比 m,满量程按 3300 计 table = [int(round(AMP * math.sin(2 * math.pi * i / LEN))) for i in range(LEN)] print(",".join(str(v) for v in table[:16])) # 输出前 16 个点,粘到 C 数组里,注意首尾要能闭合,否则每周会有一个台阶这段生成的是纯正弦查表值,AMP 决定了最大调制比。满量程如果是 PWM 周期计数值 3300,AMP 取 3000 意味着 m ≈ 0.91,对应母线 400 V 时输出峰值 364 V、有效值 257 V,覆盖 220 V+10% 有余量。真机上再乘一个由电压环输出的 0~1 系数,就得到了随负载变化的占空比。
中断里的写法要尽量短,下面这段是核心骨架:
/* 20 kHz 逆变中断:查表 + 电压外环 + 电流内环,单位统一用 ADC 码值 */ volatile int16_t v_ref_peak = 3000; /* 电压环输出,作为电流环的幅值指令 */ volatile uint16_t phase_acc = 0; /* 相位累加器,0~399 */ void inverter_isr(void) { uint16_t idx = phase_acc; phase_acc = (phase_acc + 1) % 400; int16_t sin_val = sin_tab[idx]; /* -3000 ~ +3000 */ int16_t i_ref = (int32_t)sin_val * v_ref_peak / 3000; int16_t i_fb = adc_read(ADC_CH_IND); /* 电感电流,已加偏置 */ int16_t v_fb = adc_read(ADC_CH_VOUT); /* 输出电压,已加偏置 */ int16_t v_err = (int16_t)((int32_t)sin_val * v_loop_gain - v_fb); /* 电压外环只算一次/周波也可以,20 kHz 全算更稳,注意积分限幅 */ v_int += v_err; if (v_int > 20000) v_int = 20000; if (v_int < -20000) v_int = -20000; int16_t i_err = i_ref - i_fb; int16_t duty = (int16_t)(KP_I * i_err + KI_I * i_int_i); /* 占空比硬限幅,防止桥臂直通 */ if (duty > 3100) duty = 3100; if (duty < -3100) duty = -3100; pwm_set_duty(PWM_CH_A, 1650 + duty); pwm_set_duty(PWM_CH_B, 1650 - duty); }逻辑上有三点要说清楚。第一,电流内环的给定不是常数,而是正弦表乘电压环输出,这叫“幅值给定 + 波形查表”,比直接让电压环去追正弦要稳得多。第二,电压环的积分必须限幅,否则启动瞬间或者负载突卸时积分饱和,退饱和要好几个周波,输出电压会冲到 260 V 以上。第三,占空比限幅的 3100 对应约 94% 的调制比,留出 6% 给死区和计算延迟,这个数别贪心。
3.3 双环 PI 参数从零开始凑的顺序
PI 参数不能一上来就两个环一起调,会调到怀疑人生。我的顺序是固定的四步。
第一步,开环跑。给定固定占空比,让逆变桥输出一个 50 Hz 方波或者固定调制比的正弦,用示波器看 LC 滤波后的波形,确认没有直通、没有异常振荡,顺便量一下实际的 LC 转折频率是不是 1.1 kHz 左右。数值对不上,说明电感量或者电容值选错了,先改硬件。
第二步,只闭电流环。把电压环旁路,电流给定接一个固定幅值的正弦表,从小往大加 KP_I,直到电感电流波形跟随给定、但还没开始高频振荡,然后加 KI_I 把稳态误差压掉。20 kHz 中断、2 mH 电感,KP_I 大概在 0.3~0.6(归一化到满量程 3300)之间,KI_I 在 0.01~0.03。
第三步,闭电压环。电流环稳定后,把电压环接上,KP_V 从 0.2 开始加。加到输出电压在突加负载时下跌不超过 8 V、恢复时间 2 个工频周期以内,就够了。KI_V 要给得小,50 Hz 的环带宽通常只有几百赫兹,给大了会跟电流环打架。
第四步,扫工况。空载、半载、满载、整流性负载各跑一遍。整流性负载是最阴的——负载只在电压峰值附近取电流,反馈波形严重畸变,THD 很容易从 2% 跳到 8%。这时候要加电压前馈,把母线电压的波动直接折算到占空比上,反馈环只负责修残差。
| 参数 | 起始值 | 调整方向 | 判断依据 |
|---|---|---|---|
| KP_I | 0.3 | 加大加快跟随,过大高频振荡 | 电感电流波形是否毛刺 |
| KI_I | 0.01 | 加大会消静差,过大过冲 | 满载稳态误差 |
| KP_V | 0.2 | 加大抗负载扰动,过大输出抖动 | 突加负载跌落深度 |
| KI_V | 0.02 | 加大会消幅值误差,过大低频振荡 | 输出电压有效值漂移 |
3.4 软启动、抗饱和和限流:三行代码决定会不会炸机
软启动指的是上电后让 v_ref_peak 在 500 ms 内从 0 线性升到额定值,而不是一步到位。少了这段,母线电容会被输出滤波电容当成短路,冲击电流能到几十安,继电器粘连或者保险丝熔断都算轻的。
抗饱和前面提过,除了积分限幅,还有一个更彻底的做法:一旦检测到占空比已经顶到限幅值,就停止积分累加。这个逻辑只要两行判断,但能省掉无数调试时间。
限流是最后一道防线。电感电流采样值超过阈值(比如额定峰值的 2.5 倍)时,直接把占空比清零并置故障标志,等下个周波再恢复。不要去改给定值,改给定值响应太慢,等环反应过来管子已经炸了。
提示:这三段保护逻辑建议先写、先测,再调 PI。顺序反了,调参过程中随便一次过冲就能带走一桥管子。
4. 市电掉电 0 ms 接管:过零检测、锁相与切换状态机
“0 ms 切换”这个指标最容易被误读。它不是指继电器动作有多快,而是指输出电压在整个切换过程中不出现可观测的跌落或者相位跳变。做到这一点靠的是三件事:母线电容存的能量、足够快的掉电检测、以及逆变器本身不依赖市电也能稳住。这一章讲检测和状态机怎么落地。
4.1 过零检测电路:光耦方案在畸变波形上为什么翻车
过零检测一般用光耦加限流电阻,市电正半周光耦导通、负半周截止,输出一个 50 Hz 方波送进 MCU 的捕获口。这个电路简单,但在两种波形上会出问题:一是市电本身带谐波、过零点附近有多次穿越,捕获口会在一毫秒内触发好几次;二是轻载时输入电流畸变,过零点漂移,测出来的周期忽长忽短。
软件上的处理是加时间窗:捕获到一次边沿后,接下来 5 ms 内的边沿全部丢弃。5 ms 对应 50 Hz 的十分之一周期,正常过零不可能这么快来第二次。再加一层周期合法性判断,测到的周期落在 18~22 ms 之外就判定为无效,沿用上一次的周期值。
掉电检测不能只靠过零。市电拔掉的瞬间,整流后的母线电压会以毫秒级速度往下掉,直接盯母线电压更可靠。阈值设在 340 V(比正常 400 V 低 15%),连续检测到 3 个采样点低于阈值就判定掉电,20 kHz 采样下响应时间 150 µs,比一个工频周期快得多。
4.2 锁相:相位误差压到多少才算够
在线式 UPS 在正常工作时,逆变输出和市电是同相的,这样市电恢复时才能无冲击地回切。相位误差如果超过 10°,回切瞬间旁路和逆变两个源并联,会产生很大的环流。
锁相有两种做法。简单的是过零周期法:测出市电周期 T,逆变器的相位累加器步长按 400/T 走,每个市电周期校准一次。精度取决于过零检测的抖动,一般在 1~2° 以内,够用。另一种是正交信号发生器加锁相环(SOGI-PLL),能在一个周期内锁定相位,对谐波和频率波动都不敏感,代价是要多算两次乘法。
我一般先用过零周期法把系统跑通,因为代码只有十几行;如果回切时冲击电流超过额定值的 1.5 倍,再换 SOGI。判断标准很直接:示波器双通道同时看市电和输出电压,切换瞬间两路波形的过零点如果差半个格子(1 ms 对应 18°),就必须换算法。
4.3 四个状态的切换机与母线欠压阈值的整定
状态机写清楚,比什么都重要。下面这个版本是我用了很多次的骨架:
typedef enum { ST_AC_NORMAL = 0, /* 市电正常,逆变跟踪市电相位 */ ST_BACKUP, /* 市电丢失,电池升压接管母线 */ ST_RECOVER_WAIT, /* 市电恢复,等相位对齐再回切 */ ST_FAULT /* 过流/过温/电池欠压,封锁输出 */ } ups_state_t; static ups_state_t st = ST_AC_NORMAL; static uint16_t ac_lost_cnt = 0; static uint16_t phase_err_deg = 0; void ups_state_machine(void) /* 1 ms 调用一次 */ { uint16_t vbus = adc_get_vbus(); /* 单位 0.1 V */ uint16_t ac_ok = zero_cross_alive(); /* 200 ms 内有有效过零则返回 1 */ switch (st) { case ST_AC_NORMAL: if (!ac_ok || vbus < 3400) { /* 340.0 V 欠压阈值 */ if (++ac_lost_cnt >= 3) { /* 3 ms 确认,滤掉瞬时跌落 */ ac_lost_cnt = 0; boost_battery_enable(1); /* 先开电池升压,母线不掉 */ st = ST_BACKUP; } } else { ac_lost_cnt = 0; } break; case ST_BACKUP: if (ac_ok && vbus > 3900) { /* 母线回稳且市电持续存在 */ st = ST_RECOVER_WAIT; } if (vbus < 3200) { /* 母线撑不住了,锁输出 */ pwm_disable(); st = ST_FAULT; } break; case ST_RECOVER_WAIT: phase_err_deg = pll_get_phase_error(); /* 0~180 度 */ if (phase_err_deg < 8) { /* 相位对齐才回切 */ boost_battery_enable(0); st = ST_AC_NORMAL; } else if (!ac_ok) { st = ST_BACKUP; /* 市电又掉了,退回去 */ } break; case ST_FAULT: if (fault_cleared() && ac_ok) st = ST_AC_NORMAL; break; } }三个参数的整定逻辑分别说。欠压阈值 340 V 是从保持时间反推的:母线从 400 V 掉到 340 V 大约 20 ms,这段时间正好够电池升压软启动把母线顶回去,再低就没时间了。确认次数 3 次对应 3 ms,是为了滤掉负载突变造成的母线瞬时跌落,如果不滤,一加满载就误判掉电。回切相位阈值 8° 是个经验值,5° 以内最好但等待时间会长,超过 12° 冲击电流就明显了。
4.4 回切:宁可晚一点,也别硬切
回切比掉电切换更容易出事。掉电时母线电容兜底,回切时是市电和逆变两个源在继电器触点合上的瞬间并联,一旦相位或者幅值对不上,冲击电流能到几十安。
我的做法是加两条硬条件:相位误差小于 8°,且逆变输出电压有效值和市电有效值之差小于 5 V。两个条件同时满足才允许合闸,否则继续保持电池供电。等一两秒用户感知不到,但省下的是四五只管子。
另外,回切前把逆变器的相位跟踪模式从“自由运行”切回“跟市电”,需要至少 3 个工频周期的过渡,别在合闸前一刻才切。
5. 避坑与排查:炸管、锁相失步、带载跌压的 5 条血泪记录
下面这几条都是调试台上真实撞过的,按“现象 → 原因 → 解决”写,能对上号就直接抄。
第一条,上电瞬间全桥下管炸,保险丝一片黑。现象是第一次上电、母线还没充起来,四只管子已经击穿两只。原因是自举电容在母线为 0 时无法充电,上管驱动电压不足,工作在线性区;同时 MCU 上电复位期间 PWM 引脚是高阻态,栅极驱动没有下拉电阻,被米勒电容耦合出误导通。解决办法有三:栅极到源极并 10 kΩ 下拉电阻,PWM 初始化第一件事是把所有通道强制拉低,主回路串一只 100 W 白炽灯做限流,第一次上电必须带着灯泡。
第二条,空载正常,一加满载输出电压跌到 195 V,波形顶部削平。现象是带载后有效值掉 10% 以上,示波器看输出正弦波上半周被压平。原因是母线在带载时被拉到 350 V 以下,调制比不够了。往根上查,多半是 APFC 的电感饱和或者输入限流电阻压降太大。测量方法很简单:满载时用万用表直流档量母线,低于 360 V 就是这个方向。解决是换饱和电流更大的电感,或者把前级电流采样阈值调高。
第三条,掉电切换时输出跌到 180 V 再恢复,所谓 0 ms 没做到。现象是切换瞬间输出有一个明显的凹陷,宽度两三毫秒。原因不是继电器慢,而是电池升压启动太慢——软启动做了 500 ms,母线早就掉下去了。解决办法是把电池升压的软启动时间缩到 10 ms 以内,或者干脆让它常态空载运行、输出通过理想二极管挂到母线上,掉电时零延迟接管。代价是待机多几瓦损耗,这个交换很值。
第四条,回切时冲击电流大,偶尔把过流保护触发。现象是市电恢复后继电器合闸,听到“啪”一声,随后输出中断。原因是相位没对齐,或者幅值差太多。排查顺序是先量相位:双通道示波器一路接市电、一路接输出,切换瞬间看过零点是否重合;再量幅值差。如果相位一直锁不上,检查过零检测的滤波电容是不是太大,把边沿拖慢了。解决就是把回切条件收紧,同时把过零检测的时间常数改小。
第五条,THD 达标但空载电压飘到 232 V。现象是带着负载测 220 V,一卸载就往上飘十几伏。原因是电压环的积分在轻载时找不到稳态点,加上 LC 在轻载下阻尼极低,环一直在小幅振荡。解决办法是给电压环加一个随输出电流变化的增益调度:负载低于 20% 时把 KP_V 降一半,同时把阻尼支路接上。另外空载时可以让逆变器每隔几十毫秒进一次打嗝模式,牺牲一点空载效率换稳定性。
注意:这五条里有三条跟“第一次上电”有关。养成带灯泡上电、先测驱动波形再上主电的习惯,能省下大半的管子钱。
6. 效率与 THD 的联合标定:一台示波器怎么把 93% 和 3% 同时抠出来
效率和谐波失真是一对冤家。死区时间给大一点,直通风险小、波形干净,但死区造成的电压损失会让 THD 变差、效率也掉;滤波电感加大,THD 好看,但铜损上去效率就下来了。真正难的是两个指标同时压线,这时候靠的不是算,是测。
测效率我一般不用功率分析仪,用最土的两表法:输入端串一只 0.1 Ω/1% 的采样电阻测输入电流,配合输入电压算有功;输出端接纯阻性负载,直接量有效值和电流。关键是采样电阻要用四线接法,电压取样点必须在电阻引脚根部,否则引线电阻会带来 1~2% 的系统误差。测三次取平均,每次间隔五分钟等温度稳定。
测 THD 有个便宜办法:示波器开 FFT,取 1 kHz 带宽、汉宁窗、平均 16 次,读 2~9 次谐波的有效值,手动开方合成。这个办法精度不如谐波分析仪,但用来做趋势对比完全够用,尤其是判断“改了这个参数之后是变好还是变坏”。
| 测试项 | 目标值 | 测量手法 | 最常见的偏差来源 |
|---|---|---|---|
| 满载效率 | ≥ 92% | 两表法,四线取样 | 采样电阻引线压降 |
| 输出 THD | ≤ 3%(线性负载) | 示波器 FFT,2~9 次谐波合成 | 探头地线环路引入的高频分量 |
| 输出电压精度 | 220 V ±2% | 真有效值表,满载稳定后读数 | 反馈分压电阻温漂 |
| 切换时间 | 无可观测跌落 | 单次触发,记录切换前后 50 ms | 触发点设错,抓不到真实瞬间 |
| 负载调整率 | ≤ 2% | 空载到满载阶跃 | 电流环积分饱和 |
有一个参数特别值得单独抠:死区时间。我做过一轮对比,死区从 1.5 µs 降到 0.8 µs,满载效率提了 1.2 个百分点,THD 从 2.8% 降到 2.3%,两个指标一起变好——因为死区造成的输出电压损失被补回来了。但再往下压到 0.5 µs,直通风险陡增,常温下没事,管子热起来之后存储时间变长,某个批次的管子就开始炸。所以死区不要压到数据手册最小值,留 0.3 µs 余量,还要在高温老化箱里跑一遍。
最后说个我自己的习惯:每改一次硬件参数,先在记录本上写三行——改了什么、为什么改、预期哪个指标变好。调电源最容易陷入“这个电容换一下试试”的玄学循环,三天之后连自己改过什么都记不清。写下来,翻车了才有后悔药可吃。这套从母线定压、双环整定到状态机切换的路子,做完一遍大概两到三周,器件成本控制在几百块,值不值得投入,看你手上有没有必须扛住掉电的负载。希望帮到你。
本文还有配套的精品资源,点击获取