ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难题,文档提出对负载谐振型高频逆变电源输出电流进行闭环频率跟踪的控制方案,并给出三角调制波生成、相位补偿等关键硬件实现方法,全部分析均经20kHz实验装置验证。资源包共1个文件,为PDF格式,大小约71KB,内容涵盖摘要、控制原理、硬件实现与实验结果等完整章节,便于快速把握控制逻辑与设计要点。目前已有331人学习,适合需要理解容性负载频率跟踪与PWM调制实现细节的读者参考。

1. 频率跟踪型 PWM 电源:臭氧发生器为什么不能直接用固定频率驱动

臭氧发生器电源和普通开关电源最大的区别,在于负载是一个放电腔体。放电一旦起燃,腔体的等效电容和等效电阻会随气体温度、气压、介电体状态发生漂移,谐振点跟着跑。固定频率的 PWM 驱动,在冷态调好的工作点,热态可能已经偏离谐振区,表现为电流掉、臭氧产量掉、管子发热涨。频率跟踪型 PWM 控制要解决的就是这件事:让驱动频率实时咬住腔体的谐振频率,把逆变桥始终推在软开关区间。这套方案适合做高压高频电源的工程师、做臭氧/等离子体负载电源的团队,以及手里有半桥或全桥逆变平台、想把它跑稳的人。下面按选型、实现、参数、避坑的顺序讲透。

2. 频率跟踪型 PWM 的环路怎么搭:从腔体等效模型到锁相

2.1 先认清负载:臭氧腔体不是纯电容

臭氧发生器常见的介质阻挡放电结构,电气上可以近似成一个电容与一个随放电强度变化的电阻并联,再串一个介质电容。未放电时它几乎是纯容性,电流超前电压接近 90 度;放电开始后等效电阻下降,电流相位往阻性方向拉。这个相位变化就是频率跟踪的抓手。

我一般把腔体在谐振点附近等效成 RLC 串联模型来算初始参数:谐振频率 f0 = 1/(2π√(LC)),其中 L 是串联谐振电感(含变压器漏感折算),C 是腔体折算到原边的等效电容。品质因数 Q = (1/R)·√(L/C),Q 越高,谐振峰越尖,频率跟踪的收益越大,但对跟踪精度要求也越苛刻。工程上 Q 落在 5 到 20 之间比较常见,太低说明腔体损耗大,太高说明频率窗口窄、容易跑飞。

提示:腔体等效参数不要靠手册查,必须实测。冷态和热态各测一次,差异往往超过 10%,这个差值直接决定你跟踪环路的带宽。

2.2 锁相环还是电流相位比较:两条跟踪路线的取舍

频率跟踪主流有两条路。一条是锁相环(PLL),把逆变桥输出电压和腔体电流采样后送鉴相器,误差经环路滤波去压控振荡器,输出就是跟踪频率。另一条是电流相位比较法,直接检测电流过零与电压过零的时间差,用这个差值去调 PWM 频率。

方案跟踪精度动态响应实现难度适用场景
锁相环 PLL高,可做到 1% 以内中等,受环路带宽限制较高,需调环路滤波频率漂移快、Q 高的腔体
电流相位比较中,取决于过零检测精度快低,逻辑简单中小功率、漂移慢的腔体
数字锁相(DSP/MCU)高,可软件补偿可调中,需算力需要多参数联调的场合

选型逻辑很直接:功率上到千瓦级、腔体热漂移明显,优先数字锁相;几百瓦以内、成本敏感,电流相位比较够用。我做过的一个模拟项目里,腔体从冷态到热态谐振点漂了约 8 kHz,用模拟 PLL 跟踪时环路带宽设窄了跟不上,设宽了又抖,最后换成 MCU 做数字鉴相才压住。

2.3 用 MCU 实现数字鉴相与频率修正的最小代码

下面这段是数字跟踪环的核心:定时器捕获电压和电流过零时刻,算相位差,用增量式 PI 修正 PWM 周期。平台用通用 MCU 的定时器捕获单元,不绑定具体型号。

