mirror of
https://gitee.com/dlmu-cone/half-steering-basic-framework
synced 2026-10-23 17:42:20 +08:00
待测版本(ID修改完成)
This commit is contained in:
@@ -66,7 +66,7 @@ void GimbalInit()
|
|||||||
Motor_Init_Config_s pitch_config = {
|
Motor_Init_Config_s pitch_config = {
|
||||||
.can_init_config = {
|
.can_init_config = {
|
||||||
.can_handle = &hcan2,
|
.can_handle = &hcan2,
|
||||||
.tx_id = 4,
|
.tx_id = 4,//2
|
||||||
},
|
},
|
||||||
.controller_param_init_config = {
|
.controller_param_init_config = {
|
||||||
.angle_PID = {
|
.angle_PID = {
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ void ShootInit()
|
|||||||
.motor_reverse_flag = MOTOR_DIRECTION_NORMAL,
|
.motor_reverse_flag = MOTOR_DIRECTION_NORMAL,
|
||||||
},
|
},
|
||||||
.motor_type = M3508};
|
.motor_type = M3508};
|
||||||
friction_config.can_init_config.tx_id = 1,
|
friction_config.can_init_config.tx_id = 5,
|
||||||
friction_l = DJIMotorInit(&friction_config);
|
friction_l = DJIMotorInit(&friction_config);
|
||||||
|
|
||||||
friction_config.can_init_config.tx_id = 2; // 右摩擦轮,改txid和方向就行
|
friction_config.can_init_config.tx_id = 8; // 右摩擦轮,改txid和方向就行
|
||||||
friction_config.controller_setting_init_config.motor_reverse_flag = MOTOR_DIRECTION_REVERSE;
|
friction_config.controller_setting_init_config.motor_reverse_flag = MOTOR_DIRECTION_REVERSE;
|
||||||
friction_r = DJIMotorInit(&friction_config);
|
friction_r = DJIMotorInit(&friction_config);
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ void ShootInit()
|
|||||||
Motor_Init_Config_s loader_config = {
|
Motor_Init_Config_s loader_config = {
|
||||||
.can_init_config = {
|
.can_init_config = {
|
||||||
.can_handle = &hcan2,
|
.can_handle = &hcan2,
|
||||||
.tx_id = 5,
|
.tx_id = 7,
|
||||||
},
|
},
|
||||||
.controller_param_init_config = {
|
.controller_param_init_config = {
|
||||||
.angle_PID = {
|
.angle_PID = {
|
||||||
@@ -96,7 +96,7 @@ void ShootInit()
|
|||||||
.close_loop_type = CURRENT_LOOP | SPEED_LOOP,
|
.close_loop_type = CURRENT_LOOP | SPEED_LOOP,
|
||||||
.motor_reverse_flag = MOTOR_DIRECTION_NORMAL, // 注意方向设置为拨盘的拨出的击发方向
|
.motor_reverse_flag = MOTOR_DIRECTION_NORMAL, // 注意方向设置为拨盘的拨出的击发方向
|
||||||
},
|
},
|
||||||
.motor_type = M3508 // 英雄使用m3508
|
.motor_type = M2006 // 英雄使用m3508
|
||||||
};
|
};
|
||||||
loader = DJIMotorInit(&loader_config);
|
loader = DJIMotorInit(&loader_config);
|
||||||
|
|
||||||
|
|||||||
@@ -61,10 +61,10 @@ static void f_Integral_Limit(PIDInstance *pid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 微分先行(仅使用反馈值而不计参考输入的微分)
|
// 微分先行(仅使用反馈值而不计参考输入的微分)
|
||||||
static void f_Derivative_On_Measurement(PIDInstance *pid)
|
// static void f_Derivative_On_Measurement(PIDInstance *pid)
|
||||||
{
|
// {
|
||||||
pid->Dout = pid->Kd * (pid->Last_Measure - pid->Measure) / pid->dt;
|
// pid->Dout = pid->Kd * (pid->Last_Measure - pid->Measure) / pid->dt;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 微分滤波(采集微分时,滤除高频噪声)
|
// 微分滤波(采集微分时,滤除高频噪声)
|
||||||
static void f_Derivative_Filter(PIDInstance *pid)
|
static void f_Derivative_Filter(PIDInstance *pid)
|
||||||
@@ -172,8 +172,8 @@ float PIDCalculate(PIDInstance *pid, float measure, float ref)
|
|||||||
if (pid->Improve & PID_ChangingIntegrationRate)
|
if (pid->Improve & PID_ChangingIntegrationRate)
|
||||||
f_Changing_Integration_Rate(pid);
|
f_Changing_Integration_Rate(pid);
|
||||||
// 微分先行
|
// 微分先行
|
||||||
if (pid->Improve & PID_Derivative_On_Measurement)
|
// if (pid->Improve & PID_Derivative_On_Measurement)
|
||||||
f_Derivative_On_Measurement(pid);
|
// f_Derivative_On_Measurement(pid);
|
||||||
// 微分滤波器
|
// 微分滤波器
|
||||||
if (pid->Improve & PID_DerivativeFilter)
|
if (pid->Improve & PID_DerivativeFilter)
|
||||||
f_Derivative_Filter(pid);
|
f_Derivative_Filter(pid);
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ static void sbus_to_rc(const uint8_t *sbus_buf)
|
|||||||
rc_ctrl[TEMP].rc.rocker_l_ = (((sbus_buf[2] >> 6) | (sbus_buf[3] << 2) | (sbus_buf[4] << 10)) & 0x07ff) - RC_CH_VALUE_OFFSET; //!< Channel 2
|
rc_ctrl[TEMP].rc.rocker_l_ = (((sbus_buf[2] >> 6) | (sbus_buf[3] << 2) | (sbus_buf[4] << 10)) & 0x07ff) - RC_CH_VALUE_OFFSET; //!< Channel 2
|
||||||
rc_ctrl[TEMP].rc.rocker_l1 = (((sbus_buf[4] >> 1) | (sbus_buf[5] << 7)) & 0x07ff) - RC_CH_VALUE_OFFSET; //!< Channel 3
|
rc_ctrl[TEMP].rc.rocker_l1 = (((sbus_buf[4] >> 1) | (sbus_buf[5] << 7)) & 0x07ff) - RC_CH_VALUE_OFFSET; //!< Channel 3
|
||||||
rc_ctrl[TEMP].rc.dial = ((sbus_buf[16] | (sbus_buf[17] << 8)) & 0x07FF) - RC_CH_VALUE_OFFSET;
|
rc_ctrl[TEMP].rc.dial = ((sbus_buf[16] | (sbus_buf[17] << 8)) & 0x07FF) - RC_CH_VALUE_OFFSET;
|
||||||
rc_ctrl[TEMP].rc.rocker_l_= rc_ctrl[TEMP].rc.rocker_l_;
|
rc_ctrl[TEMP].rc.rocker_l_= rc_ctrl[TEMP].rc.rocker_l_+30;
|
||||||
// 左侧拨轮
|
// 左侧拨轮
|
||||||
RectifyRCjoystick();
|
RectifyRCjoystick();
|
||||||
// 开关,0左1右
|
// 开关,0左1右
|
||||||
|
|||||||
Reference in New Issue
Block a user