摘要
本文面向伺服驱动、FOC 电机控制和闭环步进控制等场景,系统说明如何利用 Bode 图测试电流环、速度环和位置环带宽,并与阶跃估算法进行对比分析;同时给出相位裕度、增益裕度的工程判断依据,并结合 Nyquist 判据说明闭环稳定性的本质。文中不仅给出测试原理,还明确说明了每一类测试的输入是什么、输出是什么、注入点在哪里、测量量是什么,并提供适合工程使用的 MATLAB 画图代码、详细整定案例、流程图与示意图。
1. 引言
在电机控制系统中,常见的级联控制结构是:电流环在最内层,速度环在中间层,位置环在最外层。工程上经常会听到类似说法:
- 电流环带宽做到 800 Hz ~ 2 kHz;
- 速度环带宽做到 50 Hz ~ 200 Hz;
- 位置环带宽做到 10 Hz ~ 50 Hz。
但是,如果没有统一的测试定义,这些"带宽数字"往往并不能直接比较。比如:
- 有的人说的是闭环 -3 dB 带宽;
- 有的人说的是开环交越频率;
- 有的人是根据阶跃上升时间估算出来的"等效带宽";
- 有的人只看响应速度,没有看稳定裕度。
因此,在正式测试和调试文档中,需要把以下问题讲清楚:
- 测的是电流环、速度环还是位置环;
- 测的是闭环传递函数还是开环频率响应;
- 输入信号注入在什么地方;
- 输出采集哪个物理量;
- 如何根据 Bode 图读出带宽;
- 如何根据相位裕度、增益裕度判断是否稳定;
- 为什么 Nyquist 图能从本质上解释"稳定还是不稳定"。
本文围绕上述问题展开,既给原理,也给工程上的实测方法,还会给出三类环路的详细案例,包括:
- 工作点是多少;
- 叠加扰动函数怎么写;
- 采样周期是多少;
- 扫频频点怎么选;
- 如何得到测试结果表;
- 如何把 Bode 法和阶跃法进行对比。
1.1 本章小结
本章说明了写这篇文档的目的:把"带宽测试"和"稳定性判断"从经验调参,变成一套可重复、可比较、可写进报告的标准方法。后文将按"结构定义 → 测试原理 → 测试方法 → 稳定性判据 → 详细案例 → MATLAB 代码"的顺序展开。
2. 闭环结构与测试对象定义
伺服系统或 FOC 系统通常采用三级闭环结构:

对这个结构进行测试时,需要明确:
- 电流环测试对象:电流给定到电流反馈;
- 速度环测试对象:速度给定到速度反馈;
- 位置环测试对象:位置给定到位置反馈。
2.1 本章小结
本章的核心是先把"测谁"定义清楚。只有测试对象定义一致,后面的带宽、相位裕度、增益裕度和 Nyquist 结论才有可比性。
3. Bode 图的物理意义
Bode 图由两部分组成:
- 幅频特性曲线;
- 相频特性曲线。

如果输入一个正弦信号:
u(t)=Asin(ωt)(3-1) u(t)=A\sin(\omega t) \tag{3-1} u(t)=Asin(ωt)(3-1)
系统稳定后输出为:
y(t)=Bsin(ωt+φ)(3-2) y(t)=B\sin(\omega t+\varphi) \tag{3-2} y(t)=Bsin(ωt+φ)(3-2)
则频率响应写为:
G(jω)=Y(jω)U(jω)(3-3) G(j\omega)=\frac{Y(j\omega)}{U(j\omega)} \tag{3-3} G(jω)=U(jω)Y(jω)(3-3)
其中:
- ∣G(jω)∣|G(j\omega)|∣G(jω)∣ 反映输入到输出的幅值跟随能力;
- ∠G(jω)\angle G(j\omega)∠G(jω) 反映输出相对于输入滞后了多少角度。
工程上常用闭环幅值下降到 -3 dB 的频率定义带宽:
20log10∣T(jωbw)∣=−3 dB(3-4) 20\log_{10}|T(j\omega_{bw})|=-3\text{ dB} \tag{3-4} 20log10∣T(jωbw)∣=−3 dB(3-4)
这个频率越高,通常意味着系统响应越快,但并不代表一定更稳定。因为带宽提高的同时,往往会降低相位裕度和增益裕度。
3.1 本章小结
本章说明了 Bode 图不仅能反映"快不快",还能反映"稳不稳"。带宽只是一部分信息,谐振峰、相位滞后和高频衰减同样重要。
4. 电流环、速度环、位置环的测试输入与输出
4.1 电流环测试
电流环闭环通常定义为:
Ti(s)=iq(s)iq∗(s)(4-1) T_i(s)=\frac{i_q(s)}{i_q^*(s)} \tag{4-1} Ti(s)=iq∗(s)iq(s)(4-1)
测试时:
- 输入 :在 iq∗i_q^*iq∗ 上叠加小扰动;
- 输出 :采样实际反馈电流 iqi_qiq;
- 其余条件:速度环、位置环关闭或者冻结;
- 注入点:电流给定入口;
- 观测量 :iq∗i_q^*iq∗ 与 iqi_qiq 的同频分量。
示意如下:

