动画 4 · 拖 PID 滑块,看 PM / GM / 带宽 / 阶跃响应实时变化 ← 返回目录

开环 L(s) = C(s)·P(s),其中 C = Kp + Ki/s + Kd·s(D 项带高频滤波),P 为 VCM 二阶谐振模型。 左侧指标即固件 cal_fra_result() 从 FRA 曲线上算出的量。试试预设按钮,体会「快」与「稳」的交换。

PID 参数(拖动实验)

PM 相位裕度--
GM 增益裕度--
0dB 穿越频率--
闭环 -3dB 带宽--
阶跃过冲--

开环 Bode 图 L(jω) —— OPEN 模式测到的曲线

增益 dB 相位 ° 闭环 |T| dB ▲PM ●GM 标记

闭环阶跃响应(时域仿真)—— 稳定性的直观后果

目标位置阶跃 → 马达实际位置。PM 越小,过冲振铃越猛;PM≤0 直接发散(振荡)。
动手实验建议: ① 只拉高 Kp:增益曲线整体上移 → 0dB 穿越右移(带宽↑)但 PM/GM 双降,阶跃开始振铃 —— 这正是驱动 IC 里 loop gain 寄存器的作用,也是环路增益校准只测 10Hz 一个点就够的原因(曲线是刚性平移的); ② 只拉高 Ki:低频增益抬升(稳态准),但低频相位被拖向 -90°,PM 被吃掉; ③ 只拉高 Kd:相位曲线在中频被"顶起来"(相位超前),PM 明显回升,允许更高带宽 —— 代价是高频增益抬升; ④ 按下「危险!」预设:PM 接近 0,阶跃响应剧烈振荡 —— 产线 FRA 测试就是为了在出货前抓住这种情况。 固件对应:PM/GM 由 fra_test.c: cal_fra_result() 在开环曲线上插值求得;-3dB 带宽由 cal_neg3db_freq_phase_margin() 在闭环曲线上求得。