Optimizing IDEX machine and Prusa Slicer
-
Hey all I have a heavily modified Flashforge Creator Pro 2 IDEX printer running on a Due2 +Duex2 and I am trying to get it dialed in a little better and some quirks ironed out.
I am sure I could figure some of these out if I spent enough time but I would love any input I can get, especially if anyone can help me dial in my Firmware and slicer settings.
I will post my firmware code in a comment below. Beyond issues if there is anything I can do to improve my firmware code let me know.The main issues I am having.
Issue 1
I currently have a duplicate mode set up as tool 2 with offset extruders. So tool 0 is left print head, tool 1 the right print head, and tool 2 as the duplicate mode.
In Prusa this is set as extruder 3.When trying to start a print with extruder 3 selected If I have tool 0 or tool 1 selected in the web interface when I start a print it will home properly, position both print heads properly offset and start printing in duplicate mode properly.
If however tool 2 is already selected when I start the print it will home and then both extruders will stay at their home position and then try to print from there.Issue 2
When starting a duplicate print with tool 2 when I start the print first layer temp only adjusts extruder 1 and not extruder 2.
After the first layer the normal layer temp does automatically change both extruder temps.Issue 3
My extruders heat extremely fast so during printing I don't want it to wait to come up from standby temp. I currently have it set so it does not wait.
Unfortunately this also means it does not wait when I start a print and that is a problem.
Is it possible to configure it so that it waits on initial start, but not while printing?
Or even better actually would be if I could have it set up so that it will start printing if extruders are within say 10c and bed 5 C of active temp, or wait to heat.Issue 4, more of a question.
I haven't even tried and would like input before I do. Is it possible to get Ooze prevention/Idle temp in Prusa to properly set standby temp in Duet? If so do I just check the box and desired temp? or is there anything else I should do?That's all I can think of at the moment but there may be a couple other things. If so I will update when I remember.
-
; Drives
M569 P0 S0 ; physical drive 0 goes forwards
M569 P1 S0 ; physical drive 1 goes forwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S1 ; physical drive 3 goes forwards
M569 P5 S1
M569 P6 S0M584 X0 U5 Y1 Z2 E3:6 ; set drive mapping
M350 X16 U16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X95 U95 Y95 Z400.00 E725:725 ; set steps per mm
M566 X600.00 U600 Y600.00 Z50 E600.00:600 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 U6000 Y6000.00 Z400 E6000.00:6000 ; set maximum speeds (mm/min)
M201 X1000 U1000 Y1000 Z500 E10000.00:10000 ; set accelerations (mm/s^2)
M906 X800 U800 Y800 Z650 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X-149 U-94 Y-72.5 Z0 S1 ; set axis minima
M208 X94 U149 Y72.5 Z175 S0 ; set axis maximum; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin !xstop
M574 U2 S1 P"duex.e2_stop"
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop
M574 Z1 S1 P"!zstop" ; configure active-high endstop for low end on Z via pin !zstop; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X20:200 Y20:200 S40 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B0 R0.300 C757.0 D2.32 S1.00 V23.9 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 130CM308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 R2.825 C178.3:117.6 D4.29 S1.00 V24.0 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S275 ; set temperature limit for heater 1 to 275CM308 S2 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e0temp
M950 H2 C"duex.e2heat" T2 ; create nozzle heater output on e0heat and map it to sensor 2
M307 H2 B0 R2.878 C158.5:100.5 D2.97 S1.00 V24.0 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S275 ; set temperature limit for heater 2 to 275C
M302 S140 R110; Fans
M950 F4 C"duex.fan4"
M106 P4 S1 H-1
M950 F0 C"!duex.fan3" Q25000 ; create fan 2 on pin fan0 and set its frequency
M106 P0 L.25 H-1M950 F1 C"fan0" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 L0.2 H1 T45:300 ; set fan 1 value. Thermostatic control is turned onM950 F6 C"duex.fan6"
M106 P6 S1 H-1
M950 F2 C"!duex.fan5" Q25000 ; create fan 2 on pin fan0 and set its frequency
M106 P2 L.25 H-1M950 F3 C"fan1" Q500 ; create fan 3 on pin fan1 and set its frequency
M106 P3 L0.2 H2 T45:300 ; set fan 3 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 L3 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 S0 R0 ; set initial tool 0 active and standby temperatures to 0CM563 P1 D1 H2 X3 F2 L6 ; define tool 1
G10 P1 X0 Y0.5 Z-.05 ; set tool 0 axis offsets Moved Y from 0.6
G10 P1 S0 R0 ; set initial tool 0 active and standby temperatures to 0C; Create a tool that prints 2 copies of the object using both carriages
M563 P2 D0:1 H1:2 X0:3 F0:2 L3:6 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U
G10 P2 X57 Y0 U-57 S0 R0 ; set tool offsets and temperatures
M567 P2 E1:1 ; set mix ratio 100% on both extruders; Custom settings are not defined
; Miscellaneous
; select first tool -
Oh yeah issue 5
As far as I can tell with my current configuration and I think because of the M567 code on the duplicate mode it seems like I cannot adjust the extrusion factor of each tool separately. I would like to be able to do this for situations where say I have a spool of 1.73 filament and 1.77 filament and need to adjust extrusion independently. That 567 code was in the IDEX configuration I found.
Can I just remove that and if so will it run both extruders and allow me to adjust extrusion factor properly? -
@yoshimitsuspeed please share the GCode file that you are trying to print.
Which firmware version is your Duet running?
-
@dc42
Firmware 3.3Example of Gcode
; generated by PrusaSlicer 2.6.0-alpha5+win64 on 2023-03-19 at 21:09:40 UTC
;
; external perimeters extrusion width = 0.76mm
; perimeters extrusion width = 0.80mm
; infill extrusion width = 0.65mm
; solid infill extrusion width = 0.80mm
; top infill extrusion width = 0.75mm
; first layer extrusion width = 0.80mmM201 X9000 Y9000 Z500 E10000 ; sets maximum accelerations, mm/sec^2
M203 X30000 Y30000 Z720 E7200 ; sets maximum feedrates, mm / min
M204 P1500 T1500 ; sets acceleration (P, T), mm/sec^2
M566 X600.00 Y600.00 Z12.00 E150.00 ; sets the jerk limits, mm/min
M107
;TYPE:Custom
G21 ;metric values
G90 ;absolute positioning
M104 S245 ; set extruder temp
M140 S30 ; set bed temp
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
;T1
;X222
;E20G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
T2
; Filament gcode
M592 D0 A-0.013507 B0.002903
M572 D0 S0.02
M107
;LAYER_CHANGE
;Z:0.2
;HEIGHT:0.2
G1 Z.2 F6000
G1 E-4.5 F4800
G1 X37.735 Y-4.88 F6000
G1 E4.5 F4800
M204 P1000
;TYPE:Skirt/Brim
;WIDTH:0.8
G1 F2400
G1 X37.989 Y-2.912 E.12367
G1 X38.101 Y.115 E.18878
G1 X37.882 Y4.077 E.2473
G1 X37.673 Y5.694 E.10161
G1 X37.204 Y8.22 E.16012
G1 X36.433 Y11.149 E.18876
G1 X35.599 Y13.579 E.16011
G1 X34.985 Y15.09 E.10165
G1 X33.226 Y18.646 E.24725
G1 X32.398 Y20.051 E.10164
G1 X31.084 Y22.029 E.14799
G1 X29.113 Y24.579 E.20086
G1 X26.399 Y27.473 E.24726
G1 X25.199 Y28.578 E.10166
G1 X23.216 Y30.211 E.1601
G1 X20.742 Y31.96 E.18882
G1 X17.306 Y33.944 E.24727
G1 X14.555 Y35.212 E.18878
G1 X10.814 Y36.534 E.24728
G1 X9.241 Y36.963 E.10161
G1 X6.729 Y37.502 E.16012
G1 X5.119 Y37.756 E.10158
G1 X2.756 Y37.999 E.14804
G1 X-.466 Y38.098 E.2009
G1 X-4.425 Y37.843 E.24724
G1 X-6.04 Y37.619 E.10161
G1 X-8.561 Y37.127 E.16008
G1 X-11.484 Y36.329 E.18883
G1 X-15.2 Y34.938 E.24728
G1 X-17.928 Y33.62 E.18882
G1 X-20.153 Y32.336 E.1601
G1 X-21.517 Y31.444 E.10157
G1 X-24.671 Y29.036 E.2473
G1 X-25.89 Y27.954 E.10158
G1 X-27.58 Y26.284 E.14807
G1 X-29.705 Y23.861 E.20085
G1 X-32.025 Y20.642 E.24729
G1 X-32.879 Y19.254 E.10156
G1 X-34.013 Y17.166 E.14808
G1 X-35.344 Y14.231 E.20084
G1 X-36.223 Y11.817 E.16011
G1 X-36.695 Y10.257 E.10157
G1 X-37.563 Y6.385 E.2473
G1 X-37.951 Y3.38 E.18883
G1 X-38.097 Y-.585 E.24727
G1 X-38.037 Y-2.214 E.10159
G1 X-37.823 Y-4.58 E.14806
G1 X-37.303 Y-7.76 E.20082
G1 X-36.294 Y-11.598 E.24732
G1 X-35.764 Y-13.14 E.10162
G1 X-34.874 Y-15.342 E.14802
G1 X-33.454 Y-18.235 E.20085
G1 X-31.377 Y-21.616 E.24729
G1 X-30.423 Y-22.938 E.1016
G1 X-28.933 Y-24.788 E.14804
G1 X-26.736 Y-27.146 E.20086
G1 X-23.768 Y-29.779 E.24727
G1 X-22.472 Y-30.769 E.10164
G1 X-20.348 Y-32.213 E.16007
G1 X-17.724 Y-33.728 E.18883
G1 X-15.411 Y-34.846 E.16011
G1 X-13.906 Y-35.473 E.10161
G1 X-10.142 Y-36.727 E.24726
G1 X-7.192 Y-37.416 E.1888
G1 X-3.262 Y-37.961 E.24727
G1 X-1.635 Y-38.066 E.10161
G1 X.934 Y-38.09 E.16011
G1 X3.958 Y-37.895 E.18885
G1 X7.877 Y-37.278 E.24725
G1 X9.464 Y-36.907 E.10157
G1 X11.745 Y-36.243 E.14806
G1 X14.767 Y-35.123 E.20086
G1 X18.34 Y-33.397 E.2473
G1 X19.752 Y-32.581 E.10164
G1 X21.902 Y-31.176 E.16007
G1 X23.216 Y-30.211 E.1016
G1 X25.052 Y-28.703 E.14807
G1 X27.39 Y-26.485 E.20084
G1 X29.996 Y-23.493 E.24728
G1 X30.973 Y-22.188 E.1016
G1 X32.294 Y-20.214 E.14803
G1 X33.889 Y-17.413 E.20088
G1 X35.516 Y-13.794 E.24729
G1 X36.074 Y-12.262 E.10161
G1 X36.818 Y-9.804 E.16005
G1 X37.48 Y-6.847 E.18885
G1 X37.723 Y-4.969 E.11802
M204 P1500
G1 X36.973 Y-4.872 F6000
M204 P1000
G1 F2400(Middle code cut out for length)
G1 X-18.414 Y5.344 E.01374
;WIDTH:0.574484
G1 X-18.587 Y4.599 E.01868
;WIDTH:0.591867
G1 X-18.731 Y3.849 E.01924
;WIDTH:0.597888
G1 X-18.827 Y3.283 E.01462
;WIDTH:0.604841
G1 X-18.9 Y2.76 E.01361
;WIDTH:0.612028
G1 X-18.999 Y1.792 E.02539
;WIDTH:0.618434
G1 X-19.038 Y1.266 E.01391
;WIDTH:0.622872
G1 X-19.073 Y-.122 E.03689
;WIDTH:0.622993
G1 X-19.01 Y-1.676 E.04133
;WIDTH:0.616802
G1 X-18.936 Y-2.46 E.02071
;WIDTH:0.610265
G1 X-18.867 Y-2.999 E.01413
;WIDTH:0.603029
G1 X-18.729 Y-3.851 E.02217
;WIDTH:0.592945
G1 X-18.602 Y-4.539 E.01766
;WIDTH:0.57497
G1 X-18.44 Y-5.228 E.0173
;WIDTH:0.562598
G1 X-18.265 Y-5.909 E.0168
;WIDTH:0.542017
G1 X-18.114 Y-6.409 E.01201
;WIDTH:0.571312
G1 X-18.119 Y-6.473 E.00156
;WIDTH:0.616932
G1 X-18.124 Y-6.536 E.00166
;WIDTH:0.662553
G1 X-18.129 Y-6.6 E.00182
;WIDTH:0.708173
G1 X-18.134 Y-6.664 E.00195
;WIDTH:0.753793
G1 X-18.139 Y-6.728 E.00208
;WIDTH:0.799414
G1 X-18.144 Y-6.792 E.00221
;WIDTH:0.845034
G1 X-18.149 Y-6.855 E.0023
;WIDTH:0.890655
G1 X-18.154 Y-6.919 E.00247
;WIDTH:0.936275
G1 X-18.159 Y-6.983 E.0026
;WIDTH:0.981895
G1 X-18.164 Y-7.047 E.00273
G1 X-18.206 Y-6.999 E.00271
;WIDTH:0.936275
G1 X-18.249 Y-6.951 E.00261
;WIDTH:0.890655
G1 X-18.292 Y-6.903 E.00248
;WIDTH:0.845034
G1 X-18.335 Y-6.854 E.00237
;WIDTH:0.799414
G1 X-18.377 Y-6.806 E.00219
;WIDTH:0.753793
G1 X-18.42 Y-6.758 E.00209
;WIDTH:0.708173
G1 X-18.463 Y-6.71 E.00196
;WIDTH:0.662553
G1 X-18.505 Y-6.662 E.00181
;WIDTH:0.616932
G1 X-18.548 Y-6.614 E.0017
;WIDTH:0.571312
G1 X-18.591 Y-6.566 E.00157
;WIDTH:0.542017
G1 X-18.761 Y-6.063 E.01221
;WIDTH:0.562598
G1 X-18.961 Y-5.367 E.01731
;WIDTH:0.571586
G1 X-19.1 Y-4.822 E.01367
;WIDTH:0.583969
G1 X-19.234 Y-4.222 E.01528
;WIDTH:0.603555
G1 X-19.416 Y-3.245 E.02555
;WIDTH:0.609862
G1 X-19.517 Y-2.543 E.01844
;WIDTH:0.617432
G1 X-19.595 Y-1.81 E.01941
;WIDTH:0.620652
G1 X-19.639 Y-1.192 E.0164
;WIDTH:0.626104
G1 X-19.671 Y-.367 E.02205
G1 X-19.672 Y.356 E.01931
;WIDTH:0.623013
G1 X-19.646 Y1.078 E.0192
;WIDTH:0.622429
G1 X-19.585 Y1.851 E.02059
;WIDTH:0.612028
G1 X-19.514 Y2.554 E.01843
;WIDTH:0.611231
G1 X-19.42 Y3.235 E.01791
;WIDTH:0.599903
G1 X-19.291 Y3.947 E.01849
;WIDTH:0.591867
G1 X-19.141 Y4.655 E.01823
;WIDTH:0.575925
G1 X-18.964 Y5.357 E.01773
;WIDTH:0.561435
G1 X-18.774 Y6.016 E.01636
;WIDTH:0.544614
G1 X-18.536 Y6.741 E.01763
;WIDTH:0.576127
G1 X-18.489 Y6.795 E.00175
;WIDTH:0.625059
G1 X-18.441 Y6.85 E.00195
;WIDTH:0.673991
G1 X-18.394 Y6.904 E.00206
;WIDTH:0.722923
G1 X-18.347 Y6.958 E.00222
;WIDTH:0.771855
G1 X-18.3 Y7.012 E.00237
;WIDTH:0.820787
G1 X-18.253 Y7.066 E.00253
;WIDTH:0.869719
G1 X-18.206 Y7.12 E.00268
;WIDTH:0.918651
G1 X-18.158 Y7.174 E.00287
G1 E-2.25 F4800
;WIPE_START
G1 F4800;_WIPE
G1 X-18.206 Y7.12 E-.06864
G1 F4800;_WIPE
G1 X-18.253 Y7.066 E-.06801
G1 F4800;_WIPE
G1 X-18.3 Y7.012 E-.06801
G1 F4800;_WIPE
G1 X-18.347 Y6.958 E-.06801
G1 F4800;_WIPE
G1 X-18.394 Y6.904 E-.06801
G1 F4800;_WIPE
G1 X-18.441 Y6.85 E-.06801
G1 F4800;_WIPE
G1 X-18.489 Y6.795 E-.06935
G1 F4800;_WIPE
G1 X-18.536 Y6.741 E-.06801
G1 F4800;_WIPE
G1 X-18.774 Y6.016 E-.72491
G1 F4800;_WIPE
G1 X-18.964 Y5.357 E-.65155
G1 F4800;_WIPE
G1 X-19.048 Y5.023 E-.32749
;WIPE_END
M107
;TYPE:Custom
; Filament-specific end gcode
;END gcode for filament
; Filament-specific end gcode
;END gcode for filament
; Filament-specific end gcode
;END gcode for filament
G91G1 Z5 F500
G28 X U ; home X U axis
G1 Y120 F1000
M104 S0 ; turn off temperature
M140 S0 ; set bed tempM84 ; disable motors
; filament used [mm] = 0.00, 0.00, 37648.28
; filament used [cm3] = 0.00, 0.00, 90.55
; filament used [g] = 0.00, 0.00, 109.57
; filament cost = 0.00, 0.00, 5.92
; total filament used [g] = 109.57
; total filament cost = 5.92
; estimated printing time (normal mode) = 3h 51m 24s; prusaslicer_config = begin
; avoid_crossing_curled_overhangs = 0
; avoid_crossing_perimeters = 1
; avoid_crossing_perimeters_max_detour = 40
; bed_custom_model =
; bed_custom_texture =
; bed_shape = -94x-72.5,94x-72.5,94x72.5,-94x72.5
; bed_temperature = 50,50,50
; before_layer_gcode =
; between_objects_gcode =
; bottom_fill_pattern = concentric
; bottom_solid_layers = 4
; bottom_solid_min_thickness = 2.5
; bridge_acceleration = 100
; bridge_angle = 0
; bridge_fan_speed = 100,100,100
; bridge_flow_ratio = 1
; bridge_speed = 80
; brim_separation = 0
; brim_type = outer_only
; brim_width = 0
; color_change_gcode = M600
; complete_objects = 0
; cooling = 1,1,1
; cooling_tube_length = 5
; cooling_tube_retraction = 91.5
; default_acceleration = 2000
; default_filament_profile =
; default_print_profile =
; deretract_speed = 0,0,0
; disable_fan_first_layers = 1,1,1
; dont_support_bridges = 1
; draft_shield = disabled
; duplicate_distance = 6
; elefant_foot_compensation = 0.4
; enable_dynamic_fan_speeds = 0,0,0
; enable_dynamic_overhang_speeds = 1
; end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n";"; Filament-specific end gcode \n;END gcode for filament\n";"; Filament-specific end gcode \n;END gcode for filament\n"
; end_gcode = G91\n\nG1 Z5 F500\nG28 X U ; home X U axis\nG1 Y120 F1000\nM104 S0 ; turn off temperature\nM140 S0 ; set bed temp\n\n\nM84 ; disable motors\n
; external_perimeter_acceleration = 0
; external_perimeter_extrusion_width = 0.76
; external_perimeter_speed = 40
; external_perimeters_first = 0
; extra_loading_move = -2
; extra_perimeters = 1
; extra_perimeters_on_overhangs = 0
; extruder_clearance_height = 20
; extruder_clearance_radius = 20
; extruder_colour = ;;
; extruder_offset = 0x0,0x0,0x0
; extrusion_axis = E
; extrusion_multiplier = 0.99,0.99,0.99
; extrusion_width = 0.8
; fan_always_on = 1,1,1
; fan_below_layer_time = 20,20,20
; filament_colour = #FFFFFF;#FFFFFF;#FFFFFF
; filament_cooling_final_speed = 3.4,3.4,3.4
; filament_cooling_initial_speed = 2.2,2.2,2.2
; filament_cooling_moves = 4,4,4
; filament_cost = 54,54,54
; filament_density = 1.21,1.21,1.21
; filament_deretract_speed = 80,80,80
; filament_diameter = 1.75,1.75,1.75
; filament_load_time = 0,0,0
; filament_loading_speed = 28,28,28
; filament_loading_speed_start = 3,3,3
; filament_max_volumetric_speed = 0,0,0
; filament_minimal_purge_on_wipe_tower = 15,15,15
; filament_notes = ;;
; filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6";"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6";"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
; filament_retract_before_wipe = 50%,50%,50%
; filament_retract_length = 4.5,4.5,4.5
; filament_retract_speed = 80,80,80
; filament_settings_id = "Cheetah PEI";"Cheetah PEI";"Cheetah PEI"
; filament_soluble = 0,0,0
; filament_spool_weight = 300,300,300
; filament_toolchange_delay = 0,0,0
; filament_type = PLA;PLA;PLA
; filament_unload_time = 0,0,0
; filament_unloading_speed = 90,90,90
; filament_unloading_speed_start = 100,100,100
; filament_vendor = (Unknown)
; filament_wipe = 1,1,1
; fill_angle = 0
; fill_density = 16%
; fill_pattern = honeycomb
; first_layer_acceleration = 1000
; first_layer_acceleration_over_raft = 0
; first_layer_bed_temperature = 30,30,30
; first_layer_extrusion_width = 0.8
; first_layer_height = 0.2
; first_layer_speed = 40
; first_layer_speed_over_raft = 30
; first_layer_temperature = 245,245,245
; full_fan_speed_layer = 0,0,0
; fuzzy_skin = none
; fuzzy_skin_point_dist = 0.8
; fuzzy_skin_thickness = 0.3
; gap_fill_enabled = 1
; gap_fill_speed = 80
; gcode_comments = 0
; gcode_flavor = reprapfirmware
; gcode_label_objects = 0
; gcode_resolution = 0.0125
; gcode_substitutions =
; high_current_on_filament_swap = 0
; host_type = octoprint
; infill_acceleration = 2000
; infill_anchor = 600%
; infill_anchor_max = 50
; infill_every_layers = 1
; infill_extruder = 3
; infill_extrusion_width = 0.65
; infill_first = 0
; infill_only_where_needed = 1
; infill_overlap = 10%
; infill_speed = 80
; interface_shells = 0
; ironing = 0
; ironing_flowrate = 5%
; ironing_spacing = 0.2
; ironing_speed = 15
; ironing_type = topmost
; layer_gcode =
; layer_height = 0.2
; machine_limits_usage = emit_to_gcode
; machine_max_acceleration_e = 10000,5000
; machine_max_acceleration_extruding = 1500,1250
; machine_max_acceleration_retracting = 1500,1250
; machine_max_acceleration_travel = 1500,1250
; machine_max_acceleration_x = 9000,1000
; machine_max_acceleration_y = 9000,1000
; machine_max_acceleration_z = 500,200
; machine_max_feedrate_e = 120,120
; machine_max_feedrate_x = 500,200
; machine_max_feedrate_y = 500,200
; machine_max_feedrate_z = 12,12
; machine_max_jerk_e = 2.5,2.5
; machine_max_jerk_x = 10,10
; machine_max_jerk_y = 10,10
; machine_max_jerk_z = 0.2,0.4
; machine_min_extruding_rate = 0,0
; machine_min_travel_rate = 0,0
; max_fan_speed = 60,60,60
; max_layer_height = 0.22,0.22,0.22
; max_print_height = 175
; max_print_speed = 80
; max_volumetric_extrusion_rate_slope_negative = 0
; max_volumetric_extrusion_rate_slope_positive = 0
; max_volumetric_speed = 8
; min_bead_width = 85%
; min_fan_speed = 0,0,0
; min_feature_size = 25%
; min_layer_height = 0.1,0.1,0.1
; min_print_speed = 4,4,4
; min_skirt_length = 4
; mmu_segmented_region_max_width = 0
; notes =
; nozzle_diameter = 0.6,0.6,0.6
; only_retract_when_crossing_perimeters = 1
; ooze_prevention = 0
; output_filename_format = [input_filename_base].gcode
; overhang_fan_speed_0 = 0,0,0
; overhang_fan_speed_1 = 0,0,0
; overhang_fan_speed_2 = 0,0,0
; overhang_fan_speed_3 = 0,0,0
; overhang_speed_0 = 15
; overhang_speed_1 = 15
; overhang_speed_2 = 20
; overhang_speed_3 = 25
; overhangs = 1
; parking_pos_retraction = 92
; pause_print_gcode = M601
; perimeter_acceleration = 1000
; perimeter_extruder = 3
; perimeter_extrusion_width = 0.8
; perimeter_generator = arachne
; perimeter_speed = 80
; perimeters = 5
; physical_printer_settings_id = CP2
; post_process =
; print_settings_id = .6N Cheetah PEI Autospeed
; printer_model =
; printer_notes =
; printer_settings_id = CP2
; printer_technology = FFF
; printer_variant =
; printer_vendor =
; raft_contact_distance = 0.1
; raft_expansion = 1.5
; raft_first_layer_density = 90%
; raft_first_layer_expansion = 3
; raft_layers = 0
; remaining_times = 0
; resolution = 0
; retract_before_travel = 2,2,2
; retract_before_wipe = 0%,50%,0%
; retract_layer_change = 0,1,0
; retract_length = 2,2,2
; retract_length_toolchange = 10,10,10
; retract_lift = 0,0,0
; retract_lift_above = 0,0,0
; retract_lift_below = 0,0,0
; retract_restart_extra = 0,0,0
; retract_restart_extra_toolchange = 0,0,0
; retract_speed = 100,100,100
; seam_position = nearest
; silent_mode = 1
; single_extruder_multi_material = 0
; single_extruder_multi_material_priming = 1
; skirt_distance = 4
; skirt_height = 1
; skirts = 3
; slice_closing_radius = 0.049
; slicing_mode = regular
; slowdown_below_layer_time = 5,5,5
; small_perimeter_speed = 30
; solid_infill_acceleration = 0
; solid_infill_below_area = 0
; solid_infill_every_layers = 0
; solid_infill_extruder = 3
; solid_infill_extrusion_width = 0.8
; solid_infill_speed = 80
; spiral_vase = 0
; staggered_inner_seams = 0
; standby_temperature_delta = -5
; start_filament_gcode = "; Filament gcode\nM592 D0 A-0.013507 B0.002903\nM572 D0 S0.02";"; Filament gcode\nM592 D0 A-0.013507 B0.002903\nM572 D0 S0.02";"; Filament gcode\nM592 D0 A-0.013507 B0.002903\nM572 D0 S0.02"
; start_gcode = G21 ;metric values\nG90 ;absolute positioning\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\n;T1 \n;X222\n;E20\n\n
; support_material = 0
; support_material_angle = 0
; support_material_auto = 1
; support_material_bottom_contact_distance = 0
; support_material_bottom_interface_layers = -1
; support_material_buildplate_only = 0
; support_material_closing_radius = 2
; support_material_contact_distance = 0.1
; support_material_enforce_layers = 0
; support_material_extruder = 3
; support_material_extrusion_width = 0.35
; support_material_interface_contact_loops = 0
; support_material_interface_extruder = 1
; support_material_interface_layers = 1
; support_material_interface_pattern = rectilinear
; support_material_interface_spacing = 4
; support_material_interface_speed = 100%
; support_material_pattern = rectilinear
; support_material_spacing = 10
; support_material_speed = 100
; support_material_style = grid
; support_material_synchronize_layers = 0
; support_material_threshold = 20
; support_material_with_sheath = 1
; support_material_xy_spacing = 60%
; support_tree_angle = 40
; support_tree_angle_slow = 25
; support_tree_branch_diameter = 2
; support_tree_branch_diameter_angle = 5
; support_tree_tip_diameter = 0.8
; support_tree_top_rate = 30%
; temperature = 255,255,255
; template_custom_gcode =
; thick_bridges = 1
; thin_walls = 0
; threads = 40
; thumbnails =
; thumbnails_format = PNG
; toolchange_gcode =
; top_fill_pattern = concentric
; top_infill_extrusion_width = 0.75
; top_solid_infill_acceleration = 0
; top_solid_infill_speed = 50
; top_solid_layers = 4
; top_solid_min_thickness = 2.5
; travel_speed = 100
; travel_speed_z = 0
; use_firmware_retraction = 0
; use_relative_e_distances = 1
; use_volumetric_e = 0
; variable_layer_height = 1
; wall_distribution_count = 1
; wall_transition_angle = 10
; wall_transition_filter_deviation = 25%
; wall_transition_length = 100%
; wipe = 0,0,0
; wipe_into_infill = 0
; wipe_into_objects = 0
; wipe_tower = 0
; wipe_tower_bridging = 10
; wipe_tower_brim_width = 2
; wipe_tower_no_sparse_layers = 0
; wipe_tower_rotation_angle = 0
; wipe_tower_width = 60
; wipe_tower_x = 180
; wipe_tower_y = 140
; wiping_volumes_extruders = 70,70,70,70,70,70
; wiping_volumes_matrix = 0,140,140,140,0,140,140,140,0
; xy_size_compensation = 0
; z_offset = 0
; prusaslicer_config = end -
@yoshimitsuspeed please post your tool change macro files.
Also have a look at the release notes between 3.3. and 3.4.5, there might be something that has changed that impacts this, if so then worth an upgrade.
-
Alright coming back to this.
I just installed 3.45 firmware but haven't tried printing yet. Will start in a minute.
The highest priority right now is the fact that I don't seem to be able to adjust extrusion factors for extruder 0 and extruder 1 independently when tool 2 (IDEX duplicate) mode is printing.
This is causing big issues like for example right now running a spool of TPU at 1.74 and one at 1.71.
I am not expecting the firmware update to affect this but will see shortly.
Beyond that is this just a firmware setting I need to change or what? -
Toolchange settings
tfree0
M83 ; relative extruder movement
G1 E-2 F3600 ; retract 2mm
M106 S0 ; turn off our print cooling fan
G91 ; relative axis movement
G1 Z3 F500 ; up 3mm
G90 ; absolute axis movement
G1 H2 X-150 F6000 ; park the X carriage at -30mmtfree1
M83 ; relative extruder movement
G1 E-5 F3600 ; retract 2mm
M106 S0 ; turn off our print cooling fan
G91 ; relative axis movement
G1 Z3 F500 ; up 3mm
G90 ; absolute axis movement
G1 H2 U150 F6000 ; park the U carriage at +258mmtfree2
M83 ; relative extruder movement
G1 E-5 F3600 ; retract 2mm
M106 S0 ; turn off our print cooling fan
G91 ; relative axis movement
G1 Z3 F500 ; up 3mm
G90 ; absolute axis movement
G1 H2 X-150 U150 F6000 ; park the and U carriageTpost0
M106 R2 ; restore print cooling fan speed
;M116 P0 ; wait for tool 0 heaters to reach operating temperature
M83 ; relative extruder movement
G1 E12 F3600 ; extrude 4mmtpost1
M106 R2 ; restore print cooling fan speed
;M116 P1 ; wait for tool 1 heaters to reach operating temperature
M83 ; relative extruder movement
G1 E10.6 F3600 ; extrude 5mmTpost2
M106 R2 ; restore print cooling fan speed
;M116 P1 ; wait for tool 1 heaters to reach operating temperature
M83 ; relative extruder movement
G1 E12 F3600 ; extrude 5mm -
Confirmed adjusting extruder 0 or extruder 1 extrusion factor has no impact on extrusion in tool 2 IDEX duplicate mode.
Heating issue
Tool 0 is left print head.
Tool 1 is right print head.
Tool 2 is IDEX duplicate.If I set it to tool 2 before starting a print the machine crashes.
I set tool 0 to standby, tool 1 to active. Set tool 0 and tool 1 active and standby temps to 220. Both heaters go to temp.Upload file to print.
Tool 1 active temp changes to first layer temp (240) and starts heating up.
Tool 0 active temp does not change and current temp stays at 220 until I manually set tool 2, heater 1 to 240.First layer prints
Second layer temp changes tool 2 heater 1 and heater 2 temp to 250.TLDR the first layer temp sets tool 1 temp only, but second layer temp changes both tool 2 temps properly.
-
Nozzle temps
I think I cut out the first layer change in the gcode above.It does seem Prusa is calling out M104 for the first layer temp and then G10 S250 P2 ; set temperature for second layer temp. Is this an issue in Prusa or in firmware?
M104 S240 ; set extruder temp
M140 S30 ; set bed temp
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
;T1
;X222
;E20;Z:0.332741
;HEIGHT:0.132741
G1 Z.333 F6000
G10 S250 P2 ; set temperature
M140 S50 ; set bed temperature
G1 X28.519 Y-.539
M204 P1000 -
@yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:
Issue 1
I currently have a duplicate mode set up as tool 2 with offset extruders. So tool 0 is left print head, tool 1 the right print head, and tool 2 as the duplicate mode.
In Prusa this is set as extruder 3.
When trying to start a print with extruder 3 selected If I have tool 0 or tool 1 selected in the web interface when I start a print it will home properly, position both print heads properly offset and start printing in duplicate mode properly.
If however tool 2 is already selected when I start the print it will home and then both extruders will stay at their home position and then try to print from there.So to confirm when T2 is in print start gcode, and T2 is not selected, then the correct behaviour happens:
@yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:
;TYPE:Custom
....
G28 ; home all axes
....
T2
; Filament gcode
....so the order the print start gcode is boing things is homing the printer, and then calling the tool change. (which you say works) however if there is just the home, with no tool change (because T2 is already selected) then it does not work?
I think you need to take a step back and check your homing files and tool change files actually do what you expect before trying to print. So try all the combinations of tool selected and homing.
Its been a long time since i have used an IDEX machine however I suggest that you can simply this by always deselecting any tools and then homing (T-1 at the start of all the homing files). Mark some known points on the machine and then home, select T0, move th the co-ordinates of the point and ensure T0 gets there. Then home, select T1 and do the same. For T2 the nozzles should be equidistant from the point, the set offset between them.
-
@yoshimitsuspeed we can take the issues one by one.
-
Okay so I did solve the extruder heating issue by replacing M104 with M568.
I haven't had time to mess with the issue when starting with tool 2 selected however as I said above right now the most important issue is not being able to independently control extruder rate when tool 2 is selected.
For example right now I have one spool of TPU that is 1.73 and another that is 1.76 and since I can't control the extrusion rate independently I have under extrusion on one part, and over on the other.
If I get some time I might go through my other spools and try to find one that more closely matches but this is being a pretty big inconvenience to my production process right now. -
@yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:
I have one spool of TPU that is 1.73 and another that is 1.76
Can you not setup a filament profile in PrusaSlicer for each?
-
@Phaedrux
As far as I know Prusa does not support anything regarding IDEX or duplicate type printing.
I have made the recommendation in their Dev forum letting them know it would be super helpful if it would. Both for the advantages of being able to enter separate filament diameters for duplicate, as well as things like being able to use two different print and filament profiles for a support material, or if you wanted to do something like running a hard TPU on one print head that could print fast, and a soft TPU on the other that required slower settings.But as of now as far as I know, no there is no support for this in Prusa.
-
@yoshimitsuspeed I havent tested this yet but you may be able to trick RRF by setting the mixing ratio to (1.75/1.74):(1.75/1.71) to get different effective flow rates.
-
@oliof
I would be pretty disappointed if that is the best solution. Not only would it suck going into the firmware and calculating that every time I start a print but it also means I can't tweak on the fly.I am very confused by how this all works out.
It seems like M568 overrides the extrusion factors sliders in the status panel which is nonsensical.I also don't understand why it has the extruders defined in M563 telling it to use both extruders, yet only one drives without M567.
I just don't understand why there isn't a base option that allows both extruders to extrude the Gcode defined amount with the extrusion factor slider functioning normally. Locking the two together with M56 and disabling the extrusion factor seems redundant and overly complicated. If M563 says use both extruders why aren't both extruders just driven by the E Gcode by default?
And or if someone decide that M567 is the required way to achieve that then why would it override the extrusion adjustment sliders?
This makes no sense. -
@yoshimitsuspeed hey, I was just proposing a hack, by no means do I think its a good solution for your problem. You can adjust mixing ratio on the fly though, so it would be possible to do it dynamically....
-
@yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:
Oh yeah issue 5
As far as I can tell with my current configuration and I think because of the M567 code on the duplicate mode it seems like I cannot adjust the extrusion factor of each tool separately. I would like to be able to do this for situations where say I have a spool of 1.73 filament and 1.77 filament and need to adjust extrusion independently. That 567 code was in the IDEX configuration I found.
Can I just remove that and if so will it run both extruders and allow me to adjust extrusion factor properly?As well as changing the mix ratio using M567, you can adjust the extrusion factors independently using M221. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m221-set-extrude-factor-override-percentage in particular the D parameter. I expect it is this command that the extrusion factor sliders in DWC change, but I have not verified that. You may wish to try using M221 from the command console.
-
@oliof
Sorry if my comment came across as unappreciative. I do appreciate input. It just seems like there should be better solutions integrated.
I wasn't thinking about being able to apply changes through the console while printing which would make it less awful but still doesn't make sense that this isn't better designed for this application.