====== 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) | [[http://topcnc.ru/StepperMotorCalculator.html#L=6.5,R=2.7,I=1,A=1.8,lng=1,U=24,W=1,D=100|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) | [[http://topcnc.ru/StepperMotorCalculator.html#L=6.5,R=2.7,I=1,A=1.8,lng=1,U=24,W=1,D=40|28207 x-motor]] [[http://topcnc.ru/StepperMotorCalculator.html#L=1.8,R=1.2,I=2.5,A=1.8,lng=1,U=24,W=1,D=40|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 | ::: | ::: | [[http://topcnc.ru/StepperMotorCalculator.html#L=6.5,R=2.7,I=1,A=1.8,lng=1,U=24,W=1,D=40|28207 x/y-motor same]] [[http://topcnc.ru/StepperMotorCalculator.html#L=1.8,R=1.2,I=2.5,A=1.8,lng=1,U=24,W=1,D=40|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 * http://reprap.org/wiki/Step_rates/de ===== 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 [[https://www.amazon.de/gp/product/B06XPST1SY/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1|Amazon]] * [[https://github.com/mgrl/MarlinOnRamps4OpenPnP|Marlin configuration optimized for OpenPnP]] * 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