SJFW: Initial EEPROM Configuration File

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.

3 thoughts on “SJFW: Initial EEPROM Configuration File

  1. I’m confused about your units here, particularly “333 mm/s = 20 m/s with 20 m/s^2” for the X axis — you’re not *really* pulling 2g, are you? And 333mm/s sure isn’t 20m/s, and 20m/s would be insane… I think?

    1. And 333mm/s sure isn’t 20m/s

      Two typos: 333 mm/s = 20 m/min and 250 mm/s = 15 m/min. Thanks for the catch!

      you’re not *really* pulling 2g, are you?

      Aye-up, that lil’ puppy sure can scoot, eh?

      Given decent steppers with acceleration limiting, this Thing-O-Matic performs about like I expected it to, oh, call it a year ago. [grin]

Comments are closed.