4.2 速度环测试
速度环闭环可定义为:
Tω(s)=ω(s)ω∗(s)(4-2) T_\omega(s)=\frac{\omega(s)}{\omega^*(s)} \tag{4-2} Tω(s)=ω∗(s)ω(s)(4-2)
测试时:
- 输入 :在速度指令 ω∗\omega^*ω∗ 上叠加小扰动;
- 输出 :采样反馈速度 ω\omegaω;
- 其余条件:电流环必须先闭合稳定,位置环关闭;
- 注入点:速度给定入口;
- 观测量 :ω∗\omega^*ω∗ 和 ω\omegaω。
4.3 位置环测试
位置环闭环可定义为:
Tθ(s)=θ(s)θ∗(s)(4-3) T_\theta(s)=\frac{\theta(s)}{\theta^*(s)} \tag{4-3} Tθ(s)=θ∗(s)θ(s)(4-3)
测试时:
- 输入 :在位置指令 θ∗\theta^*θ∗ 上叠加小扰动;
- 输出 :采样反馈位置 θ\thetaθ;
- 其余条件:电流环和速度环都已稳定闭合;
- 注入点:位置给定入口;
- 观测量 :θ∗\theta^*θ∗ 和 θ\thetaθ。
4.4本章小结
本章明确了三类环路测试时的输入输出关系。电流环测电流给定到电流反馈,速度环测速度给定到速度反馈,位置环测位置给定到位置反馈。测试时必须保证外层或内层环路状态符合定义,否则测试结果会混入其他环路的影响。
5. Bode 图带宽测试方法
5.1 正弦扫频法
正弦扫频法是最标准、最直观的方法。做法是:
- 设定一个工作点;
- 在输入上叠加单频正弦扰动;
- 采样输入和输出;
- 计算稳态幅值比和相位差;
- 频率逐点扫描。
优点:
- 结果最清楚;
- 容易做数据表;
- 容易定位某个频率的异常峰值。
缺点:
- 测试时间长;
- 每个频点都要等待稳态。
5.2 Chirp 扫频法
Chirp 是连续扫频信号,例如:
u(t)=Asin(2πf(t)t)(5-1) u(t)=A\sin(2\pi f(t)t) \tag{5-1} u(t)=Asin(2πf(t)t)(5-1)
其中 f(t)f(t)f(t) 随时间逐渐变化。优点是快,缺点是后处理更复杂,对采样同步要求更高。
5.3 PRBS 或随机激励法
PRBS 和随机激励常用于系统辨识和自动化测试。优点是频谱覆盖广,适合自动脚本批量测试;缺点是实现复杂,结果解释门槛更高。
5.4 带宽判定方法
对闭环频响:
- 先确定低频增益,通常接近 0 dB;
- 找到幅值首次下降到 -3 dB 的频率;
- 这个频率就是闭环带宽。
对开环频响:
- 找到幅值 0 dB 交越频率;
- 该点用来读取相位裕度;
- 相位 -180° 处用来读取增益裕度。
5.5 本章小结
本章给出了 Bode 测试的三种常见方法,其中工程上最推荐的是正弦逐点扫频。正式测试报告中,闭环带宽通常以 -3 dB 判定,开环稳定性则看 0 dB 交越和 -180° 相位点。
6. 阶跃估算法测试与 Bode 图对比
6.1 阶跃估算法的基本思想
若系统近似为一阶闭环:
T(s)=1τs+1(6-1) T(s)=\frac{1}{\tau s+1} \tag{6-1} T(s)=τs+11(6-1)
则可利用上升时间 trt_rtr 估算带宽:
fbw≈0.35tr(6-2) f_{bw}\approx\frac{0.35}{t_r} \tag{6-2} fbw≈tr0.35(6-2)
6.2 阶跃估算法适用于什么场景
更适合:
- 电流环;
- 近似一阶的速度环;
- 没有明显机械共振、滤波延时较小的系统。
6.3 阶跃估算法的局限
局限主要有:
- 看不到共振峰;
- 看不到高频噪声放大;
- 无法直接给出 PM、GM;
- 对多环系统和柔性负载的解释能力较弱。
6.4 Bode 法与阶跃法对比
| 对比项 | Bode 图法 | 阶跃估算法 |
|---|---|---|
| 是否能测闭环带宽 | 能 | 近似能 |
| 是否能测 PM/GM | 能 | 不能 |
| 是否能看到共振峰 | 能 | 不直观 |
| 测试速度 | 中等 | 快 |
| 是否适合正式报告 | 很适合 | 适合辅助验证 |
6.5 本章小结
本章的结论是:阶跃估算法适合快速估算,但不能替代完整频域分析。工程上应以 Bode 图为主,以阶跃法做交叉验证。
7. 相位裕度与增益裕度的判断依据
7.1 相位裕度定义
开环传递函数记为:
L(s)=C(s)P(s)(7-1) L(s)=C(s)P(s) \tag{7-1} L(s)=C(s)P(s)(7-1)
当
∣L(jωc)∣=1(7-2) |L(j\omega_c)|=1 \tag{7-2} ∣L(jωc)∣=1(7-2)
时,定义相位裕度:
PM=180∘+∠L(jωc)(7-3) PM=180^\circ+\angle L(j\omega_c) \tag{7-3} PM=180∘+∠L(jωc)(7-3)
7.2 增益裕度定义
当相位达到 -180° 时,频率记为 ω180\omega_{180}ω180,增益裕度定义为:
GM=1∣L(jω180)∣(7-4) GM=\frac{1}{|L(j\omega_{180})|} \tag{7-4} GM=∣L(jω180)∣1(7-4)
换算成 dB:
GMdB=−20log10∣L(jω180)∣(7-5) GM_{dB}=-20\log_{10}|L(j\omega_{180})| \tag{7-5} GMdB=−20log10∣L(jω180)∣(7-5)
7.3 常用工程判断标准
| 指标 | 较危险 | 常用可接受 | 较稳健 |
|---|---|---|---|
| 相位裕度 PM | < 30° | 45° ~ 60° | > 60° |
| 增益裕度 GM | < 3 dB | 6 ~ 10 dB | > 10 dB |
7.4 三个环路的常见裕度建议
- 电流环:PM 建议 50° ~ 70°,GM 建议 6 ~ 12 dB;
- 速度环:PM 建议 45° ~ 60°,GM 建议 6 ~ 10 dB;
- 位置环:PM 建议 > 50°,GM 建议 > 8 dB。
7.5 本章小结
本章给出的是工程上的稳定裕度"判断依据"。带宽高不代表系统就好,只有在 PM、GM 仍有足够余量的情况下,这个带宽才真正可用。
8. Nyquist 判据与稳定性本质
8.1 为什么还要看 Nyquist
Bode 图把系统稳定性拆成了"幅值"和"相位"两条曲线,而 Nyquist 图直接在复平面上看开环频响是否逼近临界点 (−1,0)(-1,0)(−1,0)。
8.2 Nyquist 判据的基本表达
闭环特征方程:
1+L(s)=0(8-1) 1+L(s)=0 \tag{8-1} 1+L(s)=0(8-1)
Nyquist 判据指出:
Z=N+P(8-2) Z=N+P \tag{8-2} Z=N+P(8-2)
其中:
- ZZZ 为闭环右半平面零点数;
- PPP 为开环右半平面极点数;
- NNN 为 Nyquist 曲线对 (−1,0)(-1,0)(−1,0) 的环绕数。
8.3 Bode 裕度和 Nyquist 的关系
可以把 PM、GM 理解为系统在接近 (−1,0)(-1,0)(−1,0) 前的"安全余量":
- PM 描述相位方向离临界点还有多远;
- GM 描述增益方向离临界点还有多远。
8.4 Nyquist 图示意

