Sensor not showing on DWC
-
@t3p3tony Thr purpose of these "heaters: is to have a security control over the max temperature the chambers resisters can reach. O created these heaters, connected their outputs to reles, and in this way I wanted to be able to monitor and control those heaters. Both reles are also conected to the "main" heater assigned to the chambers, so basically I can turn on the chamber, the main rele activated giving power to the secondary reles, but if any of them reaches the max temperature, I can turnoff each one of them individually.
-
@tinchus ahh I see.
In that case I think you use M143 with a secondary temperature sensor for the main chamber heater definitions, not for new heaters.
-
@t3p3tony Sorry, I dont understan the answer, what Im doing wrong?
-
@Tinchus
The confusion for me is you have 1 chamber heater configured on out7
From the comment your chamber heater is H0M141 H0 ; map chamber to heater 0
So
I think you need to map the temperature sensor to that one:
M143 H0 P1 S100 T5 A2
later you have said that H5 and H6 are chamber heaters on out8 and out5.
How is everything wired?
-
@t3p3tony H0 is the heater defined for the chamber. So I have a rele conected to yhe output of this heater, and a sensor or it. This is how I send energy to the rele and so to the resistors (2 of them).
Through this main rele, I send energy to another 2 reles. And each of these reles give energy to each one of the 2 ressitors.
Then I defined heaters 5 and 6, with sensors 3 and 4. Heater 5 is wired to out 8 and heater 6 to out5.My intention was: in this way I can turn on the chamber, default state of out8 and out5 is ON (notice the !) so those 2 reles are always sending energy, but the energy is really sent only when the main rele is ON. BUT monitoring sensor 3 nad 4, I shoudl be capable of turn off or on heater 5 or 6 if any of them reaches a dangerous temperature. Im measuring the resistors themperute there NOT the chamber temperature.
Makes sense?
-
@tinchus it does make sense, but I am not sure M143 will work to control a heater that is not associated with any heating task (i.e. its not a tool, a bed or a chamber) @dc42 would need to say if it is supported.
As a test why not create two more chamber heaters using M141 for those secondary "heaters" and then see if M143 works as expected for them.
-
@t3p3tony Im trying to to do this following your advice and create 2 heaters for the chamber. I did this but it is not working, looks like the chamber definition only accepts 1 heater? Am I doing something wrong?:
M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"chamber" ; configuro sensor 0 en pin temp0
M950 H0 C"out7" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 R0.31 C284.700:284.700 D30 S1.00 V0 B0 ; enable PID mode for the chamber heater and set PWM limit
M308 S3 P"spi.cs0"Y"thermocouple-max31856" K"K" A"chamber_resistorR"
M308 S4 P"spi.cs1"Y"thermocouple-max31856" K"K" A"chamber_resistorL"
M950 H3 C"out8" T0 ;T3
M141 H0 H3
M143 H0 P0 S240
M143 H0 T3 S150 A2
M143 H3 T4 S150 A2 -
I meant leave this part of your original config as it was:
M950 H0 C"out7" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.2 C284.700:284.700 D30 S1.00 V0 B0 ; enable PID mode for the chamber heater and set PWM limit M141 H0 ; map chamber to heater 0 M143 H0 P0 S240 ; set temperature limit for heater 0 to 240C
but add the two additional chamber heaters for the two resistors
;main resistors security control M308 S3 P"spi.cs0"Y"thermocouple-max31856" K"J" A"chamber_resistorR" M950 H5 C"!out8" T3 M141 H5 ; map chamber heater safety control R to heater 5 M143 H5 T3 S100 A2 M308 S4 P"spi.cs1"Y"thermocouple-max31856" K"J" A"chamber_resistorL" M950 H6 C"!out5" T4 M141 H6 ; map chamber heater safety control L to heater 6 M143 H6 T4 S100 A2
-
@t3p3tony ok, im still fighting this issue.
I went to a more simple configuration because with the one I wanted above, I never got to the point of making all the outputs work.
I have now 2 reles, connected in 2 independent outputs and this is the config:M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"chamber" ; configuro sensor 0 en pin temp0
M950 H0 C"out7" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 R0.31 C284.700:284.700 D30 S1.00 V0 B0 ; enable PID mode for the chamber heater and set PWM limit
M308 S3 P"spi.cs0"Y"thermocouple-max31856" K"K" A"chamber_resistorR"
M308 S4 P"spi.cs1"Y"thermocouple-max31856" K"K" A"chamber_resistorL"
M950 H3 C"out8" T0 ;T3
M307 H0 R0.31 C284.700:284.700 D30 S1.00 V0 B0 ; PID heater chamber 2
M141 P0 H0
M141 P1 H3
M143 H0 P0 S240
M143 H0 T3 S350 A2
M143 H3 T4 S350 A2
M143 H3 P1 S240My problem is weird: I excute in my gcode:
M141 H3 S150 <<<< then heater 3 turns ok, OK so far
M141 H0 S150 <<<< heater 0 turns on, BUT H3 turns offWhy is doing this?
-
@tinchus M141 has two parts to it:
https://duet3d.dozuki.com/Wiki/M141- Setup a chamber heater
- Control a chamber heater
To setup a chamber heater:
M141 P0 H0 ; configure chamber heater 0 to use heater 0 M141 P1 H3 ; configure chamber heater 1 to use heater 3
To use a chamber heater:
M141 P0 S150 ; set chamber heater 0 to 150C M141 P1 S150 ; set chamber heater 1 to 150C
I think the issue here is you are using configuration commands "H" in control. This may not be the only issue but its certainly not going to help!
Also I think your M143 commands are not quite as excepted, If I understand correctly the idea is you have two heater protection instances, one using the chamber temperature and another using the heater temperature.
https://duet3d.dozuki.com/Wiki/M143A heater can have multiple (up to 3 normally) protection instances:
M143 H0 P0 S240 ;Heater 0 monitor 0 uses sensor 0 to generate a heater fault if the reading exceeds 240.0°C M143 H0 P1 T3 S350 A2 ;Heater 0 monitor 1 uses sensor 3 to temporarily switch off if the reading exceeds 350.0°C M143 H3 P0 S240 ;Heater 3 monitor 0 uses sensor 0 to generate a heater fault if the reading exceeds 240.0°C M143 H3 P1 T3 S350 A2 ;Heater 3 monitor 1 uses sensor 4 to temporarily switch off if the reading exceeds 350.0°C
So in your command for H0 you only have 1 protection instance as P0 is the default and you do not specify a protection instance here: M143 H0 T3 S350 A2
-
This post is deleted! -
@Tinchus I just saw your other thread where you say:
But I tried to start printing today and I found this issue: so far I was using the DWC, on the screen I choosed the desired temperature. Due to restrictions or maybe my lack of knowledge on reprapfirmware, my config created on the screen 2 chambers, so on the screen I have to set up the chamber temperature on both of them. No a problem for me. And this is working ok. I set up the temperature on them and both resistors turn on.
Now I moved into printing. I set up my start gcode using M141 P0 S80 and M141 P1 S80 in order to turn on both chamber heaters.
To my surprise this gcode is not working : M141 P0 S80 turns on 1 heater, but them M141 P1 S80 turns on the other heater but turns off the first one. And so on: every time I execute a gocode to turn on 1 heater the other one is turned off.Lets keep the discussion here so its easier to follow later
Ok so this has progressed to the point where the two chamber heaters work when controlled with DWC, but not in a print file?
I have replicated part of your system as best I can (I dont have a chamber with two heaters so have to work around this) and If I send:
M141 P0 S150
M141 P1 S150from the console, both heaters stay on (at least until the heater faults i get beacuse this is not a proper chamber heater just a replication).
Can you try sending the commands form the console and see the results.
If the first heater turns off then are any errors reported in the console? Also what is the state of the heater in DWC?