feat: add ESP32 BTS7960 motor controller with web interface

- Implement MotorController class with PWM speed control (0-100%)
- Add bidirectional control (forward/reverse) via LEDC PWM at 20kHz
- Include optional current sensing and stall detection
- Create responsive web UI with speed slider and direction buttons
- Configure WiFi with static IP (10.81.2.185)
- Use built-in WebServer library for ESP32 Arduino 3.x compatibility
This commit is contained in:
devdesk
2026-02-05 15:08:47 +02:00
commit 6ccbc7faf5
15 changed files with 646 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
# Code Mode Rules
## ESP32/PlatformIO Specifics
- Use `LEDC` peripheral for PWM on ESP32 (not analogWrite)
- BTS7960 PWM frequency: 1-25kHz optimal, 20kHz recommended to reduce motor noise
- Enable pins (R_EN, L_EN) must be HIGH before PWM signals work
- Current sense pins (R_IS, L_IS) output analog voltage proportional to motor current