Add servo mode support for spindle PWM control

- Implemented USE_SPINDLE_SERVO_MODE configuration option
- Changed Timer2 prescaler from 1/8 to 1/1024 for ~50Hz servo frequency
- Added configurable servo pulse width range (SPINDLE_SERVO_MIN_PULSE/MAX_PULSE)
- M3 S0-S1000 now controls servo position (0-180 degrees)
- M5 positions servo to maximum position (pen up) instead of disabling PWM
- Default configuration supports pen plotter with reversed pulse values (MIN=31, MAX=16)
- Only supports ATmega328p (Arduino Uno) processors

Based on: https://www.buildlog.net/blog/2017/08/using-grbls-spindle-pwm-to-control-a-servo/
This commit is contained in:
devdesk
2025-12-03 19:08:46 +02:00
parent 9180094b72
commit eddba72e23
5 changed files with 216 additions and 41 deletions

3
.gitignore vendored
View File

@@ -3,5 +3,6 @@
*.elf
*.DS_Store
*.d
.pio/
.vscode/
README.md