8.5 本章小结
本章从 Nyquist 角度解释了为什么 PM、GM 会成为工程上最常用的稳定性指标。Bode 图是便于读取和调参的表现形式,而 Nyquist 图揭示的是闭环稳定性的本质。
9. 三类环路带宽的典型设计关系
常见设计经验:
- 电流环带宽通常比速度环高 5 倍到 10 倍;
- 速度环带宽通常比位置环高 3 倍到 5 倍;
- 外环带宽不能过于逼近内环,否则级联假设失效。
例如:
| 环路 | 典型带宽 |
|---|---|
| 电流环 | 800 Hz ~ 1500 Hz |
| 速度环 | 80 Hz ~ 150 Hz |
| 位置环 | 15 Hz ~ 40 Hz |
9.1 本章小结
本章说明了多环系统的一个基本原则:内环必须足够快,外环才有稳定工作的基础。实际设计时不要只盯单个环路带宽,而要看三者之间的比例关系。
10. 详细测试流程
10.1 总体测试流程

10.2 电流环测试流程
- 锁定转子或低速稳态;
- 关闭速度环和位置环;
- 设置 q 轴工作点;
- 在 iq∗i_q^*iq∗ 上注入正弦扫频;
- 采样 iq∗i_q^*iq∗ 和 iqi_qiq;
- 计算每个频点的幅值比和相位差。
10.3 速度环测试流程
- 确认电流环已稳定;
- 关闭位置环;
- 设置速度工作点;
- 在 ω∗\omega^*ω∗ 上注入扫频;
- 采样 ω∗\omega^*ω∗ 和 ω\omegaω;
- 绘制速度环 Bode 图。
10.4 位置环测试流程
- 确认速度环、电流环都稳定;
- 保证负载安装状态与实际工况一致;
- 设置位置工作点;
- 在 θ∗\theta^*θ∗ 上注入小幅扫频;
- 采样 θ∗\theta^*θ∗ 和 θ\thetaθ;
- 观察是否出现共振峰。
10.5 本章小结
本章把测试步骤固化成流程。工程上建议按"电流环 → 速度环 → 位置环"的顺序逐层测试,并在每层完成后做一次阶跃验证。
11. MATLAB 画图与分析代码
11.1 电流环模型 Bode 图示例
matlab
clear; clc; close all;
s = tf('s');
R = 0.35;
L = 1.2e-3;
Kp_i = 2.5;
Ki_i = 800;
Td = 80e-6;
Pi = 1/(L*s + R);
Ci = Kp_i + Ki_i/s;
Delay = pade(exp(-Td*s),1);
Li = Ci * Pi * Delay;
Ti = feedback(Li,1);
figure; bode(Ti); grid on; title('电流环闭环 Bode 图');
figure; margin(Li); grid on; title('电流环开环裕度图');
11.2 速度环模型 Bode 图示例
matlab
clear; clc; close all;
s = tf('s');
J = 2.5e-4;
B = 1.2e-3;
Kt = 0.08;
Kp_w = 0.35;
Ki_w = 8;
Pw = Kt/(J*s + B);
Cw = Kp_w + Ki_w/s;
Lw = Cw * Pw;
Tw = feedback(Lw,1);
figure; bode(Tw); grid on; title('速度环闭环 Bode 图');
figure; margin(Lw); grid on; title('速度环开环裕度图');
11.3 位置环模型 Bode 图示例
matlab
clear; clc; close all;
s = tf('s');
Kp_pos = 25;
Tw = tf(2*pi*120,[1 2*pi*120]);
Ppos = 1/s;
Lpos = Kp_pos * Tw * Ppos;
Tpos = feedback(Lpos,1);
figure; bode(Tpos); grid on; title('位置环闭环 Bode 图');
figure; margin(Lpos); grid on; title('位置环开环裕度图');
11.4 Nyquist 图绘制代码
matlab
clear; clc; close all;
s = tf('s');
L = 10 / (s*(0.01*s + 1)*(0.002*s + 1));
figure; nyquist(L); grid on; title('Nyquist 图示例');
11.5 根据实验数据画 Bode 图
matlab
clear; clc; close all;
f = [20 50 100 200 300 500 700 900 1200 1500];
ain = [0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2];
aout = [0.200 0.199 0.196 0.188 0.180 0.160 0.146 0.140 0.116 0.089];
phase_deg = [-1 -4 -8 -16 -24 -41 -56 -68 -89 -111];
mag_db = 20*log10(aout ./ ain);
subplot(2,1,1); semilogx(f, mag_db,'o-'); grid on; ylabel('Mag(dB)');
subplot(2,1,2); semilogx(f, phase_deg,'s-'); grid on; ylabel('Phase(deg)'); xlabel('Hz');
11.6 用阶跃响应估算带宽的代码
matlab
clear; clc; close all;
s = tf('s');
T = 1/(0.00039/0.35*s + 1);
step(T); grid on;
info = stepinfo(T);
tr = info.RiseTime;
fbw_est = 0.35 / tr;
fprintf('RiseTime = %.6f s\n', tr);
fprintf('Estimated Bandwidth = %.2f Hz\n', fbw_est);
11.7 本章小结
本章提供了可直接使用或改写的 MATLAB 代码,包括模型分析、实验数据作图和阶跃估算。正式项目中建议把这些脚本和测试数据一起归档,便于不同参数版本的横向比较。
12. 详细案例 1:电流环带宽测试与阶跃估算对比
12.1 已知条件
被测对象:某 PMSM q 轴电流环。
| 参数 | 数值 |
|---|---|
| 相电阻 RRR | 0.35 Ω\OmegaΩ |
| 相电感 LLL | 1.2 mH |
| 额定电流 | 10 A |
| 电流环控制周期 | 100 μs\mu sμs |
| PWM 频率 | 10 kHz |
| PI 参数 | Kp=2.5K_p=2.5Kp=2.5,Ki=800K_i=800Ki=800 |
| 工作点 | iq0=2.0i_{q0}=2.0iq0=2.0 A |
| 扰动幅值 | Δi=0.2\Delta i=0.2Δi=0.2 A |
叠加扰动函数定义为:
iq∗(t)=2.0+0.2sin(2πft) A(12-1) i_q^*(t)=2.0+0.2\sin(2\pi f t)\ \text{A} \tag{12-1} iq∗(t)=2.0+0.2sin(2πft) A(12-1)
这里 2.0 A 是工作点,0.2 A 是扫频扰动幅值,占额定电流的 2%,属于小信号范围。
采样方案:
- 采样率 10 kHz;
- 扫频点选 20、50、100、200、300、500、700、900、1200、1500 Hz;
- 每个频点采样 10 个周期;
- 舍弃前 3 个周期,只对后 7 个周期做幅值拟合和相位计算。
12.2 Bode 法结果
测试输入为 iq∗i_q^*iq∗ 中的正弦扰动分量,测试输出为反馈电流 iqi_qiq 的同频分量。结果如下:
| 频率 Hz | 输入幅值 A | 输出幅值 A | 幅值 dB | 相位 deg |
|---|---|---|---|---|
| 20 | 0.20 | 0.200 | 0.00 | -1 |
| 50 | 0.20 | 0.199 | -0.04 | -4 |
| 100 | 0.20 | 0.196 | -0.17 | -8 |
| 200 | 0.20 | 0.188 | -0.54 | -16 |
| 300 | 0.20 | 0.180 | -0.92 | -24 |
| 500 | 0.20 | 0.160 | -1.94 | -41 |
| 700 | 0.20 | 0.146 | -2.73 | -56 |
| 900 | 0.20 | 0.140 | -3.10 | -68 |
| 1200 | 0.20 | 0.116 | -4.73 | -89 |
| 1500 | 0.20 | 0.089 | -7.03 | -111 |
从上表可以读出:
- 闭环带宽约在 860 ~ 900 Hz;
- 高频相位滞后逐步增大,但没有出现明显共振峰;
- 闭环形态接近一阶系统。
进一步根据模型法读取开环裕度:
| 指标 | 数值 |
|---|---|
| 0 dB 交越频率 | 980 Hz |
| 相位裕度 PM | 58° |
| 增益裕度 GM | 9 dB |
12.3 阶跃估算法结果
在同一工作点下做阶跃试验:
iq∗:2.0 A→2.5 A i_q^*:2.0\text{ A}\rightarrow 2.5\text{ A} iq∗:2.0 A→2.5 A
记录结果:
| 指标 | 数值 |
|---|---|
| 上升时间 trt_rtr | 0.39 ms |
| 超调量 | 3.8% |
| 调节时间 | 0.92 ms |
| 估算带宽 0.35/tr0.35/t_r0.35/tr | 897 Hz |
可见:
- 阶跃估算带宽约 897 Hz;
- 与 Bode 测得的 860 ~ 900 Hz 很接近;
- 电流环案例中,阶跃估算是比较可靠的。
测试波形示意图
下面给出电流环测试时,输入扰动与输出响应的典型波形关系示意:

