1. 重复控制器(Repetitive Controller)深度解析
1.1 传递函数结构与参数意义
重复控制器的传递函数表达式为:
$$
G_{RC}(s)=\frac{K_{rc}Q(s)C(s)e^{-sT_{0}}}{1-Q(s)e^{-sT_{0}}}
$$
这个看似复杂的表达式实际上由几个关键部分组成:
-
时延环节 $e^{-sT_0}$:这是重复控制器的核心,$T_0=1/f_0$表示基波周期。在实际数字控制中,我们常用环形缓冲区实现这个时延,其长度等于基波周期对应的采样点数。例如对于50Hz系统,若采样频率为10kHz,则缓冲区长200点。
-
低通滤波器 $Q(s)=\frac{w_q}{s+w_q}$:用于保证系统稳定性,其截止频率$w_q$的选择至关重要。根据我的经验,$w_q$通常设为基波频率的5-10倍,既能保证高频衰减,又不影响跟踪性能。
-
补偿环节 $C(s)$:常见形式为$C(s)=k_p+k_is+\frac{k_ds}{τs+1}$,用于相位补偿。在逆变器控制中,我通常先用MATLAB的
bode函数绘制未补偿系统的相位曲线,再根据穿越频率处的相位差确定补偿参数。
重要提示:$K_{rc}$增益不宜过大,否则会导致系统不稳定。建议从0.1开始逐步增加,用MATLAB的
margin函数检查相位裕度保持在45°以上。
1.2 Bode图特性与稳定性分析
从提供的Bode图可以看出两个关键特征:
- 在基波频率及其整数倍处出现明显的增益峰值,这正是重复控制器能精准跟踪周期性信号的原理
- 高频段增益快速衰减,这是$Q(s)$滤波器的作用
在实际调试中,我常用以下MATLAB代码快速验证设计:
matlab复制s = tf('s');
w0 = 2*pi*50; % 基波角频率
T0 = 1/50;
wq = 5*w0; % Q滤波器截止频率
Q = wq/(s + wq);
Krc = 0.5; % 重复增益
C = 1 + 0.001*s; % 简单补偿
GRC = Krc*Q*C*exp(-s*T0)/(1 - Q*exp(-s*T0));
bode(GRC); grid on;
margin(GRC); % 检查稳定
