mirror of
https://gitee.com/dlmu-cone/half-steering-basic-framework
synced 2026-10-24 01:52:20 +08:00
功率,热量
This commit is contained in:
@@ -249,7 +249,7 @@ static void MouseKeySet()
|
||||
chassis_cmd_send.vy = rc_data[TEMP].key[KEY_PRESS].w * 40 - rc_data[TEMP].key[KEY_PRESS].s * 40; // a向左,d向右
|
||||
|
||||
gimbal_cmd_send.yaw += (float)rc_data[TEMP].mouse.x / 660 * 10; // 系数待测
|
||||
gimbal_cmd_send.pitch += (float)rc_data[TEMP].mouse.y / 660 * 10;
|
||||
gimbal_cmd_send.pitch += (float)rc_data[TEMP].mouse.y / 660 * 8;
|
||||
|
||||
// 云台软件限位
|
||||
if (gimbal_cmd_send.pitch > PITCH_MAX_ANGLE)
|
||||
|
||||
@@ -70,18 +70,43 @@ void GimbalInit()
|
||||
.can_handle = &hcan2,
|
||||
.tx_id = 2,//2
|
||||
},
|
||||
// .controller_param_init_config = {
|
||||
// .angle_PID = {
|
||||
// .Kp = 40, // 10
|
||||
// .Ki = 0,
|
||||
// .Kd = 0,
|
||||
// .MaxOut = 1000,
|
||||
// },
|
||||
// .speed_PID = {
|
||||
// .Kp = 60, // 50
|
||||
// .Ki = 15, // 350
|
||||
// .Kd = 0.6, // 0
|
||||
// .MaxOut = 20000,//20000
|
||||
// },
|
||||
.controller_param_init_config = {
|
||||
.angle_PID = {
|
||||
.Kp = 40, // 10
|
||||
.Ki = 0,
|
||||
.Kd = 0,
|
||||
.MaxOut = 1000,
|
||||
.Kp = 0.75, //0.55
|
||||
.Ki = 0.05,//0.05
|
||||
.Kd = 0.02,//0.02
|
||||
.CoefA =0.5,//0.5
|
||||
.CoefB = 0.6,//0.6
|
||||
.Output_LPF_RC = 0.01,
|
||||
.DeadBand = 0.005,//0.02
|
||||
.Derivative_LPF_RC=0.01,//0.008
|
||||
.Improve = PID_Trapezoid_Intergral |PID_ChangingIntegrationRate| PID_Integral_Limit |PID_Derivative_On_Measurement | PID_OutputFilter |PID_DerivativeFilter,
|
||||
.IntegralLimit = 1,
|
||||
.MaxOut = 600,
|
||||
},
|
||||
.speed_PID = {
|
||||
.Kp = 60, // 50
|
||||
.Ki = 15, // 350
|
||||
.Kd = 0.6, // 0
|
||||
.MaxOut = 20000,//20000
|
||||
.Kp = 500,//22000
|
||||
.Ki = 0,//
|
||||
.Kd =0.0005,
|
||||
// .CoefA = 0.8,
|
||||
// .CoefB = 0.1,
|
||||
.Output_LPF_RC = 0.002,//0.002
|
||||
.Improve = PID_Trapezoid_Intergral |PID_Integral_Limit |PID_Derivative_On_Measurement | PID_OutputFilter,
|
||||
.IntegralLimit = 5000,
|
||||
.MaxOut = 20000,
|
||||
},
|
||||
.other_angle_feedback_ptr = &gimba_IMU_data->Pitch,
|
||||
// 还需要增加角速度额外反馈指针,注意方向,ins_task.md中有c板的bodyframe坐标系说明
|
||||
@@ -96,6 +121,7 @@ void GimbalInit()
|
||||
// .close_loop_type = SPEED_LOOP,
|
||||
.motor_reverse_flag = MOTOR_DIRECTION_NORMAL,
|
||||
},
|
||||
|
||||
.motor_type = GM6020,
|
||||
};
|
||||
// 电机对total_angle闭环,上电时为零,会保持静止,收到遥控器数据再动
|
||||
|
||||
@@ -163,7 +163,7 @@ void ShootTask()
|
||||
case LOAD_1_BULLET:
|
||||
DJIMotorOuterLoop(loader, ANGLE_LOOP);// 切换到角度环
|
||||
static float target_angle = -1900;
|
||||
target_angle += 51*36;
|
||||
target_angle += 51.2*36;
|
||||
//float target_angle = loader->measure.total_angle + 51*36;
|
||||
DJIMotorSetRef(loader, target_angle);
|
||||
hibernate_time = DWT_GetTimeline_ms(); // 记录触发指令的时间
|
||||
@@ -176,9 +176,9 @@ void ShootTask()
|
||||
// hibernate_time = DWT_GetTimeline_ms(); // 记录触发指令的时间
|
||||
// dead_time = 300; // 完成3发弹丸发射的时间
|
||||
// break;
|
||||
DJIMotorOuterLoop(loader, ANGLE_LOOP);// 切换到角度环
|
||||
DJIMotorOuterLoop(loader, ANGLE_LOOP);// 切换到角度环.
|
||||
//static float target_angle = -1872;
|
||||
target_angle += (51*36)*3;
|
||||
target_angle += (51.2*36)*3;
|
||||
//float target_angle = loader->measure.total_angle + 51*36;
|
||||
DJIMotorSetRef(loader, target_angle);
|
||||
hibernate_time = DWT_GetTimeline_ms(); // 记录触发指令的时间
|
||||
|
||||
Reference in New Issue
Block a user