Files
walker_control/include/config.h
devdesk 7a6617f9c0 Add stall-based pingpong return mode and calibration improvements
- Add MIN_PWM_PERCENT (20%) to ensure motor starts reliably
- Add CURRENT_CALIBRATION factor (0.33) for accurate current readings
- Add stall-based return option for pingpong mode (returns on stall instead of time)
- Update stall detection: 7A threshold, 1000ms confirm time
- Add DISABLE_STALL_DETECT config option
- Keep last speed setting when motor stops (UI improvement)
- Update webserver UI with 'Return on stall only' checkbox
2026-02-05 17:50:22 +02:00

46 lines
1.7 KiB
C

#ifndef CONFIG_H
#define CONFIG_H
// WiFi Configuration
#define WIFI_SSID "tami"
#define WIFI_PASSWORD ""
// Static IP Configuration
#define STATIC_IP IPAddress(10, 81, 2, 185)
#define GATEWAY IPAddress(10, 81, 2, 1)
#define SUBNET IPAddress(255, 255, 255, 0)
#define DNS IPAddress(10, 81, 2, 1)
// BTS7960 Pin Definitions
#define RPWM_PIN 25 // Right PWM (Forward)
#define LPWM_PIN 26 // Left PWM (Reverse)
#define R_EN_PIN 27 // Right Enable
#define L_EN_PIN 14 // Left Enable
#define R_IS_PIN 34 // Right Current Sense (ADC input only)
#define L_IS_PIN 35 // Left Current Sense (ADC input only)
// PWM Configuration
#define PWM_FREQ 20000 // 20kHz - reduces motor noise
#define PWM_RESOLUTION 8 // 8-bit resolution (0-255)
#define PWM_CHANNEL_R 0 // LEDC channel for RPWM
#define PWM_CHANNEL_L 1 // LEDC channel for LPWM
#define MIN_PWM_PERCENT 20 // Minimum PWM when motor is running (%)
// Current Sense Configuration
// BTS7960 current sense ratio: 8500:1 (kilo-amps)
// With 1kΩ resistor on IS pin: V = I_motor / 8500
// ESP32 ADC: 12-bit (0-4095), 0-3.3V
#define CURRENT_SENSE_RATIO 8500.0f // Amps to sense current ratio
#define SENSE_RESISTOR 1000.0f // 1kΩ sense resistor (ohms)
#define ADC_MAX 4095.0f // 12-bit ADC max value
#define ADC_VREF 3.3f // ADC reference voltage
#define CURRENT_CALIBRATION 0.33f // Calibration factor (measured current / reported current)
#define STALL_CURRENT_THRESHOLD 7.0f // Current (amps) that indicates stall
#define STALL_DETECT_TIME_MS 1000 // Time to confirm stall (ms) - accounts for startup inrush
#define DISABLE_STALL_DETECT false // Set to true to disable stall detection
// Web Server
#define HTTP_PORT 80
#endif