Motion System
Motion System Performance Comparison
Pulley | Mech. Setup | Controller | theor. resolution [mm] | max. speed of motor [mm/min] | Tested acceleration in y-direction [mm/s²] | Tested speed [mm/min] | Evaluation |
---|---|---|---|---|---|---|---|
50 teeth GT2 | dual shaft y axis | GRBL | 0,03125 (16x microstep) | 70517 x/y-motor same | 3500 (with 2 motors on y) | 50.000 working | Accuracy not sufficient. Jumping on fiducials, not dialing in |
20 teeth GT2 | GRBL | 0,0125 (16x microstep) | 28207 x-motor 40743 y-motor | 2000 (with 1 dualshaft motor on y) | 30.000 working | slower, but very accurate | |
Marlin 1.0@Arduino Mega | switched to marlin for soft endstops and to have 5 stepper driver on ramps avail | ||||||
Marlin 2.0@Arduino Due (disabled the S-Curve-Acceleration feature due to lost steps) | 2000 (with 1 dualshaft motor on y) 5000 on x is no problem | 48.000 on y-axis 60.000 on x-axis is no problem | can't go for higher speed since acceleration is limited, since the stepper driver for y-axis is at its limit (a4988) | ||||
switched in 10-2018 to two separate stepper-motors on y axis and use the dual stepper feature in marlin to align y-axis by means of two endstops on y | 28207 x/y-motor same 40743 y-motor | 3.200 reliable on y-axis (2 motors) | 48.000 reliable on y-axis (2 motors) |
- Step-Rates: GRBL @ 30kHz, Smoothieware @ 100kHz, Marlin @ 10kHz (base) up to 40kHz (quadstep-mode, automatically used on demand) but uneven step distribution
Motion Controller 2.0
- Arduino Due + RADDS 1.6@24V
- 16x microstepping
Firmware: Marlin 2.x
For reference see the machine specific Marlin 2.0-bugfix settings here and look through the commits: https://github.com/mgrl/Marlin2OnRaddsForOpenPnP
Setup Marlin 2.0
- use M206 Z-0.25 to set the home-offset in z-direction to align the left/right nozzle (save to EEPROM afterwards by issuing M500)
- use M666 Y-2.0 to align the x-axis by the two y-axis motors. Alignment is done by two endstops in y-direction mounted near x-min and x-max (https://github.com/MarlinFirmware/Marlin/issues/5881)
Motion Controller 1.0
- Arduino Mega + Ramps 1.4@24V in a kit from Amazon
- 16x microstepping
Firmware: Marlin 1.x
- Changed the default heater pins to an unused pin to make use of the mosfets for switching with M42 command (see https://github.com/MarlinFirmware/Marlin/issues/6169)
- MIN_STEPS_PER_SEGMENT 0, to make *really* all the small moves, don't join steps to next move