转速模式增加馈电PID

This commit is contained in:
2025-07-23 11:46:22 +08:00
parent cdc62d856d
commit 9a98344f85
4 changed files with 232 additions and 343 deletions

View File

@@ -11,8 +11,8 @@ extern "C"
#define SPEED_FITER_NUM 6
#define SPEED_PID_MODE 0
#define THROTTLE_PID_MODE 1
#define SPEED_PID_MODE 1
#define THROTTLE_PID_MODE 0
#define TURN_MIN_TOUQUE 1 //n*m
@@ -23,9 +23,8 @@ extern "C"
#define TORQUE_HYSTERESIS_THRESHOLD 0.3f
#define MOTOR_MODE TORQUE_MODE
#define MOTOR_MODE SPEED_MODE
#define ALPHA 0.1f // 滤波系数α∈[0.01,0.3]0.2对应截止频率约10Hz假设采样周期10ms
#define LOWPASS_FILTER(speed, prev) (ALPHA * (speed) + (1 - ALPHA) * (prev))
@@ -71,15 +70,13 @@ typedef struct DiffData
float out_left_motor_speed; // 输出左电机速度
float out_right_motor_speed; // 输出右电机速度
float out_torq[4]; //4个电机扭矩
float max_Torq; // 最大扭矩限制
float min_Torq; // 最小扭矩限制
float left_speed_diff; // 左侧转速差
float right_speed_diff; // 右侧转速差
float left_diff_touue; // 左侧扭矩差
float right_diff_touue; // 右侧扭矩差
float diff_dead_zone; // 差速速度死区
float max_Torq; // 最大扭矩限制
float min_Torq; // 最小扭矩限制
uint16_t left_motor_feed_power; // 左侧馈电功率
uint16_t right_motor_feed_power; // 右侧馈电功率
uint8_t left_motor_state; //左侧电机状态1刹车0停下或加速 2驻车
uint8_t right_motor_state; //右侧电机状态1刹车0停下或加速
uint16_t max_feed_power; //最大馈电功率
} DiffData;