4. 执行器系统与故障模式:无刷电机与螺旋桨模型、电调工作原理、执行器卡死/失效/部分失效模型
好,咱们进入第四讲。执行器系统,说白了就是无人机真正干活的部件——电机和螺旋桨。飞控算得再好,指令传不到电机上,或者电机响应不对,飞机照样炸。我见过太多案例,飞控日志里看着一切正常,结果飞机就是往下掉,最后查出来是电调出了问题。
这一章,咱们把执行器的底裤扒干净。从电机模型到电调原理,再到三种典型的故障模式,一个一个说清楚。
4.1 无刷电机与螺旋桨的数学模型
先看电机。多旋翼用的基本都是无刷直流电机(BLDC)。它的核心模型其实不复杂,我习惯用一个二阶系统来近似描述。
电机产生的拉力 T 和转矩 Q,与转速 ω 的关系如下:
T = k_t * ω²
Q = k_q * ω²
这里 k_t 是拉力系数,k_q 是转矩系数。这两个系数由螺旋桨的几何形状、直径、螺距决定。嗯,这里要注意:这两个系数不是常数,它们会随着空气密度变化。你从海平面飞到高原,同样的转速,拉力会下降不少。
电机本身的动态响应,我一般用一阶惯性环节来建模:
G(s) = 1 / (τ_m * s + 1)
τ_m 是电机的时间常数,通常在 0.01s 到 0.05s 之间。小电机响应快,大电机响应慢。我在项目中遇到过,有人用大疆 E5000 的电机做实验,时间常数接近 0.08s,结果飞控的 PID 参数没调好,电机响应跟不上控制指令,飞机一直在那里晃。
4.2 电调工作原理
电调(ESC),全称电子调速器。它的任务很简单:把飞控发来的 PWM 信号,转换成驱动电机旋转的三相交流电。
电调的工作流程大致是这样的:
- 接收信号: 飞控输出 PWM 信号,脉宽范围 1000μs - 2000μs。1000μs 对应电机停转,2000μs 对应满油门。
- 生成 PWM 波: 电调内部的 MCU 根据输入信号,生成六路 PWM 波,驱动六个 MOS 管。
- 换相控制: 通过检测反电动势,确定转子位置,按顺序导通 MOS 管,让电机转起来。
- 电流调节: 电调内部有电流采样电路,可以实现恒流控制,防止电机过载。
电调有一个关键参数——刷新频率。早期的电调刷新频率只有 50Hz,现在好一点的能到 500Hz 甚至 1kHz。刷新频率越高,飞控对电机的控制就越精细。我曾经用过一个老款电调,刷新频率只有 50Hz,飞控输出指令后,电机要等 20ms 才响应,那感觉就像开一辆方向盘有虚位的车,难受得很。
4.3 执行器故障模式
执行器故障,是无人机坠毁的头号杀手。我统计过自己经手的故障案例,大约 60% 的坠机都跟执行器有关。下面说三种最常见的故障模式。
4.3.1 卡死故障
卡死,就是电机完全转不动了。原因可能是轴承卡住、异物卡进螺旋桨、或者电机线圈烧毁导致短路。
卡死故障的数学模型很简单:
ω = 0
T = 0
Q = 0
电机转速直接归零,拉力和转矩全部消失。这时候飞控会怎么反应?它会拼命增加其他电机的输出,试图维持姿态。但问题是,一个电机完全失效,剩下的三个电机很难补偿。尤其是四旋翼,一个电机卡死,基本就是坠机。
我遇到过最离谱的一次,是用户飞着飞着,一个电机突然卡死。后来拆开一看,里面缠了一根风筝线。从那以后,我每次起飞前都会检查起降场地,确保没有杂物。
4.3.2 失效故障
失效,就是电机完全停止工作,但原因不是卡死,而是电气故障。比如电调烧毁、信号线断开、或者电池没电了。
失效故障的模型和卡死一样:
ω = 0
T = 0
Q = 0
但两者的区别在于:卡死时电机还有阻力矩,而失效时电机是自由旋转的。这个区别在仿真中很重要。卡死故障下,其他电机需要克服卡死电机的阻力;而失效故障下,其他电机只需要补偿缺失的拉力。
4.3.3 部分失效故障
部分失效,是最隐蔽、也最难诊断的故障。电机还能转,但输出能力下降了。原因可能是:
- 电机退磁:永磁体老化,导致扭矩下降
- 轴承磨损:摩擦力增大,效率降低
- 电调 MOS 管损坏:导致输出电流受限
- 螺旋桨破损:桨叶缺了一块,拉力下降
部分失效的数学模型,我习惯用一个失效因子 η 来表示:
T_actual = η * T_desired
Q_actual = η * Q_desired
其中 η 的取值范围是 0 到 1。η = 1 表示完全正常,η = 0 表示完全失效。实际中,η 可能在 0.6 到 0.9 之间。
部分失效最可怕的地方在于,飞控很难察觉。你想想看,飞控输出 50% 的油门,电机只产生了 40% 的拉力。飞控会以为是自己输出不够,继续增加油门。结果就是其他电机也跟着增加输出,整机功耗飙升,续航时间急剧缩短。
我曾经处理过一个案例,用户反映飞机续航从 20 分钟掉到了 12 分钟。查了半天,发现是其中一个电机的轴承磨损了,摩擦力增大导致效率下降。换了个轴承,续航就恢复了。所以,我建议你定期检查电机的转动是否顺滑,有没有异响。
| 故障类型 | 数学模型 | 典型原因 | 诊断难度 |
|---|---|---|---|
| 卡死 | ω = 0, T = 0 | 轴承卡住、异物卡入 | 低 |
| 失效 | ω = 0, T = 0 | 电调烧毁、信号断开 | 低 |
| 部分失效 | T_actual = η * T_desired | 退磁、磨损、桨叶破损 | 高 |
好了,这一章的内容就到这里。执行器模型和故障模式,是后续容错控制算法的基础。下一章,咱们会讲如何用飞控数据来诊断这些故障。到时候,我会分享一些我自己写的诊断算法代码。