From 5a3ed507b2a9b4b2ec8b7d4e31f2397a5176528e Mon Sep 17 00:00:00 2001 From: Niklas Fauth Date: Mon, 9 Apr 2018 22:03:19 +0200 Subject: [PATCH] ADD: UVLO in config --- Inc/config.h | 14 +++++++++----- Src/main.c | 12 ++++++------ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Inc/config.h b/Inc/config.h index 3a7c5ec..821e917 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -12,16 +12,20 @@ // ################################################################################ -#define PWM_FREQ 16000 // PWM frequency in Hz -#define DEAD_TIME 32 // PWM deadtime +#define PWM_FREQ 16000 // PWM frequency in Hz +#define DEAD_TIME 32 // PWM deadtime #define DC_CUR_LIMIT 35 // Motor DC current limit in amps +#define BAT_LOW_LVL1 36.0 // gently beeps at this voltage level +#define BAT_LOW_LVL2 33.0 // your battery is almost empty. Charge now! +#define BAT_LOW_DEAD 30.0 // undervoltage lockout + // ################################################################################ #define DEBUG_SERIAL_USART2 //#define DEBUG_SERIAL_USART3 -#define DEBUG_BAUD 115200 // UART baud rate +#define DEBUG_BAUD 115200 // UART baud rate //#define DEBUG_SERIAL_SERVOTERM #define DEBUG_SERIAL_ASCII //#define DEBUG_I2C_LCD @@ -47,12 +51,12 @@ // ###### BOBBYCAR ###### // #define FILTER 0.1 -// #define SPEED_COEFFICIENT 1 +// #define SPEED_COEFFICIENT -1 // #define STEER_COEFFICIENT 0 // ###### ARMCHAIR ###### // #define FILTER 0.05 // #define SPEED_COEFFICIENT 0.5 -// #define STEER_COEFFICIENT 0.2 +// #define STEER_COEFFICIENT -0.2 // #define BEEPS_BACKWARD diff --git a/Src/main.c b/Src/main.c index 95ad668..a31d7da 100644 --- a/Src/main.c +++ b/Src/main.c @@ -123,8 +123,8 @@ int main(void) { #ifdef CONTROL_NUNCHUCK Nunchuck_Read(); - cmd1 = CLAMP((nunchuck_data[0] - 127) * 10, -1000, 1000); - cmd2 = CLAMP((nunchuck_data[1] - 127) * 10, -1000, 1000); + cmd1 = CLAMP((nunchuck_data[0] - 127) * 10, -1000, 1000); // y - axis. Nunchuck joystick readings range 30 - 230 + cmd2 = CLAMP((nunchuck_data[1] - 127) * 10, -1000, 1000); // x - axis //uint8_t button1 = (uint8_t)nunchuck_data[5] & 1; //uint8_t button2 = (uint8_t)(nunchuck_data[5] >> 1) & 1; @@ -138,7 +138,7 @@ int main(void) { #endif #ifdef CONTROL_ADC - cmd1 = CLAMP(adc_buffer.l_rx2 - 700, 0, 2350) / 2.35; + cmd1 = CLAMP(adc_buffer.l_rx2 - 700, 0, 2350) / 2.35; // ADC values range 0-4095, however full range of our poti only covers 650 - 3050 //uint8_t button1 = (uint8_t)(adc_buffer.l_tx2 > 2000); timeout = 0; @@ -185,13 +185,13 @@ int main(void) { while(1) {} } - if (batteryVoltage < 36.0 && batteryVoltage > 33.0) { + if (batteryVoltage < BAT_LOW_LVL1 && batteryVoltage > BAT_LOW_LVL2) { buzzerFreq = 5; buzzerPattern = 8; - } else if (batteryVoltage < 33.0 && batteryVoltage > 30.0) { + } else if (batteryVoltage < BAT_LOW_LVL2 && batteryVoltage > BAT_LOW_DEAD) { buzzerFreq = 5; buzzerPattern = 1; - } else if (batteryVoltage < 30.0) { + } else if (batteryVoltage < BAT_LOW_DEAD) { buzzerPattern = 0; enable = 0; for (int i = 0; i < 8; i++) {