diff --git a/main/control/DCMotorActuator.cpp b/main/control/DCMotorActuator.cpp index a2789fc..9edc7fd 100644 --- a/main/control/DCMotorActuator.cpp +++ b/main/control/DCMotorActuator.cpp @@ -13,14 +13,14 @@ #define HIGH_DUTY 1000 #define FWD_CHANNEL LEDC_CHANNEL_1 #define REV_CHANNEL LEDC_CHANNEL_0 -#define DEADZONE 0.1 +#define DEADZONE 0.5 #define KP 0.07 #define KI 0 #define KD 0.065 #define MIN_PWM_DUTY 675 #define MAX_PWM_DUTY 1024 #define TICKS_PER_ROTATION 14.0 -#define GEAR_RATIO 298.0 +#define GEAR_RATIO 210 DCMotorActuator::DCMotorActuator() { ledc_timer_config_t ledc_timer = { @@ -139,16 +139,16 @@ void DCMotorActuator::pid_task(char *args) { } if (control > 0) { - ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, FWD_CHANNEL, 0)); + ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, FWD_CHANNEL, pwm)); ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, FWD_CHANNEL)); - ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, REV_CHANNEL, pwm)); - ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, REV_CHANNEL)); - } else { ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, REV_CHANNEL, 0)); ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, REV_CHANNEL)); + } else { + ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, REV_CHANNEL, pwm)); + ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, REV_CHANNEL)); - ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, FWD_CHANNEL, pwm)); + ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, FWD_CHANNEL, 0)); ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, FWD_CHANNEL)); }