Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Duet 2 Wifi 3 Heater control using bed output + messed up tools

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    40
    1.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Phaedruxundefined
      Phaedrux Moderator @mikep91
      last edited by

      @mikep91 said in Duet 2 Wifi 3 Heater control using bed output + messed up tools:

      Am not using heated bed - so I know I should do a H-1 to turn it off. but the mapping seems to go on that tool

      If you're not using a bed heater you can use the output for your 3rd extruder heater, then you don't need to use the expansion headers, which aren't really intended to be used directly by a heater.

      If you don't define a bed heater you don't need a H-1 to disable it.

      Z-Bot CoreXY Build | Thingiverse Profile

      mikep91undefined 1 Reply Last reply Reply Quote 0
      • mikep91undefined
        mikep91 @Phaedrux
        last edited by

        @Phaedrux

        Makes sense and would be alot better as the connections on the expansion is quite poor compared to the bed and extruder connections.

        How would the M command look for mapping the 3rd heater to the bed instead of the expansion?

        M308 S1 P"spi.cs3" Y"rtd-max31865" ;
        M950 H1 C"bedheat" T0 ;
        M307 H1 B0 S1.00 ;
        M143 H1 S280 ;

        Something like this - whilst not using H-1 to cancel it out?

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          So if I understand your setup, and I'm not sure that I do, you'd have something like this for a single tool, using 3 heaters together, and no bed heater, with PT100 temp sensors.

          ; Heaters
          M140 H-1                                ; disable heated bed (overrides default heater mapping)
          M308 S0 P"spi.cs1" Y"rtd-max31865"      ; configure sensor 0 as PT100 on pin spi.cs1
          M950 H0 C"bedheat" T0                   ; create nozzle heater output on bedheat and map it to sensor 0
          M307 H0 B0 S1.00                        ; disable bang-bang mode for heater  and set PWM limit
          M143 H0 S280                            ; set temperature limit for heater 0 to 280C
          M308 S1 P"spi.cs2" Y"rtd-max31865"      ; configure sensor 1 as PT100 on pin spi.cs2
          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
          M143 H1 S280                            ; set temperature limit for heater 1 to 280C
          M308 S2 P"spi.cs3" Y"rtd-max31865"      ; configure sensor 2 as PT100 on pin spi.cs3
          M950 H2 C"e1heat" T2                    ; create nozzle heater output on e1heat and map it to sensor 2
          M307 H2 B0 S1.00                        ; disable bang-bang mode for heater  and set PWM limit
          M143 H2 S280                            ; set temperature limit for heater 2 to 280C
          
          ; Fans
          M950 F0 C"fan0" Q500                    ; create fan 0 on pin fan0 and set its frequency
          M106 P0 S0 H-1                          ; set fan 0 value. Thermostatic control is turned off
          M950 F1 C"fan1" Q500                    ; create fan 1 on pin fan1 and set its frequency
          M106 P1 S1 H0:1:2 T45                   ; set fan 1 value. Thermostatic control is turned on
          
          ; Tools
          M563 P0 D0 H0:1:2 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
          
          ; Miscellaneous
          T0                                      ; select first tool
          

          Z-Bot CoreXY Build | Thingiverse Profile

          mikep91undefined 1 Reply Last reply Reply Quote 0
          • mikep91undefined
            mikep91 @Phaedrux
            last edited by

            @Phaedrux

            Yeah im sorry for being not very precise - I am using a pellet hotend on a robotic arm, so the duet is only to control the heaters. But it has 3 heat zones - so i would need individual control of each heat zone mapped to a specific sensor.

            Would this give me 3 individual heaters to control on the duet display?

            I will do a test first thing tomorrow morning with this - thank you!

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              Does the Duet even need to know it's a tool? If it's only doing heater control and no motion planning I think you could leave out the tool and fan definition.

              Z-Bot CoreXY Build | Thingiverse Profile

              mikep91undefined 2 Replies Last reply Reply Quote 0
              • mikep91undefined
                mikep91 @Phaedrux
                last edited by

                @Phaedrux

                No it does not actually - i thought these commands were what gave me temp control on the display

                1 Reply Last reply Reply Quote 0
                • mikep91undefined
                  mikep91 @Phaedrux
                  last edited by

                  @Phaedrux

                  Hello again Phaedrux -

                  When testing out the config you posted yesterday.

                  When setting the temperature on the display - I am getting the error "wrong tool"...

                  How would i correct the tool allocations?

                  I can turn them on using macros and M commands but not on the display....

                  Cheers

                  mikep91undefined 1 Reply Last reply Reply Quote 0
                  • mikep91undefined
                    mikep91 @mikep91
                    last edited by

                    @mikep91

                    I have three sensors attached both in the DUET and in the code.

                    However when launching this CONFIG below- I can only see 2 in the DWC --->

                    2xsensorsonly.png

                    When using a completely 2nd code (for another robot with only 2 heaters) I can see all three - however then they are mapped wrong as this only uses 2 heaters outputs.

                    M140 H-1 ; disable heated bed (overrides default heater mapping)
                    M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 on pin spi.cs1
                    M950 H1 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
                    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                    M143 H1 S280 ; set temperature limit for heater 0 to 120C

                    M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin spi.cs2
                    M950 H2 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1
                    M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                    M143 H2 S280 ; set temperature limit for heater 1 to 280C

                    M308 S3 P"spi.cs3" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin spi.cs2
                    M950 H3 C"bedheat" T2 ; create nozzle heater output on e1heat and map it to sensor 1
                    M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                    M143 H3 S280 ; set temperature limit for heater 1 to 280C

                    M570 H1 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.
                    M570 H2 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.

                    ; Fans

                    ; Tools
                    M563 P1 D0 H1 F0 ; define tool 2
                    G10 P1 X0 Y0 Z0 ; set tool 2 axis offsets
                    G10 P1 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

                    M563 P2 H2 F0 ; define tool 1
                    G10 P2 X0 Y0 Z0 ; set tool 1 axis offsets
                    G10 P2 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

                    M563 P3 H3 F0 ; define tool 1
                    G10 P3 X0 Y0 Z0 ; set tool 1 axis offsets
                    G10 P3 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

                    mikep91undefined 1 Reply Last reply Reply Quote 0
                    • mikep91undefined
                      mikep91 @mikep91
                      last edited by mikep91

                      @mikep91

                      IIT WORKS !!!! XD

                      Almost.......

                      Heater 1 and Heater 3 is mismatched - should i remap these in the software or on the duet?

                      config (2).g

                      I restarted the controller and now I am having no tools: :(........ either on the duet or in the DWC

                      591c1c5f-3916-441f-8cfd-02404b52aafa-image.png

                      mikep91undefined 1 Reply Last reply Reply Quote 0
                      • mikep91undefined
                        mikep91 @mikep91
                        last edited by

                        @mikep91

                        I had to map the heater 1 to the bed to get all 3 heaters to work... I am sure there is something wrong with my tools still.

                        a3eafb35-9dde-4780-90d7-e00ea061b3fc-image.png

                        I can only set the temps via DWC - not on the board anymore - how would I go about changing this?

                        M140 H1 ; disable heated bed (overrides default heater mapping)

                        ;M308 S0 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 on pin spi.cs1
                        ;M950 H1 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
                        ;M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                        ;M143 H1 S280 ; set temperature limit for heater 0 to 120C

                        M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 on pin spi.cs1
                        M950 H1 C"bedheat" T1 ; create nozzle heater output on e0heat and map it to sensor 0
                        M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                        M143 H1 S280 ; set temperature limit for heater 0 to 120C

                        M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin spi.cs2
                        M950 H2 C"e0heat" T2 ; create nozzle heater output on e1heat and map it to sensor 1
                        M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                        M143 H2 S280 ; set temperature limit for heater 1 to 280C

                        M308 S3 P"spi.cs3" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin spi.cs2
                        M950 H3 C"e1heat" T3 ; create nozzle heater output on e1heat and map it to sensor 1
                        M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                        M143 H3 S280 ; set temperature limit for heater 1 to 280C

                        M570 H1 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.
                        M570 H2 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.
                        M570 H3 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.

                        ; Fans

                        ; Tools

                        ;M563 P0 D0 H0:1:2:3 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

                        M563 P3 D0 H1 F0 ; define tool 2
                        G10 P3 X0 Y0 Z0 ; set tool 2 axis offsets
                        G10 P3 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
                        M563 P1 H2 F0 ; 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
                        M563 P2 H3 F0 ; define tool 1
                        G10 P2 X0 Y0 Z0 ; set tool 1 axis offsets
                        G10 P2 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator
                          last edited by

                          Is the Duet performing extrusion functions, or is that handled externally as well?

                          It may be a better idea to define the heaters as something else, and not has tools at all.

                          How closely coupled are the heaters? Does the heat from one affect the others, or are they more distinct zones?

                          Z-Bot CoreXY Build | Thingiverse Profile

                          mikep91undefined 1 Reply Last reply Reply Quote 0
                          • mikep91undefined
                            mikep91 @Phaedrux
                            last edited by

                            @Phaedrux

                            That is handled externally aswell.

                            The heat from different zones affect eachother.

                            I will need to define the tools somehow - to be able to turn on the "tools" on the duet display.

                            This setup works for a 2 heater control board:

                            ; Heaters
                            M140 H-1 ; disable heated bed (overrides default heater mapping)
                            M308 S0 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 on pin spi.cs1
                            M950 H1 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
                            M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                            M143 H1 S280 ; set temperature limit for heater 0 to 120C
                            M308 S1 P"spi.cs2" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin spi.cs2
                            M950 H2 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1
                            M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                            M143 H2 S280 ; set temperature limit for heater 1 to 280C

                            M570 H1 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.
                            M570 H2 P10 T100 ; An anomaly on heater 1 must persist for 10 seconds, and must be greater or less than 100C from the setpoint, to raise a heater fault.

                            ; Fans

                            ; Tools
                            M563 P0 D0 H1 F0 ; define tool 2
                            G10 P0 X0 Y0 Z0 ; set tool 2 axis offsets
                            G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
                            M563 P1 H2 F0 ; 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

                            1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              Instead of calling them tools maybe define them all as bed or chamber heaters.

                              Perhaps @deckingman has some recommendations on dealing with multiple heaters on a single multi zone hotend?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              deckingmanundefined 1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman @Phaedrux
                                last edited by

                                @Phaedrux said in Duet 2 Wifi 3 Heater control using bed output + messed up tools:

                                Perhaps @deckingman has some recommendations on dealing with multiple heaters on a single multi zone hotend?

                                Saw my name mentioned. I can go through how I set up my 2 heat zone hot end but to save me reading this entire thread, what's the problem or issue that needs to be addressed?

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                mikep91undefined 1 Reply Last reply Reply Quote 0
                                • mikep91undefined
                                  mikep91 @deckingman
                                  last edited by

                                  @Phaedrux If i define them all as BED i can only turn them all to the same temperature. I need to be able to put my top heater to IE. 190C- middle heater 210C and nozzle heater 230C - as an example.

                                  @deckingman

                                  Hi deckingman - thank you for jumping in.

                                  I am using a duet to control some different hotends. Some with 2 heaters and some with 3 heaters.

                                  I am having the problem that i cannot turn on my tools on my paneldue with my 3 heater system.
                                  I can turn them on in my DWC. But when I'm looking at the display of the 3 heater one: I dont have the option to toggle the tools on/off - I am 99,9% sure my tools is not defined properly....

                                  Not able to turn on tools: (3 heaters)
                                  DuetNoHeaters.jpg

                                  Able to turn on tools: (2 heaters)
                                  Duet2Heatersworks.jpg

                                  On the one with 3 heaters; i have no option to turn on my tools.

                                  Config of 3 tools: - Only working on WIFI.
                                  M563 P3 D0 H1 F0 ; define tool 2
                                  G10 P3 X0 Y0 Z0 ; set tool 2 axis offsets
                                  G10 P3 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
                                  M563 P1 H2 F0 ; 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
                                  M563 P2 H3 F0 ; define tool 1
                                  G10 P2 X0 Y0 Z0 ; set tool 1 axis offsets
                                  G10 P2 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

                                  Config of 2 tools: Works both on Wifi and on the paneldue:
                                  ; Heaters
                                  M140 H-1 ; disable heated bed (overrides default heater mapping)
                                  M308 S0 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 on pin spi.cs1
                                  M950 H1 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
                                  M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                                  M143 H1 S280 ; set temperature limit for heater 0 to 120C
                                  M308 S1 P"spi.cs2" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin spi.cs2
                                  M950 H2 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1
                                  M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                                  M143 H2 S280

                                  Hope this makes sense.
                                  Thank you!

                                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                                  • deckingmanundefined
                                    deckingman @mikep91
                                    last edited by

                                    @mikep91 Er, no that's not making much sense. @Phaedrux mentioned that you need help setting up hot ends with multiple heaters (and zones) and that's what you stated above. However, your tool definitions only use a single heater so I'm a bit confused.

                                    If it helps, this is what I used when I had a dual zone/dual heater hot end. Firstly I defined the sensors thus:

                                    M308 S1 A"Nozzle" P"2.temp1" Y"thermistor" T100000 B4725 C7.06e-8; Set sensor 1 for hot end as thermistor (Semitec) connected to expansion board 2 io1.in
                                    M308 S2 A"Combi Block" P"2.temp2" Y"thermistor" T100000 B4725 C7.06e-8; Set sensor 2 for combining block thermsitor (Semitec) connected to expansion board 2, io2.in 
                                    

                                    Then the heaters thus:

                                    M950 H1 C"2.out1" T1; hot end heater using sensor 1 and connected to expansion board 2 out1.
                                    M950 H2 C"2.out2" T2; hot end heater using sensor 2 and connected to expansion board 2 out2.
                                    

                                    Then the tools were defined like so (note the two comma separated heaters)

                                    M563 P0 S"PLA" D0:1:2:3:4 H1:2 ; Define tool 0 - heaters 1 and 2, drives 0 to 5 inclusive.
                                    G10 P0 X0 Y0 ; Set tool 0 axis offsets
                                    M567 P0 E1.00:0.00:0.00:0.00:0.00 ; Set mixing ratios for tool 0 
                                    
                                    M563 P1 S"ABS" D0:1:2:3:4 H1:2 ; Define tool 1
                                    G10 P1 X0 Y0 ; Set tool 1 axis offsets
                                    M567 P1 E0.00:1.00:0.00:0.00:0.00 ; Set mixing ratios for tool 1 
                                    

                                    etc for tools 2 to 5.

                                    Then the setting of tool temperatures was done using this format

                                    M568 P1 R260:210 S260:210; ABS
                                    M568 P2 R290:210 S290:210; PA6-CF
                                    

                                    etc... Note the comma separated values to give the active and standby temperatures for each of the two heaters.

                                    Does that help at all?

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator @deckingman
                                      last edited by

                                      @deckingman It's a bit unique in that in his case the Duet is only controlling the heaters and nothing else. It's a robot arm doing the printing and extruding. Trying to get control of the heaters without the baggage of a "tool".

                                      @mikep91 The PanelDue is pretty rigid in how it handles heaters. If you haven't already updated the firmware to 3.4x on the Panel you should do so.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      deckingmanundefined mikep91undefined 2 Replies Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman @Phaedrux
                                        last edited by

                                        @Phaedrux said in Duet 2 Wifi 3 Heater control using bed output + messed up tools:

                                        @deckingman It's a bit unique in that in his case the Duet is only controlling the heaters and nothing else. It's a robot arm doing the printing and extruding. Trying to get control of the heaters without the baggage of a "tool".

                                        I'm even more confused now. The OP keeps talking about messed up tools and even has that in the title. What's wrong with assigning multiple heaters to tools as I've described? Where is the "baggage" in that? When multiple heaters are assigned to tools, they all show up in DWC next to each tool along with all their respective temperature values.

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

                                        1 Reply Last reply Reply Quote 0
                                        • mikep91undefined
                                          mikep91 @Phaedrux
                                          last edited by

                                          @Phaedrux

                                          Hey Phaedrux.

                                          I have one Paneldue with 3.4.1 and this display is not working with any of my Duet's (3.4.6).... Therefor I dare not to upgrade the other ones, before this one display with 3.4.1 works...

                                          @deckingman

                                          Thank you very much for your config. I will look through mine for errors.

                                          You are absolutely correct, i need to 3 heaters to be assigned to 3 different tools to allow for seperate control.

                                          Thank you - will report back!

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA