In earlier iterations of this pen plotter, a simple servo motor was used to actuate movement. While low on pin usage and simple to wire, cheap micro-servos frequently suffered from inconsistent movement due to deadband and requiring a relatively high PWM jump to start moving. This reduced overall precision and drawing stability.
2. Upgrading to 28BYJ-48 Stepper & Limit Switch CalibrationTo solve the jitter and resolution issues, the actuator was replaced with an inexpensive 28BYJ-48 5V stepper motor.
- Software Step Control: Instead of sending target PWM angles, the Arduino firmware was rewritten to send discrete step pulses via a stepper driver.
- Auto-Homing Routine: Because stepper motors lack absolute position feedback at boot, a limit switch was integrated. On startup, the machine executes an automatic homing sequence toward the switch to establish its zero-point reference reliably every time.
A five-bar parallel linkage mechanism was selected over a SCARA configuration to minimize weight at the pen holder and achieve smoother motion. Testing multiple arm lengths revealed that shorter arms significantly reduced flex and provided better drawing stability.
4. Software & G-Code Updates- The Arduino firmware control loops were rewritten from scratch for stepper pulse generation.
- The G-code sender was updated to remove the servo skip threshold, unlocking finer movement detail and higher drawing resolution.
- Backlash Reduction: The primary remaining issue is mechanical backlash in the gear train and joints when reversing directions.
- Future Iterations: Evaluating whether to introduce anti-backlash mechanical compensation on the 28BYJ-48 setup or redesign the chassis to support NEMA 17 stepper motors while maintaining a low build cost.
project files : https://www.patreon.com/dsnIndustries/posts/pen-plotter-dev-167101729


_ztBMuBhMHo.jpg?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)










Comments