4. 舵机静态与动态建模
舵机是飞控执行链路中最靠近气动舵面的环节,它的输入是飞控输出的舵面指令(通常为PWM占空比或总线位置指令),输出是舵面偏转角。若把舵机理想化为“输入多少、输出多少”的比例环节,在低频小幅机动时误差尚可接受,但在快速姿态修正、大机动或高频小幅抖动场景下,死区、饱和、迟滞和带宽限制会显著改变闭环特性。因此,舵机建模的核心任务不是写一个复杂公式,而是用可辨识的参数把上述非线性与动态特性描述清楚,使模型在飞控仿真、控制律整定和故障诊断中可用。
一、静态特性:死区、饱和与迟滞
静态特性描述的是输入缓慢变化时,输出与输入之间的稳态关系。最常用的表达是“输入指令—输出偏角”曲线。理想曲线是一条过原点、斜率为1的直线;实际舵机曲线则包含三个典型区域。
死区出现在指令绝对值很小的区间。由于减速齿轮间隙、电机启动死区、驱动死区或连杆间隙,当指令小于某个阈值时,舵面几乎不动。设输入为u、输出为y,死区可写为:当|u|≤D时,y=0;当|u|>D时,y=k(u−D·sign(u))。其中D为死区半宽,k为线性段斜率。死区会造成小信号增益为零,在控制回路中表现为小幅振荡或极限环。
饱和出现在指令超过最大行程时。舵面到达机械限位或软件限位后,输出不再随输入增大,即y=±Ymax。饱和使大指令下等效增益下降,严重时导致相位滞后和积分饱和。建模时需同时记录正向饱和点与负向饱和点,二者可能因机械安装不对称而不相等。
迟滞表现为上行曲线与下行曲线不重合,形成回环。其来源包括齿轮间隙、连杆间隙、摩擦和材料弹性。迟滞宽度H定义为同一输出下上行与下行输入之差的最大值。迟滞会引入相位滞后,并在小信号往复运动中造成“指令已反向、舵面尚未反向”的延迟。
静态辨识的典型做法是:以足够慢的速率(例如全行程扫描时间大于10s)给舵机输入三角波或慢速正弦,同步采集指令与舵面角度,绘制上行、下行两条曲线,从中读取D、k、Ymax和H。若没有角度传感器,可用舵机反馈电位器电压或编码器读数代替,但需先标定角度—电压关系。
二、动态特性:带宽与阶跃响应
动态特性描述输入快速变化时输出的跟随能力。工程上最常用两个指标:阶跃响应和带宽。
阶跃响应是在舵机输入端施加小幅阶跃指令(通常取全行程的5%~10%,避免进入饱和),记录输出随时间的变化。从响应曲线可提取上升时间tr(输出从10%到90%稳态值的时间)、超调量σ%、调节时间ts(进入并保持在±5%稳态值内的时间)和稳态误差。若响应呈明显一阶惯性,可用时间常数τ≈tr/2.2估算;若存在明显超调和振荡,则需用二阶模型描述,自然频率ωn和阻尼比ζ可由tr、σ%反推。
带宽是幅频特性下降至−3dB对应的频率,反映舵机跟踪正弦指令的能力。辨识方法是对舵机施加一系列不同频率的小幅正弦指令(幅值取全行程的5%左右,保证不饱和),测量输出与输入的幅值比和相位差,绘制Bode图。幅值比降到0.707处的频率即为带宽。带宽不足会直接限制飞控内环增益,使姿态回路在高频段相位裕度不足。
需要注意的是,带宽与阶跃响应并非独立:一阶系统带宽f_BW≈0.35/τ;二阶系统带宽与ωn、ζ相关。因此实际辨识中常先做阶跃响应快速估计,再用扫频确认带宽,两者互相校验。
三、参数辨识的实操流程与判据
把上述指标落到可执行的辨识流程,建议按“静态→动态→校验”的顺序推进。以下给出一个可直接参考的辨识步骤与记录表。
- 准备与标定。将舵机固定在刚性台架上,安装角度传感器(或读取舵机内置反馈)。先做角度标定:给舵机若干已知指令,记录传感器电压与角度,拟合出角度—电压直线,确认线性度优于2%。
- 静态扫描。输入慢速三角波,周期取20s,幅值覆盖全行程。采样率不低于100Hz。分别提取上行、下行曲线,读取死区半宽D、线性段斜率k、正负饱和点Ymax+、Ymax−和迟滞宽度H。
- 阶跃测试。输入幅值为全行程8%的阶跃,记录响应。若响应在0.15s内达到90%且超调小于10%,可近似为一阶惯性;若超调明显或出现振荡,按二阶模型处理。重复3次取平均,避免单次噪声。
- 扫频测试。输入幅值为全行程5%的正弦,频率从0.5Hz逐步升至舵机明显跟不上为止(例如0.5、1、2、4、8、12、16Hz)。每个频点稳定后记录幅值比和相位差,绘制Bode图,读取−3dB带宽。
- 模型校验。用辨识出的D、k、Ymax、H、τ(或ωn、ζ)搭建仿真模型,输入与实测相同的三角波和阶跃,比较输出曲线。若稳态误差小于3%、上升时间误差小于15%,可认为模型可用。
四、参数记录表示例
下表给出一个教学示例的参数记录格式。表中数值为合理假设的示例值,用于说明字段含义与量级,并非实测结果。
| 参数 | 符号 | 示例值 | 单位 | 辨识方法 |
|---|---|---|---|---|
| 死区半宽 | D | 0.8 | %行程 | 慢速三角波,读取输出不动区间 |
| 线性段斜率 | k | 0.98 | — | 线性段最小二乘拟合 |
| 正向饱和点 | Ymax+ | +45.0 | ° | 上行曲线拐点 |
| 负向饱和点 | Ymax− | −44.2 | ° | 下行曲线拐点 |
| 迟滞宽度 | H | 1.5 | %行程 | 上行与下行曲线最大间距 |
| 时间常数 | τ | 0.045 | s | 阶跃响应10%→90%时间/2.2 |
| 超调量 | σ% | 8 | % | 阶跃响应峰值 |
| −3dB带宽 | f_BW | 7.5 | Hz | 扫频幅值比降至0.707 |
五、从参数到飞控使用的注意点
辨识出参数后,建模时需注意三点。第一,死区和迟滞是非线性环节,不能简单用线性传递函数替代;在仿真中应作为查表或分段函数实现,否则小信号特性会失真。第二,饱和点必须与飞控输出限幅一致,若模型饱和点大于实际机械限位,仿真中会出现“指令未饱和但舵面已到限位”的错误。第三,带宽参数应取小幅扫频结果,因为大幅扫频会因饱和和速率限制使带宽偏低,不能代表小信号动态。
实际飞行中,若发现姿态回路在小幅高频指令下出现等幅振荡,优先怀疑死区与迟滞;若在大机动时出现响应变慢、相位滞后,优先怀疑饱和与带宽不足。把静态参数和动态参数分开记录、分开验证,才能让舵机模型真正服务于飞控设计与故障定位。