4. 螺旋桨负载突变下的推进控制器抗扰整定
扰动场景与抗扰指标
螺旋桨在巡航中吸入漂浮物时,负载转矩会在极短时间内阶跃上升,转速环必须在不产生过大超调的前提下把转速拉回设定值。本例以一台额定 1500 r/min 的推进电机为对象,设定 0.5 s 时负载转矩由 40% 额定值阶跃至 85% 额定值,要求转速跌落不超过 8%、恢复时间(回到 ±1% 误差带)不超过 1.2 s,且恢复过程超调不超过 3%。
抗扰整定的核心矛盾在于:积分项负责消除稳态误差、加快恢复,但过强会带来恢复段超调;微分项能抑制跌落初期的转速变化率、减小最大跌落,但对反馈噪声敏感。因此本例在已辨识的推进系统模型上,先固定比例增益,再以“积分时间常数 Ti 与微分时间常数 Td”为整定变量做参数扫描,用跌落幅度与恢复时间两个指标共同筛选。
仿真模型与整定流程
采用一阶惯性加积分环节近似推进轴系:转速环被控对象传递函数取 G(s)=K/(Ts+1)·(1/s),其中 K=0.85、T=0.12 s(示例辨识值)。负载转矩以阶跃形式叠加到转矩平衡方程 J·dω/dt = Te − TL 上。仿真步长 1 ms,总时长 3 s,扰动在 0.5 s 注入。
整定按以下顺序进行:先固定 Kp=2.4(由前序临界比例度法得到的初值),在 Ti∈[0.15, 0.60] s、Td∈[0, 0.08] s 的网格上扫描;对每组参数记录最大跌落 Δn_max、恢复时间 t_r 与恢复段超调 σ;先剔除 σ>3% 的组合,再在剩余组合中选 t_r 最小且 Δn_max≤8% 的一组。
import numpy as np
K, T, J = 0.85, 0.12, 0.045 # 示例辨识参数
Kp = 2.4 # 固定比例增益
n_ref = 1500.0
dt, t_end = 1e-3, 3.0
t = np.arange(0, t_end, dt)
def simulate(Ti, Td, TL_step=0.85, TL0=0.40):
n = 0.0; integ = 0.0; d_filt = 0.0; n_prev = 0.0
TL = TL0
log = np.zeros_like(t)
for k, tk in enumerate(t):
if tk >= 0.5:
TL = TL_step
e = n_ref - n
integ += e * dt
d_raw = (e - (n_ref - n_prev)) / dt if k else 0.0
d_filt += (d_raw - d_filt) * dt / (0.02 + dt) # 微分一阶滤波 20 ms
u = Kp * (e + integ / Ti + Td * d_filt)
Te = K * u
dn = (Te - TL * 1.0) / J * dt
n_prev = n
n = max(n + dn, 0.0)
log[k] = n
return log
def metrics(n):
i0 = int(0.5 / dt)
seg = n[i0:]
dn_max = (n_ref - seg.min()) / n_ref * 100
band = 0.01 * n_ref
idx = np.where(np.abs(seg - n_ref) > band)[0]
t_r = (idx[-1] + 1) * dt if len(idx) else 0.0
overshoot = max(0.0, (seg.max() - n_ref) / n_ref * 100)
return dn_max, t_r, overshoot
best = None
for Ti in np.arange(0.15, 0.61, 0.05):
for Td in np.arange(0.0, 0.081, 0.02):
dn, tr, os_ = metrics(simulate(Ti, Td))
if os_ <= 3.0 and dn <= 8.0:
if best is None or tr < best[2]:
best = (Ti, Td, tr, dn, os_)
print("Ti=%.2f Td=%.2f tr=%.2fs dn=%.1f%% os=%.1f%%" % best)
结果判读与参数取舍
示例扫描中,Ti 偏小(0.15~0.25 s)时恢复快但恢复段超调常超过 3%;Ti 偏大(0.50 s 以上)时超调合格但恢复时间超过 1.2 s。Td 从 0 增至 0.04 s 可明显压低最大跌落,继续增大到 0.08 s 时跌落改善趋缓而噪声引起的转矩抖动上升。综合判据,示例推荐 Ti=0.35 s、Td=0.04 s,对应跌落约 6.5%、恢复时间约 0.9 s、超调约 2%。
验证时除看时域指标外,还应检查扰动后 1 s 内转矩指令是否出现高频抖动;若抖动明显,优先增大微分滤波时间常数而非减小 Td,以保留抗扰能力。
| Ti / s | Td / s | 最大跌落 | 恢复时间 | 恢复超调 | 结论 |
|---|---|---|---|---|---|
| 0.20 | 0.04 | 6.0% | 0.7 s | 4.2% | 超调超标 |
| 0.35 | 0.00 | 9.1% | 0.8 s | 1.5% | 跌落超标 |
| 0.35 | 0.04 | 6.5% | 0.9 s | 2.0% | 推荐 |
| 0.55 | 0.04 | 6.8% | 1.4 s | 0.8% | 恢复超时 |