说明:
- 两者频率相同;
- iq 相对 iq* 有轻微相位滞后;
- 在低频区幅值几乎一致,在高频区 iq 幅值会逐步下降。
参数整定建议表
| 观察现象 | 当前案例表现 | 可能原因 | 调整建议 |
|---|---|---|---|
| 闭环带宽 | 860 ~ 900 Hz | PI 参数匹配较合理 | 当前参数可作为基线版本保留 |
| 相位裕度 PM | 58° | 延时和 PI 配合较好 | 若追求更快响应,可小幅提高 KpK_pKp 后重新检查 PM |
| 增益裕度 GM | 9 dB | 高频裕度尚可 | 若加入额外滤波,应重新评估 GM 是否下降 |
| 阶跃超调 | 3.8% | 阻尼较合适 | 若想进一步降低超调,可略降 KpK_pKp 或略增积分分离 |
| 高频相位滞后 | 900 Hz 后明显增大 | 采样延时、PWM 延时开始主导 | 不建议仅靠加大 KiK_iKi 来追求更高带宽 |
12.4 结论
这个案例的工程意义是:
- 电流环在结构简单、延时较小的情况下,常可近似为一阶;
- Bode 法和阶跃法结果一致性较好;
- 但正式报告仍建议同时给出 PM 和 GM,因为它们决定这个带宽是否"稳健可用"。
12.5 本章小结
本章通过带有明确工作点、扰动函数、采样方案和结果表的电流环案例,说明了 Bode 图与阶跃估算如何相互验证。对内环而言,带宽和稳定裕度通常都比较容易解释。
13. 详细案例 2:速度环测试与机械共振影响
13.1 已知条件
假设电流环已调好,闭环带宽约 1 kHz。速度环参数如下:
| 参数 | 数值 |
|---|---|
| 电流环带宽 | 1 kHz |
| 转矩常数 KtK_tKt | 0.08 N·m/A |
| 等效惯量 JJJ | 2.5×10−42.5\times10^{-4}2.5×10−4 kg·m2^22 |
| 阻尼 BBB | 1.2×10−31.2\times10^{-3}1.2×10−3 |
| 速度 PI 参数 | Kp=0.35K_p=0.35Kp=0.35,Ki=8K_i=8Ki=8 |
| 速度工作点 | 300 rpm |
| 扰动幅值 | 15 rpm |
| 采样周期 | 1 ms |
叠加扰动函数:
ω∗(t)=300+15sin(2πft) rpm(13-1) \omega^*(t)=300+15\sin(2\pi f t)\ \text{rpm} \tag{13-1} ω∗(t)=300+15sin(2πft) rpm(13-1)
扫频策略:
- 扫频点:1、2、5、10、20、30、50、80、100、120、150、200 Hz;
- 每个频点采样 12 个周期;
- 前 3 个周期舍弃,后 9 个周期用于稳态拟合;
- 输出采样量为编码器差分速度加一阶低通后的 ω\omegaω。
13.2 Bode 图观察结果
| 频率 Hz | 输入幅值 rpm | 输出幅值 rpm | 幅值 dB | 相位 deg |
|---|---|---|---|---|
| 1 | 15 | 15.0 | 0.00 | -1 |
| 2 | 15 | 15.0 | 0.00 | -2 |
| 5 | 15 | 14.9 | -0.06 | -5 |
| 10 | 15 | 14.7 | -0.17 | -9 |
| 20 | 15 | 14.2 | -0.48 | -18 |
| 30 | 15 | 13.8 | -0.72 | -25 |
| 50 | 15 | 12.9 | -1.31 | -39 |
| 80 | 15 | 11.6 | -2.24 | -61 |
| 100 | 15 | 10.7 | -2.93 | -76 |
| 120 | 15 | 10.1 | -3.43 | -89 |
| 150 | 15 | 10.5 | -3.10 | -113 |
| 200 | 15 | 7.2 | -6.38 | -142 |
观察可得:
- 闭环带宽约 105 ~ 120 Hz;
- 150 Hz 附近有轻微峰值回升;
- 这提示存在机械柔性或滤波延时影响。
开环裕度结果:
| 指标 | 数值 |
|---|---|
| 0 dB 交越频率 | 118 Hz |
| 相位裕度 PM | 43° |
| 增益裕度 GM | 6 dB |
13.3 阶跃响应观察结果
阶跃测试设置:
ω∗:300 rpm→330 rpm \omega^*:300\text{ rpm}\rightarrow 330\text{ rpm} ω∗:300 rpm→330 rpm
记录结果:
| 指标 | 数值 |
|---|---|
| 上升时间 trt_rtr | 2.85 ms |
| 超调量 | 12.0% |
| 调节时间 | 14.5 ms |
| 估算带宽 0.35/tr0.35/t_r0.35/tr | 123 Hz |
可以看到:
- 阶跃估算给出约 123 Hz;
- 与 Bode 图读出的 105 ~ 120 Hz 接近;
- 但阶跃法没有直接告诉我们 150 Hz 附近有峰值,也不能说明裕度偏紧。
测试波形示意图

