Config for shared Heater and Nozzle



  • On one of my Delta printers I would like to print with two filaments through one single hotend. Thus I use a Y-piece (something like this).

    I tried it and generally it works. But sometimes (and I have no Idea why), there is a heater fault when switching the nozzle. I am printing two colours of PLA at the same temperature (200°C) and I set the printing temperature and the standby temperature to 200°C for both tools.
    The heater fault is kind of spurious, because the temperature is alright (at 200 +/- 2°C) and suddenly the state changes from active to faulted.

    Furthermore on my panel due I can see both tools, but only temperatures below the first tool-icon/button.

    That brings me to the conclusion that either there is something wrong with my gcode or with my config. Lets first have a look at the config. This should be the relevant part of my config.g, using RRF3.1.1:

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138      ; 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 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
    M308 S1 P"e0temp" Y"pt1000"                         ; 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 S1.00                                    ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"fan0" Q500                                ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S1 H1 T45                                   ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"fan1" Q500                                ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S0 H-1                                      ; set fan 1 value. Thermostatic control is turned off
    
    ; Tools
    M563 P0 D0 H1 F0:1                                  ; 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
    M563 P1 D1 H1 F0:1                                  ; define tool 1
    G10 P1 X0 Y0 Z0                                     ; set tool 1 axis offsets
    G10 P1 R0 S0                                        ; set initial tool 1 active and standby temperatures to 0C
    

    Basically it's generated by the RRF Browser Config tool. Is this best practice? Is there anything to change, to try or to optimise?


    Now to the gcode. I'm using prusa Slicer and it puts a M104-Command in the gcode at every toolchange. That basially contradicts my G10-Commands in the start-gcode and thus I decided to change from G10-heating commands to M104-Commands. As far as I could see, there are no other temperature-related commands in the gcode.
    My toolchange-gcode-files on the duet board are empty.

    Generally M104-Commands should be no problem, should they? Is there anything else wrong about this? Is there any best practice?

    EDIT: Yes, I tuned my heater and yes, a Heater Sock is in place.


  • Moderator

    @justus2342 It may be faulting because each tools standby temperature is set to 0C, but then it can't get to that because the other tool is still heating the heater. Try setting active and standby temperatures to the same with G10. Are you using tool change macros (tpre, tpost, tfree), and are there any heater commands that may be tripping it up in there?

    Regarding the PanelDue, that's expected; see https://duet3d.dozuki.com/Wiki/Connecting_an_LCD_control_panel#Section_Limitations

    Ian


Log in to reply