// 输入:volt_edge_us、curr_edge_us 为两次捕获的时间戳(微秒) // 输出:更新 PWM 周期寄存器,实现频率跟踪 #define KP 0.35f // 比例系数,先小后大调 #define KI 0.02f // 积分系数,抑制稳态相差 #define PHASE_TARGET 0.0f // 目标相位差,软开关点通常略滞后 static float phase_err_sum = 0.0f; static uint32_t pwm_period = 2000; // 初始周期,对应 50kHz 量级 void track_update(uint32_t volt_edge_us, uint32_t curr_edge_us) { float phase_err; float adjust; // 相位差归一化到 -1..1,一个周期按当前 pwm_period 折算 phase_err = (float)(curr_edge_us - volt_edge_us) / (float)pwm_period; if (phase_err > 0.5f) phase_err -= 1.0f; // 处理过零翻转 if (phase_err < -0.5f) phase_err += 1.0f; phase_err -= PHASE_TARGET; // 相对目标相位的偏差 phase_err_sum += phase_err; // 积分累加 if (phase_err_sum > 50.0f) phase_err_sum = 50.0f; // 抗积分饱和 if (phase_err_sum < -50.0f) phase_err_sum = -50.0f; adjust = KP * phase_err + KI * phase_err_sum; // 周期修正:相位超前则降频,滞后则升频,方向按实际接线确认 pwm_period = (uint32_t)((float)pwm_period * (1.0f + adjust)); if (pwm_period > 4000) pwm_period = 4000; // 限幅,防跑飞 if (pwm_period < 1000) pwm_period = 1000; pwm_set_period(pwm_period); // 写入定时器周期寄存器 }

逻辑说明:相位差先归一化到一个周期内,避免过零点附近的跳变误判;PI 输出直接乘到周期上做比例修正,比固定步进更平滑。参数说明:KP 决定跟踪速度,太大直接振荡,我一般从 0.1 起调;KI 消除稳态相差,但积分饱和会让环路在起燃瞬间冲过头,所以必须限幅。PHASE_TARGET 不是零,软开关要留一点滞后角,具体值靠示波器看桥臂电流波形定。

2.4 死区时间与软开关:跟踪准了还得留对裕量

频率跟踪只保证相位对,死区时间决定桥臂能不能真正实现零电压开通。死区太短,上下管直通风险;太长,谐振电流在死区里反向抽走电荷,软开关条件被破坏。经验值:在跟踪到的谐振频率下,死区时间取谐振周期电流换向时间的 1.2 到 1.5 倍。50 kHz 量级、MOSFET 半桥,死区常在 200 到 500 ns 之间。这个值必须配合跟踪频率一起调,频率变了死区也要复核。

3. 把跟踪环路跑起来:采样、隔离与功率级的落地步骤

3.1 电流采样点选在哪:原边还是副边

电流相位是跟踪的输入,采样点选错,整个环路就是错的。原边采样好处是隔离简单、共模低,但原边电流含励磁分量,相位和腔体真实电流有偏差;副边采样相位准,但高压侧隔离和共模抑制难做。中小功率我倾向原边串电流互感器,励磁分量在谐振点附近占比小,误差可接受;千瓦级以上、对相位精度要求高,用副边罗氏线圈加光纤或隔离放大器。

采样后的信号要过零比较整形,比较器阈值不能设零,否则噪声会让过零点乱跳。设一个几十毫伏的迟滞窗口,配合 RC 低通,把开关噪声滤掉。这一步没做好,后面 PI 调什么都白搭。

3.2 驱动隔离与栅极电阻:跟踪频率变化下的驱动余量

跟踪频率会在一个区间内滑动,驱动电路的上升下降时间必须在这个区间最坏点也够用。隔离驱动常见用磁隔离或光隔离,磁隔离延迟小、适合高频,光隔离便宜但延迟大,频率上到 100 kHz 以上要算清楚延迟对死区的影响。

栅极电阻分开通和关断两路,开通电阻大一点压振铃,关断电阻小一点加快关断。跟踪频率升高时,开关周期变短,关断损耗占比上升,关断电阻要相应减小。我一般先按最低跟踪频率调好波形,再升到最高频率复核,两头都干净才算过。

3.3 上电调试顺序:先开环扫频再闭环跟踪

不要一上电就闭环。正确顺序是:先开环,手动扫频,用示波器记录腔体电流幅值和相位随频率的变化,找到谐振点;再在这个点附近设闭环初始频率;然后小功率闭环,看跟踪是否收敛;最后加功率。

# 开环扫频记录(以某模拟调试脚本为例,输出频率-电流-相位表) # 每步停留 200ms,等腔体稳定后再采样 for f in $(seq 40000 1000 70000); do set_pwm_freq $f sleep 0.2 read_power_meter >> sweep_log.csv read_phase_meter >> sweep_log.csv echo "$f" >> sweep_log.csv done # 扫完后找电流最大、相位过零的点,作为闭环初始频率

逻辑说明:扫频步进 1 kHz 是折中,太密耗时,太疏会漏掉尖峰。每步停留时间要大于腔体热时间常数的一小部分,否则读到的是瞬态。参数说明:起始和终止频率要覆盖预期谐振点上下各 20%,防止腔体参数偏差导致谐振点落在扫描范围外。