说明:
- ω 相对 ω* 的相位滞后比电流环更明显;
- 在接近带宽附近,输出幅值衰减更明显;
- 若 150 Hz 附近有轻微峰值,时域中可能表现为轻微振铃。
参数整定建议表
| 观察现象 | 当前案例表现 | 可能原因 | 调整建议 |
|---|---|---|---|
| 闭环带宽 | 105 ~ 120 Hz | 速度 PI 已较激进 | 若系统需要更稳健,优先略降 KpK_pKp |
| 相位裕度 PM | 43° | 相位余量偏紧 | 建议优先提升 PM 到 45°~55° 区间 |
| 150 Hz 附近峰值 | 有轻微回升 | 机械柔性、速度滤波、联轴器弹性 | 优先检查机械共振和速度滤波截止频率 |
| 阶跃超调 | 12.0% | 阻尼不足 | 可适度降低 KpK_pKp,或在保证低频增益前提下优化 KiK_iKi |
| 调节时间 | 14.5 ms | 内环足够快,但外部机械约束明显 | 若要缩短调节时间,不建议单纯暴力增大 PI |
13.4 结论
这个案例说明:
- 速度环进入机械系统主导区后,单看阶跃可能会高估可用带宽;
- Bode 图能看到机械共振、滤波造成的额外相位滞后;
- PM 只有 43°,说明这个速度环已经偏激进,不宜盲目继续加大 PI 增益。
13.5 本章小结
本章通过速度环案例说明:Bode 图相对于阶跃法的优势,在于它能显示"为什么快"以及"快到什么程度开始不安全"。尤其一旦涉及机械共振,频域分析就变得必不可少。
14. 详细案例 3:位置环测试与 Nyquist 稳定性理解
14.1 场景描述
某丝杆平台位置环在电流环和速度环已经稳定的基础上进行测试,参数如下:
| 参数 | 数值 |
|---|---|
| 电流环带宽 | 1 kHz |
| 速度环带宽 | 120 Hz |
| 位置控制器 | P 控制 |
| 比例增益 | 25 |
| 编码器分辨率 | 23 bit |
| 位置工作点 | 0° |
| 扰动幅值 | 0.5° |
| 采样周期 | 1 ms |
注入函数:
θ∗(t)=0+0.5∘sin(2πft)(14-1) \theta^*(t)=0+0.5^\circ\sin(2\pi f t) \tag{14-1} θ∗(t)=0+0.5∘sin(2πft)(14-1)
扫频参数:
- 频点:0.5、1、2、5、10、15、20、30、40、50、60 Hz;
- 每点采样 10 个周期;
- 位置输出、速度输出、位置误差同步记录;
- 如果振动明显,立即降低扰动幅值。
14.2 Bode 结果
| 频率 Hz | 输入幅值 deg | 输出幅值 deg | 幅值 dB | 相位 deg |
|---|---|---|---|---|
| 0.5 | 0.50 | 0.50 | 0.00 | -1 |
| 1 | 0.50 | 0.50 | 0.00 | -2 |
| 2 | 0.50 | 0.49 | -0.17 | -5 |
| 5 | 0.50 | 0.48 | -0.35 | -11 |
| 10 | 0.50 | 0.46 | -0.73 | -22 |
| 15 | 0.50 | 0.44 | -1.11 | -33 |
| 20 | 0.50 | 0.41 | -1.72 | -46 |
| 30 | 0.50 | 0.36 | -2.85 | -68 |
| 40 | 0.50 | 0.34 | -3.35 | -95 |
| 50 | 0.50 | 0.37 | -2.61 | -132 |
| 60 | 0.50 | 0.28 | -5.04 | -159 |
由结果可见:
- 闭环带宽约 35 ~ 42 Hz;
- 50 Hz 附近出现峰值回升;
- 说明该位置环已经受到机械柔性影响。
对应开环裕度:
| 指标 | 数值 |
|---|---|
| 开环交越频率 | 31 Hz |
| 相位裕度 PM | 28° |
| 增益裕度 GM | 4.5 dB |
14.3 Nyquist 理解
如果将该开环系统绘制 Nyquist 图,会发现其频响轨迹已经明显逼近 (−1,0)(-1,0)(−1,0) 点。这意味着:
- 虽然系统还在工作;
- 但相位和增益余量都不大;
- 一旦负载刚度下降、速度环额外加滤波、编码器延时增加,Nyquist 轨迹就可能进一步靠近甚至跨过临界点,从而失稳。
因此,该位置环虽然从阶跃上看"速度还可以",但从 Nyquist 角度看已经不稳健。
14.4 结论
再做一次位置阶跃:
θ∗:0∘→1.0∘ \theta^*:0^\circ\rightarrow 1.0^\circ θ∗:0∘→1.0∘
得到:
| 指标 | 数值 |
|---|---|
| 上升时间 trt_rtr | 8.4 ms |
| 超调量 | 18.5% |
| 调节时间 | 42 ms |
| 估算带宽 0.35/tr0.35/t_r0.35/tr | 41.7 Hz |
这个结果与 Bode 带宽数值接近,但有两个关键差别:
- 阶跃法看不到 50 Hz 附近峰值;
- 阶跃法无法直接反映 PM=28°、GM=4.5 dB 的风险。
因此,位置环判断稳定性时必须结合 Nyquist 与 PM/GM,而不能只看上升时间。
测试波形示意图

