写入了发弹检测模块,并为电流环控制

This commit is contained in:
lyf
2026-10-12 20:19:45 +08:00
parent 67eea77789
commit 4427157df7
14 changed files with 760 additions and 83 deletions
+7 -6
View File
@@ -4,13 +4,14 @@
/* 云台双轴控制(串级 PID)
* Yaw (2026-09 重写):双环都以陀螺仪为反馈——
* 位置环:QEKF 多圈 yaw(°) -> 目标角速度(°/s)
* 速度环:陀螺 z 轴角速度(°/s) -> GM6020 电压
* 速度环:陀螺 z 轴角速度(°/s) -> GM6020 电流(±16384)
* 装配符号由上电自检自动测定(gimbal_detect_yaw_sign),
* 两环共用同一符号,不可能再出现"两传感器符号打架"
* Pitch:位置环用 QEKF 的 Roll(安装方向所致,勿改),速度环转子转速
* 电机: Yaw=GM6020 CAN2 0x205(电压,0x1FF CAN2 槽1)
* Pitch=GM6020 CAN1 0x206(电压,与拨弹共帧 0x1FF CAN1 槽2/3,legacy 方案)
* 摩擦轮 M3508 0x201/0x202 与拨弹 M2006 0x207 的实例也在此初始化 */
* Pitch:位置环用 QEKF 的 Roll(安装方向所致,勿改),速度环转子转速 -> GM6020 电流(±16384)
* 电机: Yaw=GM6020 CAN2 0x205(电流控制, 0x1FE CAN2 槽1)
* Pitch=GM6020 CAN1 0x206(电流控制, 0x1FE CAN1 槽2)
* 拨弹=M2006 CAN2 0x201(电流控制, 0x200 CAN2 槽1)
* 摩擦轮 M3508 0x201/0x202 与拨弹 M2006 的实例也在此初始化 */
#include "dji_motor.h"
@@ -19,7 +20,7 @@ extern dji_motor_t motor_yaw_gimbal; // Yaw GM6020,CAN2 0x205
extern dji_motor_t motor_pitch_gimbal; // Pitch GM6020,CAN1 0x206
extern dji_motor_t motor_friction_l; // 左摩擦轮 M3508,CAN1 0x201
extern dji_motor_t motor_friction_r; // 右摩擦轮 M3508,CAN1 0x202
extern dji_motor_t motor_rammer; // 拨弹 M2006,CAN1 0x207
extern dji_motor_t motor_rammer; // 拨弹 M2006,CAN2 0x201
/* 初始化电机实例与 PID(can_start 之后调用) */
extern void gimbal_motor_init(void);