3.2 heater tuning issues
-
can increase the dead time by 10 seconds D14 and try heating
-
I'm a little confused. The tuning appears to have succeeded.
Did you save the results with M500? Have you then added M501 to the end of config.g to load the saved results at boot? Have you used that M307 command that it suggests?Nevermind, I see you've copied the values to the config. In which case, are you sure that config-override.g isn't getting run and maybe overriding your values from config.g? If the file exists, and you're not using it, delete it.
If it still errors out when using that M307, increasing the dead time as Veti suggests may help.
It's a very large bed (400mm^2), but also a very large heater (1000w), so I'm not surprised it has a low dead time. So if the thermistor is directly in contact with the heater it will register the heat up quite quickly, but the large bed mass will still take a long time to saturate with heat.
Can you confirm with M115 that firmware 3.2 has been installed?
Can you send M98 P"config.g" and report any errors? -
@Phaedrux yes, the tuning succeeded but still I get the error when printing (didn't happen with the duet2). I have no config-override.g.
M115 FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.2 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2021-01-05
M98 P"config.g" does not report any error.
I'll try increasing the dead time as @Veti suggests. Thanks!
-
If that doesn't help I'll see what DC42 suggests. The new algorithm is quite new afterall.
-
@Phaedrux I tried increasing the dead time (by 5 each time up to 20) but still "Error: Heater 0 fault: temperature rising much more slowly than the expected 0.4°C/sec". I'll try to put some crazy high value (100?), but I have to wait for the plate to reach ambient temp and it takes an hour every time
It's weird because I get the error always at around 50C. I guess it's very fast to go from 20 to 50 and being such a big bed it slows down dramatically from 50 to 60...
maybe I should do the calibration when the bed is already at around 45?Edit: nope, it seems the calibration cycles between 50C and 60C 20+ times, so it can't be it. What I noticed is that each time I run the calibration the values for M307 are "substantially" different.
-
@matt3o I've have a bed very similar to yours (400x400mm). Mine is 10mm thick with 12mm semi-rigid insulation under it but has a slightly less powerful mains heater (800Watt IIRC). The temperature sensor is located in a deep 3mm dia hole in the side of the bed, as close to the top surface (and as far away from the heat pad) as possible.
Looking at my config.g, I last tuned that heater on 6th Auguest 2019 so that would have been with gen 3 but an older firmware. Here is what I have
M307 H0 A230.8 C2252.5 D20.3 S1.00 B0 V27.3 ; auto tune 06/08/2019
I've just "upgraded" to 3.2. I'll try tuning that heater later today and let you know how I get on and what values I end up with. (From what I've seen on these forums, I'm dreading what will happen............).
-
@deckingman you are the 6-input hotend guy. A heated bed can't scare you!
-
Dead time 50 finally worked (from the 4 suggested). Bed overshoots quite a bit but that's easily fixed by setting a lower temp.
I'll start lowering the value at each print until I find the optimal dead time. The auto calibration probably needs some work though
-
@matt3o said in from duet 2 to duet 3 bed temp issues:
Bed overshoots quite a bit but that's easily fixed by setting a lower temp.
-
@matt3o said in from duet 2 to duet 3 bed temp issues:
@deckingman you are the 6-input hotend guy. A heated bed can't scare you!
6 input hot end, 7 axes CoreXYUVAB, 13 steppers, one main Duet board and 3 expansion boards as well as a mains heated bed, none of which bother me in the slightest - but the new firmware (or what bugs, faults or foibles may be contained therein) terrifies me.
But actually, I've now completed the heated bed tuning, with the new algorithm and RRF 3.2. "stable (ish)", and can confirm that my prior misgivings were unfounded in this case. The process completed without any obvious signs of bad behaviour. I didn't take much note of the time but it took less than 2 hours overall (it takes about 13 minutes to get from ambient of around 20 to 90 deg C but much much longer to cool because if the insulation).
For info, the parameters I ended up with were as follows
M307 H0 R0.104 C2186.5 D28.16 S1.00 B0; auto tune 08/01/2021 using RRF 3.2.
Vin was 27.6 but that's irrelevant with a mains heated bed. I haven't tried an actual print yet.
-
@deckingman have you already tried to print? because the calibration completed correctly for me too.
wait until the bed is back to room temp, and try to heat it up to 60-90C.
-
@matt3o said in from duet 2 to duet 3 bed temp issues:
@deckingman have you already tried to print?................
Read my last sentence.
I'll have to wait another hour or so for the bed to cool to ambient, then I'll try heating it.
-
@deckingman oh yeah sorry, I missed that last sentence after the code. finger crossed then. but your dead time seems high enough and it might work
-
@matt3o Ok, so it took a while for the bed to cool but eventually got down to 23 degC which is close enough to ambient I think. I just heated it to 70 deg C (I normally run it at 50 or 60 but because of your problems I decided to use a higher temperature).
I can report that I had no problems. The heating process was smooth and even - the shape of the slope is a nice straight line up to around 69 deg C where it gradually curves to a slight overshoot which I observed to be 0.7 deg C (to a temperature of 70.7 deg C) before very gradually dropping back down to 70.0 where it sits as solid as a rock. I'd say that the control is actually better than the old algorithm (this is from someone who has no hesitation in being critical when things are not as good as expected).
So from my results, with my similar build plate configuration, it looks you might have some other issue.
One thing that comes to mind is that when I changed from Duet 2 to Duet 3, the trace for the bed temperature was very noisy. That may have been coincidental because there were some wiring changes as well. On the other hand, it might be that Gen 3 products are more susceptible to noisy signals.
This noise on the thermistor signal did play havoc with the bed heater control. My solution was to use screened cable for that thermistor and connect the screen to gnd. Does your signal look noisy or is it a nice, clean, "sharp" line?
EDIT. ....and of course, to be clear, I had no heater fault messages just now.
-
@deckingman thanks for your feedback.
The curve is rather smooth, without jittering. It's very fast from 20 to 50 then it becomes incredibly slow. So, yeah definitely something's wrong there.
I'll check my wires but everything's grounded and the exposed thermistor cable is not longer than 10cm.
-
@matt3o said in from duet 2 to duet 3 bed temp issues:
@deckingman thanks for your feedback.
The curve is rather smooth, without jittering. It's very fast from 20 to 50 then it becomes incredibly slow. So, yeah definitely something's wrong there.
I'll check my wires but everything's grounded and the exposed thermistor cable is not longer than 10cm.
Long shot - the heater doesn't have a thermal cut-out embedded in it does it? If there was something like that, it would explain why it heats quickly to around 50 then cycles slowly beyond that. Alternatively, maybe the heater has a fault of the "bi-metalic" nature with the heating element itself.
-
okay, insulated the wires and tried different in/out for bed and thermistor. same result.
what I don't understand is that during tuning the bed is super snappy. It reaches the temperature very quickly, but then during printing it becomes very slow.
Stupid question incoming: is it normal that the bed light on the duet is flashing during heating? I guess it's showing the PWM but I don't remember if it was flashing on the duet2...
@deckingman said in from duet 2 to duet 3 bed temp issues:
Long shot - the heater doesn't have a thermal cut-out embedded in it does it? If there was something like that, it would explain why it heats quickly to around 50 then cycles slowly beyond that. Alternatively, maybe the heater has a fault of the "bi-metalic" nature with the heating element itself.
nah, don't think that's the case. Again, it was working great on the duet2 (prev firmware) both in pid and BB.
-
@matt3o said in 3.2 heater tuning issues:
...............is it normal that the bed light on the duet is flashing during heating? I guess it's showing the PWM but I don't remember if it was flashing on the duet2...
Yes that's normal. It depends a bit on what frequency you have the PWM set to. (That's the Q value in your M950 H0).
What I see is that the light is fully on as the bed start to heat - that's because the PWM ratio (not the frequency) will be at 1.0. Then when the temperature gets close to the set point, PWM will start to kick in and the LED will start to flash - on when the heater is on, off when it's off.
For the hot end, the LED appears to be fully on all the time but that's because the PWM frequency is much higher so retinal retention (or whatever it's called) comes into being and one's eyeball can't detect the rapid flashing.Actually, that's a point .......... for use with an SSR, you should have that set to 10 Hz. If it's too high, that might possibly be your problem because the SSR might not be able to switch at the frequency that the Duet board puts out. During the initial heating, that won't matter because it'll be fully on, but as the temperature approaches the set point, then PWM will kick on and the SSR will start to switch. So you'll get the initial rapid rise, then the temperature might go haywire as it approaches the set point because the SSR can't switch at the frequency that Duet is out putting.
That reminds me of something else. I could be wrong but I have a nagging thought that Duet 2 always used a default value of 10 Hz for a bed heater but Duet 3 does not. If that is the case, then might indeed be the cause of your problem. So add
G10Q10 to your M950 H0 if you don't already have that. -
@deckingman said in 3.2 heater tuning issues:
That reminds me of something else. I could be wrong but I have a nagging thought that Duet 2 always used a default value of 10 Hz for a bed heater but Duet 3 does not. If that is the case, then might indeed be the cause of your problem. So add G10 Q10 to your M950 H0 if you don't already have that.
Yeah I've read that on the docs, the default is 500 and you have to set it 10 for the SSR. "unfortunately" I have that already... But as far as I can tell the LED is always flashing (only during calibration is always on). I'll check again later when the bed is finally cold again (gosh this is extenuating )
that was a good call, though! Thanks. Maybe my ssr needs a different frequency?
-
@matt3o I think that because you get an initial, rapid, temperature rise, that the PWM is working as it should. But it could be that the SSR goes flaky when it needs to switch on and off rapidly. I.e when the PWM mark-space ratio changes (the "W" part of PWM). You could try a really low frequency like say 1Hz. If that doesn't work, maybe try another SSR.
Might it also be possible that the MOSFET on the Duet board is flaky and goes a bit haywire when it has to switch rapidly? Dunno - not my area of expertise.......