位置给定与反馈位置在时域中的典型关系可概括为:
- 位置反馈相位滞后最明显;
- 在结构峰值附近,波形可能出现局部放大和轻微振荡;
- 若继续提高位置增益,响应会更快,但振铃和失稳风险也会明显上升。
参数整定建议表
| 观察现象 | 当前案例表现 | 可能原因 | 调整建议 |
|---|---|---|---|
| 闭环带宽 | 35 ~ 42 Hz | 位置环增益已较高 | 不建议继续提高比例增益 |
| 相位裕度 PM | 28° | 稳定边界过近 | 应优先回退位置环增益,目标 PM 至少 > 45° |
| 增益裕度 GM | 4.5 dB | 抗参数漂移能力弱 | 降低位置增益并检查速度环附加延时 |
| 50 Hz 峰值 | 明显存在 | 机械柔性、丝杆/联轴器弹性 | 必要时加入陷波或降低外环带宽 |
| 阶跃超调 | 18.5% | 阻尼不足、峰值放大 | 优先降增益,不建议靠微调积分类手段硬压超调 |
14.5 本章小结
本章的重点不是"位置环带宽有多大",而是说明:位置环往往最容易在机械柔性和外部负载影响下接近稳定边界。Nyquist 图特别适合解释这类"还能跑,但已经危险"的状态。
15. 测试报告建议写法
15.1 基本信息
建议写清:
- 电机型号;
- 驱动器型号;
- 电源电压;
- 编码器类型;
- 控制周期和 PWM 频率。
15.2 测试条件
建议写清:
- 负载状态;
- 工作点;
- 扰动函数;
- 扰动幅值;
- 扫频范围;
- 每个频点采样周期数。
15.3 结果字段
建议统一成如下表格:
| 环路 | 输入 | 输出 | 工作点 | 扰动函数 | 闭环带宽 | PM | GM | 阶跃估算 | 备注 |
|---|---|---|---|---|---|---|---|---|---|
| 电流环 | iq∗i_q^*iq∗ | iqi_qiq | 2.0 A | 2.0+0.2sin(2πft)2.0+0.2\sin(2\pi ft)2.0+0.2sin(2πft) | 860~900 Hz | 58° | 9 dB | 897 Hz | 一致性好 |
| 速度环 | ω∗\omega^*ω∗ | ω\omegaω | 300 rpm | 300+15sin(2πft)300+15\sin(2\pi ft)300+15sin(2πft) | 105~120 Hz | 43° | 6 dB | 123 Hz | 150 Hz 有峰值 |
| 位置环 | θ∗\theta^*θ∗ | θ\thetaθ | 0° | 0+0.5∘sin(2πft)0+0.5^\circ\sin(2\pi ft)0+0.5∘sin(2πft) | 35~42 Hz | 28° | 4.5 dB | 41.7 Hz | 50 Hz 有结构峰值 |
15.4 本章小结
本章给出了测试报告的建议模板。好的报告不只是写一个带宽数字,而是要把工作点、扰动函数、采样方案和稳定裕度一起写清楚。
16. 常见误区
- 把开环交越频率直接等同于闭环带宽;
- 扫频扰动过大,进入非线性区;
- 测速度环时没有关闭位置环;
- 只看阶跃响应,不看 PM、GM 和谐振峰;
- 位置环盲目追求高带宽,忽略机械柔性。
16.1 本章小结
本章提醒的是:很多测试错误并不是算法问题,而是测试定义不统一、工作点不合理或结论过度简化造成的。避免这些误区,测试结果才真正可信。
17. 推荐调试顺序
推荐顺序:
- 先调电流环,确保 PM、GM 合理;
- 再调速度环,控制好机械共振;
- 最后调位置环,重点看 Nyquist 风险和结构峰值;
- 每调完一层,都做 Bode 和阶跃双验证。
17.1 本章小结
本章说明了调试顺序必须从内到外。因为外环的控制对象本质上就是"已经闭合的内环",内环不稳,外环的所有测试结果都会失真。