IDEX Setup problem
-
Hi *,
I have a strange problem with my IDEX 2nd print head, the first head works as expected. So I created a 2nd extruder in PS/SS and tried to print with that. The result is that the left head moves (T0) and the right head heated and extrudes. :?
The heater at the left (T0) gets heated too.Hardware: Duet Mini 5+
Software: 3.3beta1Config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.0 on Thu Dec 31 2020 04:37:36 GMT+0100 (Central European Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Marge" ; set printer name ; Network ;M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M552 S1 M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ;; Toolboards ; M115 B121 ;; Show board 121 ; M997 B121 ;; Update tool 121 ; M122 B121 ;; Detailed status of toolboard G4 S1 ;wait for expansion boards to start ;; Drives ; Z M569 P0.0 S0 ; physical drive 0.0 goes backwards M569 P0.4 S0 ; physical drive 0.4 goes backwards ; Y M569 P0.1 S0 ; physical drive 0.1 goes forwards ; Left and Right tool stepper X U M569 P0.2 S1 ; physical drive 0.2 goes forwards X M569 P0.3 S1 ; physical drive 0.3 goes forwards U ; Extruder steppers M569 P121.0 S1 ; physical drive 121.0 goes forwards X M569 P122.0 S1 ; physical drive 122.0 goes forwards U M584 X0.3 U0.2 Y0.1 Z0.0:0.4 E121.0:122.0 ; set drive mapping M350 X16 U16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X160.00 U160.00 Y161.20 Z800.00 M92 E393.26:409.00 ; set steps per mm ;M92 X80.00 Y80.60 Z403.02 E805 ; set steps per mm from RatRig M566 X900.00 U900.00 Y900.00 Z60.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 U6000.00 Y6000.00 Z1000.00 E1200.00:1200.00 ; set maximum speeds (mm/min) Z180 M201 X500.00 U500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1100 U1100 Y1100 Z1100 E900:900 I30 ; set motor currents (mA) and motor idle factor in per cent (E=0,8-1.2) M84 S30 ; Set idle timeout ; Z-level settings ;M671 X-85:396 Y120:102 S5 ; Position of the leadscrews :: Snn Maximum correction M671 X-100:550 Y120:102 S5 ; Axis Limits M208 X-50 U15 Y0 Z0 S1 ; set axis minima M208 X240 U321 Y290 Z200 S0 ; set axis maxima ; Endstops -- Display status with: M119 M574 X1 S1 P"121.io2.in" ; configure active-high endstop for low end on X via pin io0.in M574 U2 S1 P"122.io2.in" ; 2=high_end 2=low_end M574 Y1 S1 P"!0.io0.in" ; configure active-high endstop for low end on Y via pin io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch M558 P9 C"^121.io0.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X43.3 Y-41.7 ; set Z probe trigger value and offset G31 Z3.90 ; set Z probe and trigger height ## Pei flat #G31 Z3.65 ; set Z probe and trigger height ## Pei Textured #Hemera: X32.5, Y-42 (From eva homepage) M557 X0:270 Y0:290 S15 ; define mesh grid ;M557 X0:240 Y0:240 S240 ; define mesh grid for bed leveling ;; Heaters :: Tune with: M303 H0 S110 ; Bed M308 S0 P"0.temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"0.out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; 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 120C ; Head 1 (left) ; Tune in with: M303 H1 S270 M308 S1 P"121.temp0" Y"thermistor" T500000 B4702 C1.171057e-7 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"121.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S310 ; set temperature limit for heater 1 to 280C ; Head 2 (right) M308 S2 P"122.temp0" Y"thermistor" T500000 B4702 C1.171057e-7 ; configure sensor 2 as thermistor on pin temp1 M950 H2 C"122.out0" T2 ; create nozzle heater output on out1 and map it to sensor 1 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S310 ; set temperature limit for heater 1 to 280C ;; Fans ; Fan for the printed part left: M950 F0 C"121.out1" Q500 ; create fan 0 on pin 121.out1 and set its frequency M106 P0 S0 H-1 C"Part L" ; set fan 0 value. Thermostatic control is turned off ; Fan for the left hotend M950 F1 C"121.out2" L0:1000 Q50 ; create fan 1 on pin 121.out2 and set its frequency M106 P1 S1 H1 T45 C"Hotend L" ; set fan 1 value. Thermostatic control is turned on ; Fan for the printed part right: M950 F2 L0:1000 C"122.out1" Q50 ; create fan 2 on pin 122.out1 and set its frequency M106 P2 S0 H-1 C"Part R" ; set fan 2 value. Thermostatic control is turned on ; Fan for the right hotend M950 F3 C"122.out2" Q500 ; create fan 3 on pin 122.out2 and set its frequency M106 P3 S1 H2 T45 C"Hotend R" ; set fan 3 value. Thermostatic control is turned on P=No. S=Speed H=ThermostaticMode ;; Tools ; Tool 0 aka "the left wing" X M563 P0 S"L" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Filament sensor : Status M591 D0 M591 D0 P5 C"121.io1.in" R230:360 E3.0 S0 ; S1 = Enabled S0 = Disabled ; Tool 1 aka "the right wing" U ;M563 P1 S"R" D1 H2 F2 X3 ; define tool 1 P=No. S=Name D=Extrudor H=Heater F=Fan X=Mapping to X M563 P1 S"R" D1 H2 F2 ;G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets ;G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C G10 P1 Y0 U0 Z0 S0 R0 ; Filament sensor M591 D1 P5 C"122.io1.in" R230:360 E3.0 S0 ; S0 = Disabled ; Enable the LED stripe and turn it off M950 F3 C"0.out5" Q500 ; LED on out6 ground on top pin, plus on 3rd pin from top (V_OUTLC1) M106 P3 C"LED" S0 ; Miscellaneous ;M575 P1 S1 B57600 ; enable support for PanelDue M593 PDAA F30 ; Anti ghosting M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M501 ; load saved parameters from non-volatile memory T0 ; select first tool ;;;;;;;;;;;; Setup Only ;M564 S0 H0 ; Allow movement over the endstops ;M302 P1 ; allow cold extrusion ;M302 S1 ; deny cold extrusion ;M91 ;;;;;;;;;;;; Setup Only END
start.g
M106 P3 S255 ; Turn on LED G28 ; Home G1 Z15 F5000 ; lift nozzle G29 S1 ; Load the height map
tpost0.g
M106 R2 ; restore print cooling fan speed M116 P0 ; wait for tool 0 heaters to reach operating temperature M83 ; relative extruder movement G1 E0.5 F3600 ; extrude 0.5mm
tpost1.g
M106 R2 ; restore print cooling fan speed M116 P1 ; wait for tool 1 heaters to reach operating temperature M83 ; relative extruder movement G1 E0.5 F3600 ; extrude 0.5mm
tfree0.g
M83 ; relative extruder movement G1 E-0.5 F3600 ; retract 0.5mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 H2 X-50 F6000 ; park the X carriage at -48mm
tfree1.g
M83 ; relative extruder movement G1 E-0.5 F3600 ; retract 0.5mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 H2 U321 F6000 ; park the U carriage at +248mm
The start of the printed part:
M140 S85 ; set bed temperature M104 S235 T0 ; set temperature ;TYPE:Custom ; Start code from slicer ; Start code from slicer end G21 ; set units to millimeters G90 ; use absolute coordinates M82 ; use absolute distances for extrusion G92 E0 T1 G92 E0 ; Filament gcode ;SET_PRESSURE_ADVANCE ADVANCE=0.06 M109 S240 T1 ; set temperature and wait for it to be reached M190 S85 ; set bed temperature and wait for it to be reached ;LAYER_CHANGE ;Z:0.21 ;HEIGHT:0.21 G1 Z0.210000 F7800 G1 E-1.50000 F2400 G1 X100.688 Y122.606 F7800 G1 E0.00000 F2400 ;TYPE:Skirt ;WIDTH:0.56 G1 F1800 G1 X102.036 Y121.726 E0.07238 G1 X103.426 Y121.023 E0.14236 G1 X104.557 Y120.581 E0.19699 G1 X106.133 Y120.138 E0.27056 G1 X107.648 Y119.886 E0.33964
Cheers,
Chriss -
@chriss
I'm missing the kinematic declaration for the corexy
M669 K1
Put it right below the printer name -
@chriss
there's also missing the "" around DAA in
M593 PDAA F30 => M593 P"DAA" F30 -
@o_lampe said in IDEX Setup problem:
@chriss
there's also missing the "" around DAA in
M593 PDAA F30 => M593 P"DAA" F30Where do you see "M593 ..." ? I'm unable to find it
M669 K1
I agree that it is missing, bit "K1"? The printer is a Cartesian. I guess that I need "M669 K0", don't I?Cheers, Chriss
-
@chriss
If it's cartesian, you won't need the M669 line, sorry my bad.Why is the line with 'X3' outcommented? It should work IMHO
; Tool 1 aka "the right wing" U ;M563 P1 S"R" D1 H2 F2 X3 ; define tool 1 P=No. S=Name D=Extrudor H=Heater F=Fan X=Mapping to X M563 P1 S"R" D1 H2 F2
The M593 line is near the end of config.g.
-
@o_lampe said in IDEX Setup problem:
If it's cartesian, you won't need the M669 line, sorry my bad.
I added it anyway, I thik that it is a good habit.
Why is the line with 'X3' outcommented? It should work IMHO
I have no idea to be honest. I think that it is a glitch from the build time.
I changed that and added a X0 to the "T0" too.
The M593 line is near the end of config.g.
Found and fixed it.
Anyway, THANK you very, very much! The missing X3 in the M563 did it. That is obvious that it can not work if the mapping is not correct.
I have a other question now.. regarding the standby temperature... Is there a way to calculate that? Something like "StandbyTemp={Temp-50}" ? I see no way (at the moment) to set the standby temp in PS.
Cheers, Chriss
-
@chriss said in IDEX Setup problem:
I have a other question now.. regarding the standby temperature... Is there a way to calculate that? Something like "StandbyTemp={Temp-50}" ? I see no way (at the moment) to set the standby temp in PS.
Your config.g doesn't set G10 P0 Rnnn Smmm temps at the moment. Same for P1...
AFAIK, you can't refer to a temp you just have set. But you can try to use config-override to calculate stdby temp when you've set active temp in config.g. (with G10...)
-
@o_lampe said in IDEX Setup problem:
Your config.g doesn't set G10 P0 Rnnn Smmm temps at the moment. Same for P1...
True, I had no reason to do so till now. The slicer sets the temp based on the filament, this printer is my first multitool setup.
AFAIK, you can't refer to a temp you just have set. But you can try to use config-override to calculate stdby temp when you've set active temp in config.g. (with G10...)
Got it. I will not over engineer for now. I will set a fixed standby temp in the tool change files and that's it. This printer is mainly for PLA and PETG, so the standby temp will be very much the same for both materials.
Thanks again for your help and your input! I appreciate it....
Cheers, Chriss
-
@chriss
Setting standby temps (and start the heaters) will only work for tools in either active or standby state.
Unfortunately T1 is off at the beginning, so I wrote a few lines in config.g to toggle between toolsT0 P0 ; activate tool 0 but don't run the toolchange macros G10 P0 Rnnn Smmm T1 P0 ; activate tool1 without macros G10 P1 Riii Sjjj T0 ; activate T0 again (T1 is in standby then)
-
Yes.... true... that is a good idea. I have to think about that.
My idea was to set the standby temp only when I release the tool.In theory is there no need to heat up a tool when you do not use it for printing. My idea is to pint a purge line with the 2nd tool too if I'm going to use it, or better: Always have a purge tower when I use both tools.
The 2nd tool will get activated when it gets used the first time.
With the downside that this first use takes longer than for the heatup time.It depends of the future use of the printer:
Mainly two filaments=Standby heating from beginning
Mainly one filament=Standby heating at the first use of the tool. -
@chriss for my chimera, I have a few lines in my start gcode in the slicer that are very similar to @o_lampe 's code. I set the standby/active temps using the placeholders in PrusaSlicer and cycle the tools to set them active/standby.
If you only want to preheat one tool, then you can always comment out that line when slicing that file (or make the standby temperature very low).
I find it's a per-print setting so tend to cover those things the the slicer rather than in the machine -
@engikeneer @Chriss
that's even better! Having various printer profiles for single or dual extrusion you don't have to comment out or overwrite anything. Just select the propper profile.