Starting with acceleration and speed values based on those initial estimates, I hand-fed G-Code moves directly into the printer via pronsole while bouncing among these choices:
- Increase acceleration until motor stalls
- Decrease acceleration until motor starts
- Increase velocity until motor stalls
- Decrease velocity until motor runs
The X axis runs fine at 333 mm/s = 20 m/min with 20 m/s2 acceleration; that little motor isn’t an impediment at all. As expected, the Y axis can’t accelerate that hard; it eventually started at 10 m/s2 to run at 250 mm/s = 15 m/min. I set X = 15 m/s2 and Y = 5 m/s2, with different maximum speeds.
With those values in place, the printer can run the Smooth Axis Test at 250 mm/s, which is breathtaking and surprisingly noise-free: acceleration control eliminates the jarring start-stop motion. I modified Jackson’s G-Code to remove position testing, which uses codes that SJFW doesn’t implement.
It’s worth mentioning I haven’t adjusted the motor currents at all.
The Z axis can run at 2000 mm/min = 33 mm/s with acceleration around 1500 mm/s2. I backed that off to 1500 mm/min = 25 mm/s with 1000 mm/s2 acceleration. It’s noticeably faster than before, but that really doesn’t make much difference; there’s no point in replacing the stock MBI high-resistance / high-inductance motor.
The E axis seems to require setting its speed with a separate G1 Exxx command (which is how Skeinforge does it) to get consistent results, although I confess to not taking good notes. I disconnected the filament drive to run the motor / gears without a load, got a workable speed & acceleration combination, reconnected the drive, fired up the hot end, and squirted filament all over the place to get actual numbers. It turns out that the little stepper on the extruder can actually ram a few millimeters of filament into the hot end at 4000 mm/min = 66 mm/s, but with acceleration down at 250 mm/s2. That’s dramatically peppier than the previous pace, which should reduce the Reversal Zittage problem.
The resulting SJFW config file, with many unchanged default entries, will not work on a stock Thing-O-Matic:
; TOM286 with Z-min switch M402 ; Write this config to EEPROM M309 P1 S0 ; Endstops M300 X28 Y25 Z22 E15 ; STEP pins M301 X27 Y24 Z17 E14 ; DIR pins M302 X26 Y23 Z16 E3 ; ENABLE pins M304 X12 Y10 Z8 ; MIN pins M305 Z7 ; MAX pins M307 X1 Y1 Z0 E1 ; Axis Inversion M308 X0 Y0 Z0 E0 ; Disable After Move M200 X47.06985 Y47.06985 Z200 E48.30 ; Steps per MM M201 X1200 Y1200 Z1000 E60 ; Start Speed mm/min M202 X20000 Y15000 Z1500 E4000 ; Max speed mm/min M203 X1800 Y1800 Z1500 E90 ; Avg speed mm/min M206 X15000 Y5000 Z1000 E250 ; Acceleration mm/s^2 ;M220 X-52.5 Y-58.5 Z1.50 ; Home - min ;M221 Z117.2 ; Home - max ; LCD setup as per sjfw page on reprap wiki. M250 P47 ;set LCD RS pin M251 P43 ;set LCD RW pin M252 P41 ;set LCD E pin M253 S4 P39 ;set LCD Data 4 pin M253 S5 P37 ;set LCD Data 5 pin M253 S6 P35 ;set LCD Data 6 pin M253 S7 P33 ;set LCD Data 7 pin - always set last of all LCD pins OR ELSE! M255 S2 P48 ;set Keypad Col 3 pin M255 S1 P46 ;set Keypad Col 2 pin M254 S3 P42 ;set Keypad Row 4 pin M254 S2 P40 ;set Keypad Row 3 pin M254 S1 P38 ;set Keypad Row 2 pin M254 S0 P36 ;set Keypad Row 1 pin M255 S3 P34 ;set Keypad Col 4 pin M255 S0 P44 ;set Keypad Col 1 pin - always set last of all Keypad pins OR ELSE! M104 S0 ; Turn off hotend heat (Important with EC!) M140 S0 ; Turn off platform heat (Important with EC!) M350 P1 ; Enable lookahead ;M211 P5000 ; Report temperatures every 5 seconds M84 ; Disable all Motors M400 ; End EEPROM write
I haven’t connected an LCD or keyboard to the thing; for me, printing is fire-and-forget.