Heatbed and PID
Hey, so im having a question about the heated bed and duet.
So im using a SSR to controll my 150x150mm bed at 300W.
Now im not sure whats the best way to get stable bed temps. I tried with bang bang mode for first, and it worked ok with around +-1 degree variation. I also tried with bang bang set to false, but then it will take forever for pid tuning. Its now tuning for almost 1h and not finished by now. Also its going to phase 3, with fan off. Is there a way to turn a fan off for the heatbed?
my config.yml: https://just-paste.it/k9LfZLJwcT
jay_s_uk last edited by
@staticred the fan off is erroneous for heated bed tuning. Just leave it to it and it'll finish eventually
@jay_s_uk Im still havin the problem, PID Tuning did run for 3h for the bed. Still no results. I can run it once when no PID values are set in the config. It takes around 15 minutes then to tune in. Afterwards i set the values in config.g and no further pid is possible. Which is sad because im still getting +-1 Degree.
What kind of bed plate and heater is it? Can you give more details? Photo?
What command are you sending to start tuning?
What firmware version?
@phaedrux Hey, so im running a 150x150mm Heater with 300w of power. This is controlles by an SSR and with 220v. It then heats up an 6mm thick aluminium plate, the termistor is underneath the silicon heater attached.
To start PID im doing a simple M303 H0 S60, H0 being my bed heater.
Running latest Duet RepRap Stable Release.
Firmware: RepRapFirmware for Duet 3 Mini 5+ 3.2.2 (2021-02-11)
What values does it produce once the tuning is complete?
; Heaters M308 S0 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin temp1 M950 H0 C"out0" T0 Q10 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 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"temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out1" T1 ; create nozzle heater output on out1 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 M307 H0 R1.168 C313.3 D6.25 S1.00 ; bed pid M307 H1 R2.798 C162.9:144.9 D7.50 S1.00 V23.7 ; hotend pid
@phaedrux M307 H0 R1.160 C255.8 D6.62 S1.00 ; bed pid
tgese are the current values i use, set bangbang to false and frequency Q to 10
Just to confirm, you've got temp1 thermistor on the heater0 (bed) and temp0 thermistor on heater1 (hotend)?
And you've got a semitek thermistor on both bed and hot end?
Have you ever let the PID tune run to completion or have you always canceled it after a few hours?
Was tuning started from room temp?
@phaedrux Yes for basically all the questions. I once let it run 3 hours, but then stoped it because i had to go away. The PID for the hotend works perfectly tho. I get really like 0 degree variation. But on the bed i just cant get it working.
Can you post a photo of the bed assembly?
150x150x6mm and 300W of AC power should heat up fairly quickly, but maybe takes a lot longer to cool down. That's usually what the tuning cycle is waiting for the longest.
@phaedrux so this is what my bed assembly is looking like. Yes it needs kind of long to cool down.
Is that a Voron0? Closed sides but open top?
@phaedrux its a selfmade printer. Yes sides are closed by now, but top will get enclosed some time soon aswell.
I believe there is plans to make the tuning cycle time limitable in such cases. Not sure when that's coming though.
As it is, you can probably get a good tune from it by letting it play out, though with a lot of heat retention that could take awhile.
@phaedrux okay i will let it run trough now, im home all day so i hope it does not take like 10 hours xD
@phaedrux so after a bit i got this message this time
Warning: heater behaviour was not consistent during tuning
Auto tuning heater 0 completed after 6 idle and 25 tuning cycles in 2735 seconds. This heater needs the following M307 command:
M307 H0 R1.189 C136.8 D6.60 S1.00 V23.8
Edit the M307 H0 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.
@phaedrux okay so i was able to fix it. I let it run trough for like 4h, then i had it oscilating, so i rised the d value a bit and now im getting a stable temp.
Glad you got it. A little manual nudging to get it stable is pretty common. The tuning algorithm is still being improved upon to better deal with the edge cases like very large beds or very high powered heaters or chamber heaters etc.