|
|
@@ -206,9 +206,9 @@ void mc_conf_default(void) {
|
|
|
conf.c.thro_dec_time = CONFIG_Foc_ThroDecTime;
|
|
|
conf.c.max_autohold_torque = CONFIG_Foc_MaxAutoHoldTorque;
|
|
|
|
|
|
- conf.c.pid[PID_IQ_ID].kp = (float)conf.c.dq_loop_bandwith * 2.0f * 3.14f * conf.m.ld;
|
|
|
- conf.c.pid[PID_IQ_ID].ki = conf.m.rs / conf.m.ld;
|
|
|
- conf.c.pid[PID_IQ_ID].kd = 0;
|
|
|
+ conf.c.pid[PID_ID_ID].kp = (float)conf.c.dq_loop_bandwith * 2.0f * 3.14f * conf.m.ld;
|
|
|
+ conf.c.pid[PID_ID_ID].ki = conf.m.rs / conf.m.ld;
|
|
|
+ conf.c.pid[PID_ID_ID].kd = 0;
|
|
|
|
|
|
conf.c.pid[PID_IQ_ID].kp = (float)conf.c.dq_loop_bandwith * 2.0f * 3.14f * conf.m.lq;
|
|
|
conf.c.pid[PID_IQ_ID].ki = conf.m.rs / conf.m.lq;
|
|
|
@@ -277,7 +277,7 @@ void mc_conf_init(void) {
|
|
|
mc_conf_default();
|
|
|
mc_conf_save();
|
|
|
}
|
|
|
- sys_debug("mc conf size %d\n", sizeof(mc_config));
|
|
|
+ sys_debug("mc conf band %d, pid: %f, %f, %f, %f\n", conf.c.dq_loop_bandwith, conf.c.pid[PID_ID_ID].kp, conf.c.pid[PID_ID_ID].ki, conf.c.pid[PID_IQ_ID].kp, conf.c.pid[PID_IQ_ID].ki);
|
|
|
}
|
|
|
|
|
|
int mc_conf_decode_motor(u8 *buff) {
|
|
|
@@ -350,14 +350,23 @@ int mc_conf_decode_controler(u8 *buff) {
|
|
|
conf.c.dq_loop_bandwith = decode_s16(buff);buff += 2;
|
|
|
conf.c.thro_start_vol = decode_float(buff);buff += 4;
|
|
|
conf.c.thro_end_vol = decode_float(buff);buff += 4;
|
|
|
- conf.c.thro_max_vol = decode_float(buff);buff += 4;
|
|
|
conf.c.thro_min_vol = decode_float(buff);buff += 4;
|
|
|
+ conf.c.thro_max_vol = decode_float(buff);buff += 4;
|
|
|
conf.c.thro_dec_time = decode_u16(buff);buff += 2;
|
|
|
conf.c.max_torque = min(conf.c.max_torque, conf.m.max_torque);
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_VelLim_ID], buff);
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_Vel_ID], buff);
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_AutoHold_ID], buff);
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_IDCLim_ID], buff);
|
|
|
+
|
|
|
+ conf.c.pid[PID_ID_ID].kp = (float)conf.c.dq_loop_bandwith * 2.0f * 3.14f * conf.m.ld;
|
|
|
+ conf.c.pid[PID_ID_ID].ki = conf.m.rs / conf.m.ld;
|
|
|
+ conf.c.pid[PID_ID_ID].kd = 0;
|
|
|
+
|
|
|
+ conf.c.pid[PID_IQ_ID].kp = (float)conf.c.dq_loop_bandwith * 2.0f * 3.14f * conf.m.lq;
|
|
|
+ conf.c.pid[PID_IQ_ID].ki = conf.m.rs / conf.m.lq;
|
|
|
+ conf.c.pid[PID_IQ_ID].kd = 0;
|
|
|
+
|
|
|
return buff - ori;
|
|
|
}
|
|
|
|
|
|
@@ -378,8 +387,8 @@ int mc_conf_encode_controler(u8 *buff) {
|
|
|
encode_s16(buff, conf.c.dq_loop_bandwith);buff += 2;
|
|
|
encode_float(buff, conf.c.thro_start_vol);buff += 4;
|
|
|
encode_float(buff, conf.c.thro_end_vol);buff += 4;
|
|
|
- encode_float(buff, conf.c.thro_max_vol);buff += 4;
|
|
|
encode_float(buff, conf.c.thro_min_vol);buff += 4;
|
|
|
+ encode_float(buff, conf.c.thro_max_vol);buff += 4;
|
|
|
encode_u16(buff, conf.c.thro_dec_time);buff += 2;
|
|
|
buff += mc_conf_encode_pid(&conf.c.pid[PID_VelLim_ID], buff);
|
|
|
buff += mc_conf_encode_pid(&conf.c.pid[PID_Vel_ID], buff);
|