Duet 2 Wifi 3 Heater control using bed output + messed up tools
-
Why are you using the expansion header? Why not the actual bed heater output?
-
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
-
Are you using a heated bed, or not?
-
No - not controlled off the DUET - duet is only supposed to be controlling 3 heaters in one hotend
Elaborated in answer above
-
@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.
-
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?
-
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
-
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!
-
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.
-
No it does not actually - i thought these commands were what gave me temp control on the display
-
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
-
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 --->
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 120CM308 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 280CM308 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 280CM570 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 0CM563 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 0CM563 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 -
IIT WORKS !!!! XD
Almost.......
Heater 1 and Heater 3 is mismatched - should i remap these in the software or on the duet?
I restarted the controller and now I am having no tools: :(........ either on the duet or in the DWC
-
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.
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 120CM308 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 120CM308 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 280CM308 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 280CM570 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 0CM563 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 -
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?
-
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 280CM570 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 -
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?
-
@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?
-
@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.
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)
Able to turn on tools: (2 heaters)
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 0CConfig 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 S280Hope this makes sense.
Thank you! -
@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?