Page 1 of 1
Slow bed heating: solution!
Posted: Mon Feb 15, 2016 9:39 am
by pmeyer
(Posting this as a separate topic in hopes that others in the same boat see it)
Original Thread
Steps I suggest for all v2max owners (with good power supplies):
1) fix both Bed Head max's in EEPROM
2) run PID autotune on the bed (not mentioned in the manual)
Details:
- preheat the bed to some reasonable temp (I did 75)
- bring up the gcode terminal in mattercontrol
- type "m303 p1 s75" (p1 says "bed rather than nozzle", s75 says 75C)
- let it run, copy down the p/i/d numbers it displays
-> if it times out, make sure bed was preheated all the way
- configure the EEPROM
=> adjust the bed ki/kp/kd
=> set "Bed PID max value" to 255
=> set "Bed PID Drive Max" to 255
I suspect the PID autotune is less necessary, but the setting the max values gets you the full 12V applied to the bed.
Re: Slow bed heating: solution!
Posted: Mon Feb 15, 2016 10:07 am
by geneb
Preheating the bed defeats the purpose of the auto-tune process.
g.
Re: Slow bed heating: solution!
Posted: Mon Feb 15, 2016 10:30 am
by DeltaCon
Gene, I thought PID tuning has to do with keeping the temp fluctuations to a minimum after target temp has been reached. How is pre-heating affecting that?
Re: Slow bed heating: solution!
Posted: Mon Feb 15, 2016 11:01 am
by teoman
A PID controller theoretically controls how fast the bed heats up, how much it overshoots while heating up and how much it oscillates while holding temperature.
Re: Slow bed heating: solution!
Posted: Mon Feb 15, 2016 5:17 pm
by geneb
teoman wrote:A PID controller theoretically controls how fast the bed heats up, how much it overshoots while heating up and how much it oscillates while holding temperature.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
g.
Re: Slow bed heating: solution!
Posted: Tue Feb 16, 2016 11:53 am
by Nath5
Are these two values
"Bed PID max value"
"Bed PID Drive Max"
set lower than 255 for a reason?
Re: Slow bed heating: solution!
Posted: Sun Feb 21, 2016 11:13 am
by pmeyer
Nath5 wrote:Are these two values
"Bed PID max value"
"Bed PID Drive Max"
set lower than 255 for a reason?
Beats the heck out of me. The only reason I can think of is that the driver on the board can't handle continuous current at 12v with the bed resistance. It can clearly handle it periodically (as it is PWM, not lowering the voltage), so not handling it continuously would be an overheating issue. I haven't seen any issues yet.
Re: Slow bed heating: solution!
Posted: Sun Feb 21, 2016 12:26 pm
by pmeyer
geneb wrote:Preheating the bed defeats the purpose of the auto-tune process.
g.
I think you are incorrect. Can you explain why you think that, or point to evidence?
The PID values are all about minimizing oscillation during normal operation. When the bed is cold, the PID is basically irrelevant and the drive will be pegged. What really matters is the behavior in the +-2C range, essentially the range where the bed might want to use PWM to start looking for an asymptotic (or slightly overshooting) approach to the set temp. The calibration routine can definitely occur correctly without the bed starting at room temp.
One indication that you are incorrect: the PID calibration routine is actually run a number of times, one of the parameters to m303. The first has the bed cold, but the subsequent runs do not let the bed return to an arbitrary 'room temp'. They simply let it drop a bit and run through it again. By your argument, only the first run through would be worthwhile. Check out:
http://reprap.org/wiki/G-code#M303:_Run_PID_tuning
-------------------
Just to bring some data to the discussion, I just ran my bed PID autotune loop twice, once starting cold (23c), once starting hot (60C), with a setpoint of 75C. Both tunes came with the same PID results, with the differences less than the noise between the three results in each run:
COLD START:
<-Info:PID Autotune start
<-T:25.70 B:23.57 B@:255 @:255
<- bias: 131 d: 123 min: 74.03 max: 75.84
<- bias: 129 d: 125 min: 74.06 max: 75.90
<- bias: 124 d: 124 min: 74.16 max: 75.87
<- Ku: 92.52 Tu: 106.74
<- Classic PID
<- Kp: 55.51
<- Ki: 1.04
<- Kd: 740.67
<- bias: 120 d: 120 min: 74.16 max: 75.87
<- Ku: 89.53 Tu: 106.81
<- Classic PID
<- Kp: 53.72
<- Ki: 1.01
<- Kd: 717.22
<- bias: 116 d: 116 min: 74.13 max: 75.90
<- Ku: 83.22 Tu: 112.59
<- Classic PID
<- Kp: 49.93
<- Ki: 0.89
<- Kd: 702.75
<-Info:PID Autotune finished ! Place the Kp, Ki and Kd constants in the Configuration.h or EEPROM
HOT START:
<-Info:PID Autotune start
<- bias: 120 d: 120 min: 74.06 max: 75.97
<- bias: 120 d: 120 min: 74.10 max: 75.87
<- bias: 117 d: 117 min: 74.20 max: 75.84
<- Ku: 90.93 Tu: 106.44
<- Classic PID
<- Kp: 54.56
<- Ki: 1.03
<- Kd: 725.94
<- bias: 118 d: 118 min: 74.13 max: 75.80
<- Ku: 89.84 Tu: 105.96
<- Classic PID
<- Kp: 53.90
<- Ki: 1.02
<- Kd: 713.95
<- bias: 117 d: 117 min: 74.13 max: 75.84
<- Ku: 87.30 Tu: 108.07
<- Classic PID
<- Kp: 52.38
<- Ki: 0.97
<- Kd: 707.55
<-Info:PID Autotune finished ! Place the Kp, Ki and Kd constants in the Configuration.h or EEPROM
Re: Slow bed heating: solution!
Posted: Tue Feb 23, 2016 8:18 am
by dsiegfried
Agreed. Good work!
Re: Slow bed heating: solution!
Posted: Tue Feb 23, 2016 1:06 pm
by dlbyers
Just tried this and it definitely works... When starting up the bed from room temp the bed heat led is on solid until it gets close to operating temperature, and the bed heats up probably 30% faster. Even so, I like to leave the bed at temp for a minimum of 15 minutes before I do any calibration or printing to allow it to stabilize.
Thank you for sharing this!
Re: Slow bed heating: solution!
Posted: Tue Feb 23, 2016 11:32 pm
by The Rigger
Adding another voice to the chorus... As built, the Onyx bed (rev7) took around 35-40 minutes to heat from room temperature to 80°C for ABS printing. I ran the auto-tune & updated the bed's PID settings and now I can get from room temp to 80°C in 15-20 minutes.
Thanks!
Re: Slow bed heating: solution!
Posted: Wed Apr 13, 2016 5:17 pm
by captainpotatofudge
Interesting, I was about to start looking into moving to 24v system for bed heating or...idk what, that bed heat time is so frustrating sometimes. I'm willing to give this method a shot after this current print is finished!
Re: Slow bed heating: solution!
Posted: Thu Apr 14, 2016 1:11 pm
by captainpotatofudge
Well I have to say thanks for the info in this thread! I have the stock kit Chiefmax 450w ATX PSU w/22A max listed for the 12v rail. I went from heating 24C-70C in 18 minutes before, which wasn't terrible, but was rather annoying at times. Especially considering just how much trouble I've had lately with calibration issues and having to heat/reheat/print then do it all again and again and again... To now heating 24C-70C in 6 minutes 43 seconds! SO much better!
Re: Slow bed heating: solution!
Posted: Thu Apr 14, 2016 7:03 pm
by bubbasnow
pmeyer wrote:geneb wrote:Preheating the bed defeats the purpose of the auto-tune process.
g.
I think you are incorrect. Can you explain why you think that, or point to evidence?
By definition of PID controllers geneb is correct.
Pmeyer, your first post said you preheated to 75, then set the pid tune to 75. THIS IS BAD! By definition, because you are already at temp, your Kp value will be tooooooo low for other normal bed heating scenarios.
in your other post you said 60 deg then PID auto tuned to 75, which will give you a better Kp, and according to your test the same Kp in both tests. If people read this post, and are making the change of "Bed PID max value"
"Bed PID Drive Max" this is why you are seeing improvements in your bed heat times. But be sure you know your fuse limits with the current being supplied to the bed and be careful of your power supply limitations.
If you get the same PID values in the end with preheat (to 60) and no preheat both targeted to 75deg, it just sounds like more work to wait for the preheat then type in more commands. when you can just run PID from cold and be done with it.
Re: Slow bed heating: solution!
Posted: Thu Apr 14, 2016 7:22 pm
by Polygonhell
Having voiced my opinions on repetiers autotune being useless before.
It really won't matter for the bed if you preheat it, since it's so close to the edge of it's envelope just holding higher temperatures, there is little danger of any setting providing a dramatic overshoot. That's not true of something like a real JHead with a 40W heater cartridge where you can easily get a 30C overshoot with aggressive settings.
Personally I'd just tweak the numbers by hand, it's not that hard to understand.
As to why PID drive Max and Max Pid value aren't set to 255, it's probably because they are set to whatever the default in the mainline firmware is. That's likely set up for a MK2 bed which has a quarter of the area an ONYX does and about 1/2 the power draw, so it can get too hot quite easily.
Re: Slow bed heating: solution!
Posted: Sat Apr 16, 2016 1:28 am
by dchauran
I just set both of these to 255 on my machine, but the bed was already heated at the time, and it worked fine. Once I let the bed cool and tried coming up from room temp, I blew the 15a fuse on the rambo. Seems like if running max puts you right at the edge of the 15a limit, that's probably why they set it lower. Fuses are cheap though, so I'm thinking of experimenting with some other values.
Re: Slow bed heating: solution!
Posted: Sat Aug 27, 2016 11:14 am
by knabo
So to put some real world numbers to this I measured the DC current applied to the bed with the default drive value of 200. Then I raised the drive numbers and got the following:
Bed PID max value and Bed PID Drive Max with Current reading
200 9.5A
225 10.3A
230 10.8A
240 11A
255 11.7A
A setting of 255 should not necessarily blow the fuse but I am sure there are other factors.
For a steady state DC circuit with no inrush, the recommended fuse rating is 135% of the max current. So doing the math the highest recommended current would be 11.1A for a 15A fuse