|
|
@@ -234,6 +234,9 @@ bool mot_contrl_update(mot_contrl_t *ctrl) {
|
|
|
}else {
|
|
|
foc->in.mot_angle = enc_angle;
|
|
|
}
|
|
|
+#ifdef CONFIG_DQ_STEP_RESPONSE
|
|
|
+ foc->in.mot_angle = 0;
|
|
|
+#endif
|
|
|
foc->in.mot_velocity = enc_vel;
|
|
|
foc->in.dc_vol = get_vbus_float();
|
|
|
foc->in.b_openloop = ctrl->mode_running == CTRL_MODE_OPEN;
|
|
|
@@ -246,9 +249,7 @@ bool mot_contrl_update(mot_contrl_t *ctrl) {
|
|
|
foc_update(foc);
|
|
|
|
|
|
float lowpass = foc->mot_vel_radusPers * FOC_CTRL_US * 2;
|
|
|
- if (lowpass > 1) {
|
|
|
- lowpass = 1;
|
|
|
- }
|
|
|
+ lowpass = fclamp(lowpass, 0.001f, 1.0f);
|
|
|
LowPass_Filter(ctrl->out_idq_filterd.d, foc->out.curr_dq.d ,lowpass);
|
|
|
LowPass_Filter(ctrl->out_idq_filterd.q, foc->out.curr_dq.q ,lowpass);
|
|
|
return true;
|