3.4 闭环收敛判据:看什么指标算跟踪成功

闭环跑起来后,判断跟踪是否成功看三个量:腔体电流幅值是否稳定在扫频峰值的 90% 以上;电压电流相位差是否稳定在目标值附近波动小于 5 度;桥臂电流波形是否保持软开关形状。三个都满足才算收敛。只盯频率数字没意义,频率跟对了但相位没对,照样硬开关。

4. 频率跟踪型 PWM 电源的避坑清单:五个真实翻车点

4.1 现象:起燃瞬间频率猛跳,环路失锁

原因:放电起燃是负载突变,等效电阻瞬间下降,相位跳变超过 PI 单步修正能力,环路进入非线性区。解决:起燃阶段加频率保持窗口,检测到电流突增后先冻结跟踪 5 到 10 ms,等腔体稳定再恢复闭环;同时给 PI 输出加斜率限幅,限制单周期频率变化量。

4.2 现象:轻载时跟踪正常,满载时电流波形畸变

原因:满载时腔体电流大,采样互感器进入非线性,过零点偏移,鉴相输入本身就错了。解决:换更大线性范围的互感器,或改用罗氏线圈;采样回路加自动增益,按电流幅值切换档位。

4.3 现象:跟踪频率持续单向漂移,最后撞限幅

原因:相位目标值设错方向,PI 一直往一个方向修。软开关需要的相位滞后还是超前,和你的采样极性、变压器接法都有关,接反了环路就是正反馈。解决:开环确认相位极性,把 PHASE_TARGET 符号调对;调试时先断开积分,只用比例看方向对不对。

4.4 现象:腔体温度升高后臭氧产量反而下降

原因:跟踪频率跟上了谐振点,但死区时间没跟着调,高温下软开关条件破坏,开关损耗转成热,腔体温度更高,恶性循环。解决:把死区时间和跟踪频率做联动,频率升高时按比例缩短死区;或者用自适应死区,检测桥臂电压在死区内是否完成换向。

4.5 现象:示波器看相位是对的,功率计读数却偏低

原因:相位测量点和功率测量点不在同一位置,采样回路本身的相移没校准。电流互感器、隔离放大器、RC 滤波都会引入附加相移,频率越高越明显。解决:用已知纯阻性负载标定整个采样链的相移,把这个偏移在软件里补偿掉,再上真实腔体。

5. 让跟踪更稳的两个进阶技巧:自适应相位目标与扫频自整定

5.1 自适应相位目标:不固定滞后角,按负载找最优

固定 PHASE_TARGET 在负载变化大时不是最优。进阶做法是实时算桥臂电流在死区内的换向情况,动态微调目标相位,让软开关裕量始终保持在刚好够用的程度。实现上,在死区结束时采一次桥臂中点电压,如果已经完成换向,说明裕量够,目标相位可以往效率方向挪一点;如果没换向,就往安全方向退。这个逻辑用状态机实现,每几十个周期调一次,避免和主跟踪环抢带宽。

5.2 扫频自整定:上电自动找谐振点

每次上电手动扫频不现实。可以在启动阶段做一次低功率自动扫频:从预设下限频率开始,按固定步进升频,记录每个频点的腔体电流,找到峰值后把闭环初始频率设到峰值附近,再切闭环。整个过程几百毫秒,用户无感。关键参数是扫频功率要足够低,不能引起放电,否则扫出来的谐振点是放电态的,冷态启动会对不上。

自整定参数典型值说明
扫频起始频率谐振预期值 -20%覆盖参数偏差
扫频步进500 Hz 到 1 kHz兼顾速度和精度
每步稳定时间5 到 10 ms低功率下腔体响应快
扫频功率额定 5% 以下避免起燃
峰值判定连续三点上升后下降抗噪声误判

5.3 验证跟踪效果的三个量化指标

调完之后怎么证明这套频率跟踪型 PWM 真的有用?我一般记录三组数据对比开环和闭环:一是腔体电流幅值的波动范围,闭环应该明显收窄;二是逆变桥的开关损耗,用桥臂温升间接反映,闭环软开关下温升应低于开环硬开关;三是臭氧产量或放电强度,在相同输入功率下闭环应该更高。三组数据都往好的方向走,才说明跟踪环路真正在干活,而不是数字上好看。

我自己的习惯是,每次改跟踪参数都留一份扫频日志和闭环日志,参数一多,靠记忆根本对不上哪次改了什么。频率跟踪这东西,玄学的地方在于相位极性,血泪经验是先把开环波形看明白再动闭环,不然调一天都在正反馈里打转。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进