1. Boost电路双闭环控制基础解析
Boost变换器作为电力电子领域的经典拓扑结构,其输出电压高于输入电压的特性使其在新能源发电、工业电源等领域应用广泛。传统控制方案多采用PI控制器的双闭环结构,但这种设计在面对系统参数变化和外部扰动时往往表现不佳。
1.1 传统PI控制的局限性
在实际工程应用中,PI控制器主要存在三个痛点问题:
-
抗扰能力有限:当输入电压突变或负载剧烈变化时,输出电压会出现明显波动,恢复时间较长。以24V输入、48V输出的Boost电路为例,当负载电流从1A阶跃到5A时,传统PI控制输出电压跌落可达15%,恢复时间超过10ms。
-
参数敏感性强:电路中的电感、电容等元件参数变化会显著影响控制性能。例如电感值因温度变化产生±20%偏差时,PI控制器需要重新整定参数才能维持性能。
-
动态响应与稳态精度矛盾:提高比例系数可加快响应速度,但会导致超调增大;增大积分系数能消除稳态误差,却会减慢动态响应。这种矛盾在宽工作范围的应用中尤为突出。
1.2 自抗扰控制(LADRC)的优势
线性自抗扰控制器通过扩张状态观测器(ESO)实时估计并补偿系统内外扰动,其核心优势体现在:
-
扰动抑制能力:三阶线性扩张状态观测器(LESO)可将系统内部参数变化和外部扰动统一视为"总扰动"进行估计和补偿。实测数据显示,在相同扰动条件下,LADRC的输出电压波动幅度可比PI控制减少60%以上。
-
参数鲁棒性:由于LESO能够实时估计和补偿系统变化,当电路参数在一定范围内波动时,无需重新调整控制器参数。这使得LADRC特别适合光伏发电等环境条件变化大的应用场景。
-
结构简化:简化版LADRC采用PD控制结合LESO的结构,相比传统ADRC减少了参数整定难度,同时保留了核心的抗扰能力。这种结构仅需整定观测器带宽和PD参数,工程实现更方便。
2. 简化LADRC的电压外环设计
2.1 三阶线性扩张状态观测器实现
三阶LESO是LADRC的核心组件,其状态空间方程可表示为:
code复制ż₁ = z₂ + β₁(y - z₁)
ż₂ = z₃ + β₂(y - z₁) + b₀u
ż₃ = β₃(y - z₁)
其中z₁、z₂分别跟踪系统输出及其微分,z₃为扩张状态,专门用于估计总扰动。β₁、β₂、β₃为观测器增益系数,其取值决定了观测器的动态特性。
在数字实现时,可采用前向欧拉法进行离散化:
python复制class LESO:
def __init__(self, beta1, beta2, beta3, dt):
self.beta = [beta1, beta2, beta3] # 观测器增益矩阵
self.dt = dt # 控制周期
self.z = [0.0, 0.0, 0.0] # 状态估计值
def update(self, y, u):
e = y - self.z[0]
self.z[0] += self.dt * (self.z[1] + self.beta[0]*e)
self.z[1] += self.dt * (self.z[2] + self.beta[1]*e + u)
self.z[2] += self.dt * (self.beta[2]*e)
return self.z
关键参数整定技巧:观测器带宽ω₀应设为系统带宽的3~5倍。对于开关频率50kHz的Boost电路,若控制带宽设计为1kHz,则ω₀可取3k~5k rad/s。三个增益系数可按β₁=3ω₀, β₂=3ω₀², β₃=ω₀³的关系确定。
2.2 带扰动补偿的PD控制器设计
与传统PD控制不同,LADRC中的PD控制器加入了前馈扰动补偿:
python复制def pd_controller(z_ref, z_actual, z_eso, kp, kd):
error = z_ref - z_actual
disturbance = z_eso[2] # 提取扩张状态观测的扰动
u0 = kp * error + kd * (error - prev_error)/dt
return u0 - disturbance # 扰动补偿
这种结构将控制量分为两部分:PD控制产生的u₀用于保证基本跟踪性能,扰动补偿项则直接抵消LESO估计的总扰动。这种"预判式"补偿使得系统对突加扰动的响应时间可缩短40%以上。
参数整定建议:
- 比例系数kp:根据稳态误差要求确定,通常取0.5~1.5
- 微分系数kd:影响动态响应,建议从0.001开始逐步增大
- 补偿系数b₀:与系统增益相关,Boost电路一般取输入电压与电感值的比值
3. 电流内环PI控制设计
3.1 内环控制器的基本要求
电流内环作为功率级控制环路,需要满足:
- 快速响应:带宽通常设为外环的5~10倍
- 抗噪声能力:需合理设置PI参数以避免开关噪声引起的振荡
- 限幅保护:需加入输出限幅防止过流
典型PI控制器实现:
python复制class PIController:
def __init__(self, kp, ki, limit):
self.kp = kp
self.ki = ki
self.integral = 0
self.limit = limit
def update(self, error, dt):
self.integral += error * dt
output = self.kp * error + self.ki * self.integral
return max(min(output, self.limit), -self.limit)
3.2 内外环参数匹配原则
为确保系统稳定性,内外环参数需遵循以下匹配原则:
-
带宽比:内环带宽应设为外环的5~10倍。例如外环带宽1kHz时,内环可取5k~10kHz。
-
采样同步:内外环采样周期应保持一致或成整数倍关系,避免beat频率干扰。
-
抗饱和处理:当外环输出达到限幅值时,需对内环积分项进行抗饱和处理。
典型参数配置示例:
python复制# 外环LADRC参数
beta = [300, 30000, 1000000] # 观测器增益
kp = 0.8
kd = 0.005
# 内环PI参数
ki = 1200
kp_inner = 0.3
4. 系统实现与性能优化
4.1 数字实现要点
在STM32等微控制器上实现时需注意:
-
计算时序:将LESO更新放在PWM中断服务例程中,确保定时执行
-
运算优化:使用Q15格式定点数运算可提升30%计算效率,特别适合资源受限的MCU
-
抗混叠滤波:在ADC采样前加入适当的模拟滤波,截止频率设为开关频率的1/5~1/10
-
保护逻辑:实现过压、过流、短路等保护功能,响应时间应小于5个开关周期
4.2 调试方法与技巧
-
分步调试法:
- 先单独调试电流内环,确保电流跟踪性能
- 然后固定内环参数,调试电压外环
- 最后整体联调,微调参数
-
参数整定步骤:
- 首先确定观测器带宽ω₀,设置β系数
- 然后调整PD参数,先比例后微分
- 最后微调内环PI参数
-
波形诊断技巧:
- 观测电感电流波形:判断电流环性能
- 比较参考电压与实际电压:评估外环跟踪能力
- 监测扩张状态z₃:了解系统扰动情况
4.3 典型应用场景扩展
-
光伏发电MPPT控制:
- 用LADRC替换传统PI电压环
- 可自动适应日照强度变化
- 实测显示在辐照度突变时,功率波动减少50%
-
电机驱动系统:
- 应用于电调设计
- 对负载转矩扰动具有强鲁棒性
- 特别适合无人机等动态负载应用
-
储能系统:
- 在电池充放电控制中表现优异
- 可平滑处理电池内阻变化带来的影响
- 充放电切换时的电压波动小于2%
5. 常见问题与解决方案
5.1 观测器发散问题
现象:扩张状态z₃持续增大或振荡
可能原因:
- 观测器增益过大
- 采样噪声过大
- 数值计算溢出
解决方案:
- 逐步降低β系数
- 加强输入滤波
- 改用更高精度的数据类型
5.2 系统振荡问题
现象:输出电压或电流持续振荡
可能原因:
- 内外环带宽太接近
- PD参数过于激进
- 补偿系数b₀不准确
解决方案:
- 确保内环带宽是外环的5倍以上
- 适当减小kp和kd
- 重新标定系统增益
5.3 动态响应不足
现象:负载突变时恢复时间过长
可能原因:
- 观测器带宽不足
- 扰动补偿不充分
- 内环响应速度慢
解决方案:
- 提高ω₀并相应调整β
- 检查b₀取值准确性
- 优化内环PI参数
在实际工程应用中,这种LADRC+PI的双闭环结构已经证明能够显著提升Boost变换器的动态性能和鲁棒性。特别是在输入电压波动大、负载变化剧烈的应用场景,其优势更为明显。通过合理参数整定和优化实现,系统可以在2ms内平息±20%的输入电压波动,输出电压调整率可控制在1%以内。
