BMG clone extruder settings E3D toolchanger prototype.



  • Hello,

    I've recently been designing and prototyping BMG clone type direct drive extruders for my E3D toolchanger and have some questions regarding typical settngs and tuning for similar extruders.

    My design was absed on a GrabCAD model of a dual geared Prusa type extruder: https://grabcad.com/library/prusa-mk3-bt-1-8-bmg-extruder-v2-1 Ihave changed about 99% of the extruder: but at first retained the geometry around the gears and filament feed/dispense section.

    After a few iterations I was still getting some issues with extrusion after areas wher the pressure advance had made the extruder rapidly move back and forth, after areas of small infill or where the extruder position made higher speed changes. I adjusted the geometry to closer match my original BMG; where the driven gear is offset slightly from the concentricity of the filament path. This reduces friction and makes the spring tension on the passive gear 'do the work'. I also reduced the friction in the long feed tube (moving to 2.5mm ID 4mm OD PTFE tube asap).

    Few photos for interest:

    alt text

    alt text

    alt text

    YES: That's a beard hair!!

    alt text

    You can see here the artifacts I am talking about: The left benchy, with the instantaneous speed change setting at 600 mm/min has missing extrusion after the wall on the bow. Reducing this to 200 mm/min all but totally prevents this. Am I on the right track reducing this 'jerk'(?) the correct way to tune this out: and is there a methodology for calibrating the best settings for these parameters? I tune the pressure advance using the very handy python script posted elsewhere on this forum.

    Thank you for any help: getting these extruders right will allow me (and others) to use the bowden parts and some cheap gears to upgrade to direct drive on these machines (I REALLY didn't get on with the long bowdens and Titans extruders!).

    Kind regards,

    Jai Stanley



  • Can you post your config.g so I can see all of your speed/jerk, etc settings together?

    What slicer are you using? Do you have retraction tuned? Are you retracting on travels?



  • Apologies: I must have missed your message.

    Config.g for you to peruse:

    ; Configurat; Configuration file for Duet WiFi / Ethernet
    ; executed by the firmware on start-up

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin

    ; Network
    M550 P"ToolChanger" ; Set machine name
    ;M587 S"ssid" P"password" ; WiFi Settings
    ;M552 S1 P"ssid" ; Enable WiFi Networking
    M552 S1 ; Enable Networking
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    M667 S1 ; Select CoreXY mode

    ; Endstops
    ;M574 X1 Y1 S3 ; Set X / Y endstop stall detection (edit out for physical switches - JS 01/11/2019)
    M574 X1 Y1 S1 ; Set physical end-stops
    M574 Z1 S2 ; Set Z endstop probe
    M558 P7 X0 Y0 Z2 H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
    G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
    M557 X10:290 Y20:180 S40 ; Define mesh grid

    ; Drive direction
    M569 P0 S0 ; Drive 0 X
    M569 P1 S0 ; Drive 1 Y
    M569 P2 S1 ; Drive 2 Z
    M569 P3 S1 ; Drive 3 E0
    M569 P4 S0 ; Drive 4 E1
    M569 P5 S1 ; Drive 5 E2
    M569 P6 S1 ; Drive 6 E3
    M569 P7 S0 ; Drive 7 COUPLER
    M569 P8 S0 ; Drive 8 UNUSED
    M569 P9 S0 ; Drive 9 UNUSED

    M584 X0 Y1 Z2 C7 E3:4:5:6 ; Apply custom drive mapping
    M208 X-35:328.5 Y-49:243 Z0:300 C0:500 S0 ; Set axis maxima & minima
    M350 E16:8:16:16 C8 I0 ; Configure microstepping without interpolation
    M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
    M92 X100 Y100 Z1600 C100 E830:415:409:830 ; Set steps per mm
    M566 X500 Y500 Z45 C2 E180:180:800:200 ; Set maximum instantaneous speed changes (mm/min) (800)
    M203 X35000 Y35000 Z1200 C5000 E3600:3600:5000:3600 ; Set maximum speeds (mm/min) (6000)
    M201 X5000 Y5000 Z400 C500 E2000:2000:2500:2500 ; Set accelerations (mm/s^2)
    M906 X1500 Y1500 Z1200 C500 E1100:1000:1100:1100 I30 ; Set motor currents (mA) and motor idle factor in percent
    M84 S120 ; Set idle timeout

    ;Stall Detection
    M915 C S6 F0 H200 R4700 ; Coupler

    ;Stall Detection
    M915 X Y S2 F0 H400 R4700 ; X / Y Axes

    ; Heaters
    M305 S"Bed Temperature" P0 T100000 B4138 C0 ; Set thermistor
    M143 H0 S225 ; Set temperature limit for heater 0 to 225C

    ;M305 S"T0" P1 R4700 T100000 B4388 ; Set thermistor, old E3D Config
    M305 S"T0" P1 X200 ; Set therminstor, to PT100 input 1 on Duet mainboard (200)
    M143 H1 S375 ; Set temperature limit for heater 1 to 375C (hardened 0.25mm nozzle, copper block)

    ;M305 S"T1" P2 R4700 T100000 B4388 ; Set thermistor, old E3D Config
    M305 S"T1" P2 X201 ; Set thermistor, to PT100 input 2 on Duet mainboard (201)
    M143 H2 S400 ; Set temperature limit for heater 2 to 375C (nozzle-x 0.4mm nozzle, copper block)

    ;M305 S"T2" P3 R4700 T100000 B4388 ; Set thermistor, old E3D Config
    M305 S"T2" P3 X204 ; Set thermistor, to PT100 input 1 on Duex board (204)
    M143 H3 S375 ; Set temperature limit for heater 3 to 400C (coated copper 0.4mm nozzle, copper block)

    ;M305 S"T3" P4 R4700 T100000 B4388 ; Set thermistor, old E3D Config
    M305 S"T3" P4 X205 ; Set thermistor, to PT100 input 1 on Duex board (205)
    M143 H4 S375 ; Set temperature limit for heater 1 to 375C (hardened 0.8mm nozzle, copper volcano block)

    M305 S"Chamber temp" P5 T100000 B4725 C7.060000e-8 X1 ; Case temp 100k semtek on E0 thermistor input (R4700 deleted)
    M141 H5 ; Chamber heater configured so shows up in UI

    ; Tools
    M563 P0 S"T0" D0 H1 F2 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets
    G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C

    M563 P1 S"T1" D1 H2 F4 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets
    G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C

    M563 P2 S"T2" D2 H3 F6 ; Define tool 2
    G10 P2 X0 Y0 Z0 ; Reset tool 2 axis offsets
    G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C

    M563 P3 S"T3" D3 H4 F8 ; Define tool 3
    G10 P3 X0 Y0 Z0 ; Reset tool 3 axis offsets
    G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C

    ; Fans
    M106 P0 S0 ; UNUSED
    M106 P1 S255 H1 T70 ; T0 HE
    M106 P2 S0 ; T0 PCF
    M106 P3 S255 H2 T70 ; T1 HE
    M106 P4 S0 ; T1 PCF
    M106 P5 S255 H3 T70 ; T2 HE
    M106 P6 S0 ; T2 PCF
    M106 P7 S255 H4 T70 ; T3 HE
    M106 P8 S0 ; T3 PCF

    M593 F50 ; cancel ringing at 50Hz
    ;M376 H15 ; bed compensation taper

    ;tool offsets
    G10 P0 X1 Y39 Z-3.78 ; T0
    G10 P1 X1 Y39 Z-3.58 ; T1
    G10 P2 X21 Y44 Z-5.72 ; T2
    G10 P3 X1 Y39 Z-12.24 ; T3 (volcano)

    ;deselect tools
    T-1

    They are a little bit all over the place as I have been tweaking and fiddling to get things to work. The E3D config has everything ramped up to the max with the intention the user tunes to their needs.

    Jai


Log in to reply