logo
中国电子学会
学员风采
了解培训
证书展示
客服中心
手机端
微信扫一扫
微信小程序访问
手机浏览器访问
我的培训
初级培训
中级培训
高级培训(筹备中)
培训中心
课程学习
AI 助理
电源小贴士
返回
源来如此|潜在的固件错误可能是导致控制不稳定的幕后黑手!
2025-04-15
文章内容转载来源于德州仪器公众号版权归原作者所有。

欢迎来到《电源设计小贴士集锦》系列文章

本期,我们将聚焦于

发生在 PFC 级的电流振荡

通过分析数字控制环路

了解潜在错误出现的原因

展示如何检查控制固件中

是否出现这种不稳定性


在设计诸如升压功率因数校正 (PFC) 之类的数字电源时,您是否见过类似图 1 中的电流振荡

图 1. 电流振荡发生在 PFC 级


您可能认为这种不稳定振荡由过快的控制带引起,因此您减小比例积分 (PI) 控制器的比例增益 (Kp) 和积分增益 (Ki),并显著降低交叉频率。振荡就会消失。


但这是最佳解决方案吗?较低的电流环路带宽会降低控制速度,但您可能会发现总谐波失真 (THD) 测试将会失败。有时,当源阻抗大一些时,振荡会再次出现。


这种不稳定性是否可能有其他原因?如何以足够的相位裕度实现最佳控制带宽?下面我们来详细分析一下数字控制环路,从而了解这一潜在的错误是如何引入的。我们还将向您展示如何检查控制固件中是否出现这种不稳定性


| 基于 MCU 的数字控制

图 2 展示了基于 MCU 的数字控制系统。


图 2. 数字控制系统围绕微控制器构建而成


控制环路包含一个模数转换器 (ADC) 用于进行对象电流/电压采样,一个数字控制器用于生成调整值,以及一个脉宽调制器 (PWM) 用于执行调整,可通过更改占空比或频率来改变目标电流/电压。

开关模式电源 (SMPS) 中的 ADC 采样通常位于两个开关周期的中间点,这样不仅可以避免开关产生的噪声干扰,还可以获取连续导通模式 (CCM) 下功率电感器的平均电流值

数字控制器在中断服务例程 (ISR) 中进行计算,可以与 PWM 输出同步触发。触发事件可以是以下事件之一:PWM 的“COUNTER”等于“ZERO”、“PERIOD”或特定的值“CMP”。

控制器完成所有计算时无法立即更新 PWM,但 PWM 寄存器必须在一个专门时刻由影子寄存器加载,如 PWM 计数器等于“ZERO”或“PERIOD”时。如果 PWM 值在计数器上升或下降过程中发生变化,则很可能产生错误的 PWM 动作,导致脉冲丢失或脉冲重复。

与模拟控制系统不同,数字控制按照采样频率来执行,并且从采样到 PWM 重新载入新值必须有一个延迟时间 (Td)。PWM 修改通过调整翻转时刻来实现,翻转时刻在单边沿调制时(递增/递减模式)发生一次,在双边沿调制时(先递增后递减模式)发生两次。因此,最小 Td 将会是一个开关周期 Ts(如图 3a 所示),或半个开关周期 Ts/2(如图 3b 所示),具体取决于您选择的调制重新加载频率。

图 3. 最小延迟时间通过 PWM 调整而引入

(a) 向上计数模式,(b) 上下计数模式


如图 4 所示Td 在其传递函数中表示为 e-sxTd,这将减少相位裕度。当然,当相位裕度小于 45 度时,系统将变得不稳定,并会发生振荡。

图 4. 波德图中显示了延时时间的影响



| 数字控制实现中的潜在代码错误

在正确执行的情况下,最小 Td 为一个开关周期 Ts 或半个开关周期 Ts/2但是,如果未考虑 ADC、ISR 和 PWM 重新加载的后果,则将控制延迟扩展到高于一个开关周期可能会减小相位裕度,导致不稳定。


例如,在图 5 中,当 PWM 计数器等于零,ADC 的 ISR 触发和 PWM 重新加载会同时启动。


尽管所有块都同时执行,但在这种情况下,您是否可以预期 Td 为零?当然不能!


图 5. 此处是一个会引入较大延迟时间的错误代码示例


这是因为 ADC 转换和 ISR 计算所需的时间远超一个 MCU 时钟周期,当 ISR 读取 ADC 结果时,ADC 转换仍未完成。因此,ISR 将获取“旧”采样值进行计算,而最新值的计算将延迟到下一个开关周期。ISR 计算完成后,新 PWM 值仅写入影子寄存器中,随后将在下一个开关周期中重新加载。实际上,Td 的总控制延迟将为两个开关周期,即 2 x Ts


除了此处所示的示例之外,其他实现方案也可能会引入类似的扩展控制延迟,例如,在 ISR 代码中将 ADC 值读取放在控制器计算之后,或者在计算控制器之前添加 N 周期算法平均值。


如图 6 所示,在图 5 的错误实现中,如果将 GAIN 交叉频率设置在 3kHz 左右,则相位裕度为 41.68 度。此值小于 45 度,并且扼流电流有明显的振荡,比如图 1 的波形,因此您被迫将交叉频率降至低于 2kHz;然后 iTHD 更差,无法满足要求。

图 6. 错误代码实现下的波德图

| 设计解决方案

此问题可以轻松解决,只需将 ADC 转换移动到 COUNTER = PERIOD 的时刻,并且使 PWM 重新加载在下一个 COUNTER = PERIOD 时刻发生,如图 7 所示。

图 7. 通过改进代码可减少控制延迟


控制延迟将减少为一个开关周期。相位裕度显著增加,电流振荡消失,如图 8 和图 9 所示。

图 8. 改进代码后的波德图


图 9. 改进代码后的波形

| 组织有序的控制方案

在数字实现中,从 ADC 采样到 PWM 调整的控制延迟将减小相位裕度并导致振荡。解决该问题时,应考虑 ADC 采样、控制器计算和 PWM 重新加载的后果。组织有序的控制方案可以将延迟尽可能减少到半个或一个开关周期,从而增加相位裕度和环路带宽。

你还知道其他解决方案吗?

欢迎留言讨论!


在线客服
实时人工反馈
电话咨询
022-8742 3961
邮件咨询
support@ee-training.com
微信客服
微信扫码添加
初级培训有效期
初级培训
不足1
后认证截止
中级培训有效期
中级培训
不足1
后认证截止
欢迎参加电源工程师技术培训
在开始培训前
您需要了解培训须知
开始了解
我们为您配备了一名专属的培训助手
解决您培训中遇见的疑问,
全程协助您的培训,轻松完成培训之旅!
已申请加培训助手,下一步
扫码添加培训顾问微信
加入我们的工程师大家庭吧
在培训之旅上,难免会有些孤独,偶尔想歇息,
加入我们的工程师大家庭,
我们相互鼓励帮助,砥砺前行吧!
已申请加群,下一步
扫码添加培训助手微信
即可加入学习群结识更多同学
我们为您整理了一份培训宝典
如何快速的完成培训,将所学为所用,
我们整理了一份培训宝典,
希望能提高您的培训效率,欢迎您随时审阅!
准备好了,开启培训之旅
查看培训宝典
查看培训流程
培训宝典
请尽快完成认证获取证书,专业技术证书由中国电子学会认证颁发,
感觉时间不够用?点此购买延时包
公告标题公告标题公告标题公告标题公告标题
2023-05-07 13:29:56
公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容公告内容内容内容内容内容内容内容内容列表内容内容内容内容内容内容内容内容公告内容
不再提醒