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.
    • mikep91undefined
      mikep91 @Phaedrux
      last edited by mikep91

      @Phaedrux

      It is for controlling a 3 heater hotend (Dyze Pulsar)

      Therefor I am turning off the bed heater - but my tool mapping seems to be wrong so i keep getting the 3rd temperature on the bed heater output instead of a 3rd tool - and at the same time I'm get them mismatched somehow....

      Will do some wiring checks and numbering of wires tomorrow hopefully sort it up.

      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

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

        Are you using a heated bed, or not?

        Z-Bot CoreXY Build | Thingiverse Profile

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

          @Phaedrux

          No - not controlled off the DUET - duet is only supposed to be controlling 3 heaters in one hotend

          Elaborated in answer above

          1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA