追溯电机控制--pwm输出
正常工作状态下pwm输出过程简述:
- 姿态解算部分得出姿态控制量
- 通过px4io.cpp把姿态控制量发送给IO
- IO串口读取姿态控制量
- 调用systemlib部分进行mix,将姿态控制量转化为电机控制量
- 在mixer_tick()中将电机控制量转化为pwm控制量并调用up_pwm_servo_set()设置pwm寄存器
- pwm输出
如图:
大致就是这样,或许会有些许遗漏,不排除有错误,因为这是通过代码分析得出的,没有经过实验验证。
其他状态下pwm输出:
其他状态比如disarmed 和failsafe等,我还没有梳理,应该会比较简单就能梳理出来,这些都属于特殊状态,不会有这么复杂的控制流。如果有必要再说。