PTC Bed heater
-
@akstrfn said in PTC Bed heater:
@dc42 do you think its sensible to have a feature in firmware to select different PWM for different temperatures and leave the heater constantly on or dynamically adjust max PWM based on temp measurements?
Is there any problem with leaving the PID loop running when using a PTC heater?
-
@dc42 said in PTC Bed heater:
@akstrfn said in PTC Bed heater:
@dc42 do you think its sensible to have a feature in firmware to select different PWM for different temperatures and leave the heater constantly on or dynamically adjust max PWM based on temp measurements?
Is there any problem with leaving the PID loop running when using a PTC heater?
It might be the issue that the temperature sensor is separated from the heaters but now it oscillates. I did PID tunning for 90 degrees and then used the bed at 80 degrees and the temperatures went from 79 to 82. Also the gain was estimated to 220 which is not correct for the heater I have since its max temp is 150 degrees.
-
I'd be tempted to try attaching the sensor directly to one of the heaters. Since the performance of all 4 should be well matched. Then you have more direct PID control feedback from the actual heater.
-
@Phaedrux I am still trying to tune it manually and if I fail then I'll try your suggestion. Today I did few test with different PWM duties and I was quite disapointed to see that PWM of 0.2 leads to max temps of around 102 meaning that my idea of fixing PWM is not very useful. Might be due to SSR and low PWM but at the end I'll probably need to read more of PTC theory in order to figure out whats exactly happening.
-
Is there any chance you can shoot a picture of the bed with a thermal camera?
-
@mrehorstdmd Unfortunatelly I dont have one and I probably wont buy one in the near future. I did however clamp the thermistor from the multimeter on few edges and the temperature is nearly the same as what I get in DWC (with a small delay of few seconds). I still haven't measured the center of the bed from the top though, but I dont think its much different from the bottom measurement. Bed thermistor is covered in Noctua's thermal compound so heat transfer should be ok (at least until it dries out).
-
@akstrfn said in PTC Bed heater:
It might be the issue that the temperature sensor is separated from the heaters but now it oscillates. I did PID tunning for 90 degrees and then used the bed at 80 degrees and the temperatures went from 79 to 82. Also the gain was estimated to 220 which is not correct for the heater I have since its max temp is 150 degrees.
The gain of a PTC heater will reduce with increasing temperature. You can try setting it lower, but if you set it too low you will get undershoot.
The usual cure for oscillation is to increase the dead time.
-
@dc42 I managed to tune it for one temperature however then I have problem with the other temperatures i.e. on 90 degrees it is very stable but on 60 its unstable and so on. I doubt it will be possible to stabilize it on multiple different temperatures without changing the pid model. But since I can tune suitable pwm's, for now I'll just dynamically change them when printing on different temps to gain more experience with this setup before modifications.
Some interesting things.
I noticed is that under certain circumstances even when the temperature is constantly increasing and crosses target temperature duet (pid) still sends signals to feed some power to the heaters often increasing the overshoot.
When I get the pid coefficients right, it seems that the pid does exactly what I wanted to do initially i.e. it outputs constant duty cycle which leads to constant power draw according to my wall power meter i.e. it is never off but constantly on the same power which makes the whole heating very stable. This leads me to believe that my original idea of using intrinsic closed loop control that ptc heater has is not so bad but since pid tuning can do this there is no need to have some special cases in the firmware. -
If you tune it to be stable at lower temperatures then I think you will find it is stable at high temperatures. But you may have to choose between initial overshoot at low temperatures and initial understood at high temperatures.
The intrinsic stability of PTC heaters that you mention isn't very good, it's like having the P part of the control algorithm without the I or the D. OTOH, PTC heaters are great at allowing fast heat up while restricting the temperature to a safe value if control is lost.
-
@dc42 I'll try your suggestion to tune it at lower temps. I dont think you are correct on describing ptc control as only proportional which should be clear from the graph I posted above (as well as the linked paper). However with the method I suggested a heatup speed is sacrifised so having e.g. PWM to 1 until heated surface get very close to desired temperature and then lowering the PWM to e.g. 0.2 like I did in the example I explained above should lead to stable temperatures of 103 degrees. But my assumptions are also not great because PTC heater seems to be mostly defined by its physical characteristics i.e. max temp, so the relationship between max temperature and pwm is not linear.
Regarding the fast heatup. I dont particularly like this feature because it will warp my alu plate. The fact that it starts from 1.1kW and then drops to 0.55kW makes initial heatup very fast. I'll need to replace the steel bolts that hold the heaters since there are cracking sounds now. Your initial suggestion of getting PTC heaters with 120 degrees max temp was the right one but I was afraid that printing ABS on 110-120 degrees would be an issue and I was wrong. Maybe for printing PC though I'll need more than 120...
Fun stuff is that Chinese label these heaters in max temps and Watts which can lead to suprises if you spec the fuse for PTC heaters.