How can I calibrate the temperature of my bed
-
@dc42 You are right, it is 106 kilo ohms and not ohms... sorry for the wrong statement..
-
@dc42 wenn i am starting the bed heater it shows "hardware error no sensor" without starting it shows 2000 degrees
-
@axiom said in How can I calibrate the temperature of my bed:
@dc42 You are right, it is 106 kilo ohms and not ohms... sorry for the wrong statement..
So if it's 106 kilo ohms it is a thermistor and should not be connected to the PT100 daughterboard. Connect it to the mainboard instead and change your config.g to use values for a thermistor.
-
it is 106 kilo ohms and not ohms
Ok, thermistor. So, for a single heater with thermistor, this is what works:
M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
Now, you have to decide what to do with four thermistors and four heaters. Let's assume you want to control the bed as a single unit - I've understood that you wired all heaters to "Bed Heat", i.e. this connector:
As you have four 24V PSUs, one for each heater, how do you control these? The proper way to do this is to put a SSR (type DC/DC) between the outcome (-) of each PSU and its heater - if you use a single SSR to switch mains power of all PSUs, you risk their early demise: as the signal from "Bed Heat" is pulsed, it switches rapidly between on and off. You can however use the SSR on mains to power the PSUs. How to do this is described in the last paragraph of this link.Now, the thermistors: You should use all of them for a combined reading. How this works is outlined in the documentation under Using multiple temperature sensors for a single heater.
I tend to recommend solution 1 (connect them in series), but never tried that with 4 thermistors… at 400 kOhm, risk of interference with power signals is high. Maybe a serial/parallel combination is better in this case: two thermistors each in parallel, i.e. connected as pairs in series. -
@infiniteloop said in How can I calibrate the temperature of my bed:
Unfortunately I'm not at the output yet. I have now connected the PT100 daughterboard (see photo above) and entered the following value:; Heaters
M308 S0 P"spi.cs1" Y"rtd-max31865" R4700 T100000 B3950 ; configure sensor 0 as PT100 on pin spi.cs1
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable 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"thermistor" T100000 B4138 ; 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
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
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 280C2000 degrees and the error message: failed to read seonsor: sensor hardware error are displayed in the console
-
@infiniteloop said in How can I calibrate the temperature of my bed:
or do I have to send back the 2 daughter boards because they are not suitable for these thermistors? -
The PT100 daughterboards are of limited value unless you have PT100 sensors to go with them. You can't just configure them into being something else.
-
@axiom Then I omit the daughterboardas.
Then the safest thing is to connect the thermistors in series?
However, I didn't quite understand the description of how to declare all 4 pieces in the code -
@infiniteloop said in How can I calibrate the temperature of my bed:
The proper way to do this is to put a SSR (type DC/DC) between the outcome (-) of each PSU and its heater
The same should also work with mosfets for each part?
-
@axiom said in How can I calibrate the temperature of my bed:
mosfets for each part?
Moin. Yes, absolutely.
Daughterboards: as @Phaedrux told you, these are of "limited value" with thermistors. That's an understatement - you can't attach thermistors to them. Instead, attach the thermistors to "bedtemp".
I'll post how to wire the four thermistors - give me a minute …
-
@axiom Here are two of the "better" options how to wire the thermistors:
Left, it's a serial arrangement, resulting in a high impedance of 400 kOhm. As I wrote earlier, risk of interference with power signals may be high.
To the right, you see a serial/parallel combination: to the Duet, that arrangement looks exactly like a single thermistor.
In either case, the "open ends" at the bottom of my artwork are meant to be connected with "bedtemp".
-
@infiniteloop II opted for the serial/parallel combination, but where exactly do I have to specify half the resistance in the code (that's what it says in the description)?
Here my code:
Heaters
M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; 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 B1 S1.00 ; enable 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"thermistor" T100000 B4138 ; 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
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
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 280CI stopped the autotuning because the cables got so hot!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
@infiniteloop My mistake, I did the math again...I have to solder on a thicker cable extension...
-
@axiom said in How can I calibrate the temperature of my bed:
I opted for the serial/parallel combination, but where exactly do I have to specify half the resistance in the code (that's what it says in the description)?
The description talkes of two thermistors, not four. Two thermistors in series double their resistance (2 x 100k = 200k), wired in parallel it's half of the resistance (100k / 2 = 50k). In your case, you have two times two thermistors in series (TH_Heater_1 + TH_Heater_2 = 200k, TH_Heater_3 + TH_Heater_4 = 200k). These pairs (of 200k each) are wired in parallel, et voilà: you get 100k (200k / 2). That's why I wrote:
To the right, you see a serial/parallel combination: to the Duet, that arrangement looks exactly like a single thermistor.
As I see from your config snippet above, you've entered the proper values for this thermistor array:
M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
Now to the heaters:
I stopped the autotuning because the cables got so hot!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OK, you've then used a thicker cable extension, but I wonder: how did this work initially when you tuned just one single heater? Don't you connect each heater individually to its dedicated PSU? If so, the currents should only add up on the mains side… have I missed something?
One last thing: please post the tuning report. If the bed heats up as fast as last time, maybe we should reduce power a bit by limiting the PWM to less than 1.0 (that's the S parameter in
M307
). Finally, you build a 3D printer, not a pizza oven -
@infiniteloop Hello, pizza oven was a separate project :-). When I first tested the single mat, I just didn't pay attention to the heat from the cable. I have now ordered a thicker cable for the extension...will probably not arrive until Saturday....I would rather not do the tuning until then.
My nozzles are still an open construction site...I have the Volcano Tunig set (2 heads) https://www.3djake.com/e3d/supervolcano-upgrade-kit-300-mm?sai=7419 . I also started the autotuning...at 180 degrees the heating process breaks off...can you help me there too or should I open a new topic? -
@axiom Better keep this thread focussed on your array of bed heaters, so that other readers with similar questions can reference it. And in case you want to limit PWM a bit, feel free to return to this thread.
Tuning your volcanos is a different topic. BTW, did you have a look at other threads dealing with hotend tuning under RRF 3.2 ff? With a quick forum search, you’ll find several discussions of 'tuning a heater' vs. 'tuning a tool'. For an in-depth treatment of the topic, you might also want to look at this here: Tuning the Heater Temperature Control.
-
@infiniteloop Ok I understand, I can only continue with the bed when the new cable extensions are hopefully there on Saturday, then I will report back
-
The new cable extensions are hopefully there on Saturday, then I will report back
That's fine. CU
-
@infiniteloop Now I soldered the cable extensions and did an autotuning on the bed:
Everything was done, but the following message came up:
Warning: heater behavior was not consistent during tuning
Auto tuning heater 0 completed after 3 idle and 25 tuning cycles in 2290 seconds. This heater needs the following M307 command:
M307 H0 R0.397 K0.309:0.000 D2.40 E1.35 S1.00 B0
Edit the M307 H0 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.Should i just be happy and ignore it?
-
Warning: heater behavior was not consistent during tuning
I'm not sure what this means. Did you note any anomalies in the temperature graph of DWC during tuning? Spikes or other abrupt changes? Maybe @droftarts or @Phaedrux have an explanation for this warning?
Should i just be happy and ignore it?
You can insert the tuning results into your config.g and see how it works. However, there is a probability of occasional heater warnings during print.