Hello. I had posted this a few days ago in Troubleshooting, but didn't get a single response, so I'll try over here.
I've recently modified my bed to a MIC-6 plate with PEI, and (fairly) successfully ran PID on it, while still on the original v 91-something firmware from 2 years ago. I say "fairly" because it would overshoot by 7 degrees or so, but then taper down to the set temperature. Tweaking that was one of the gazillion projects on my to-do list; for the time being, I just set it about 5 deg low, and when it overshot, I then reset the temp to the desired setting. The point being, it read the SeeMeCNC thermistor correctly and so I know it's working.
I've moved to v 92.2 in conjunction with adding the accelerator board to my E3D V6 hotend. I changed the EXT0 value to 8, and it works fine. I left the heated bed sensor at the default 97, but got the same results with type 98 (the type in my v91 f/w). The new PID values are considerably different from my old values, and it seems to stabilize at a touch over 14 degrees too high, though it only overshoots by about 3 degrees above that, which is nice. Re-running PID gives me the same results. Plugging my old EEPROM PID values in gives me the same 7 degree overshoot, then tapers down to about 4 degrees too high.
Old values: 20.24 0.25 417.12
New values: 4.74 0.06 89.63
Why did v92 give me such radically different PID values, and read the thermistor wrong? I'd like to be able to run the PID routine from time to time and not be stuck with my v91 values, but right now something is amiss.
Thanks!
Bed PID very poor
-
- ULTIMATE 3D JEDI
- Posts: 1561
- Joined: Wed Sep 23, 2015 2:55 pm
Re: Bed PID very poor
So, I'm going to tell you some things that you may not like, because they mean a lot of work for you.
Firstly, that behavior is well known. It is called an "underdamped" PID loop. You probably need to reduce the P parameter a good chunk, or increase I and D to match.
Secondly, the automatic tuning in Repetier, and really in most 3D printers is really hit or miss. They make some assumptions on power and mass ratios, as well as rise time. These are hard to adjust. There also isn't a single "correct" solution, some tunings are better for some situations, such as for a Volcano nozzle, it needs to account for a large amount of thermal transfer, especially when fans get involved, would want a much more aggressive tuning than a Nano-hotend. Thus the controller makes guesses, and mostly I find they suck.
Thirdly, tuning the PID requires you to allow it to cool down to where it will kick in. I suggest cooling it to room temperature, possibly using a pan full of ice water between tuning, and directing it to heat while adjusting the PID parameters, then letting it stabilize. This may take several hours, and unlike Reprap-firmware (Duet), I don't know if Repetier using PID the whole way or if it kicks in around the set temperature. For the bed, I suggest the most aggressive tuning you can stand to try to reduce the rise time. After all, a largish initial overshoot is something you can stand, so long as it keeps a stable temperature at your set-point, since there isn't any filament to accidentally cook.
Fourthly, most 100K NTC thermistors will read very similiarly at room temperature, so you may still not have the right sensor type if you only checked cold. However, if you did so at temperature with a thermocouple, well, what a wonderful coincidence.
I suggest looking up tuning strategies, possibly starting here
Firstly, that behavior is well known. It is called an "underdamped" PID loop. You probably need to reduce the P parameter a good chunk, or increase I and D to match.
Secondly, the automatic tuning in Repetier, and really in most 3D printers is really hit or miss. They make some assumptions on power and mass ratios, as well as rise time. These are hard to adjust. There also isn't a single "correct" solution, some tunings are better for some situations, such as for a Volcano nozzle, it needs to account for a large amount of thermal transfer, especially when fans get involved, would want a much more aggressive tuning than a Nano-hotend. Thus the controller makes guesses, and mostly I find they suck.
Thirdly, tuning the PID requires you to allow it to cool down to where it will kick in. I suggest cooling it to room temperature, possibly using a pan full of ice water between tuning, and directing it to heat while adjusting the PID parameters, then letting it stabilize. This may take several hours, and unlike Reprap-firmware (Duet), I don't know if Repetier using PID the whole way or if it kicks in around the set temperature. For the bed, I suggest the most aggressive tuning you can stand to try to reduce the rise time. After all, a largish initial overshoot is something you can stand, so long as it keeps a stable temperature at your set-point, since there isn't any filament to accidentally cook.
Fourthly, most 100K NTC thermistors will read very similiarly at room temperature, so you may still not have the right sensor type if you only checked cold. However, if you did so at temperature with a thermocouple, well, what a wonderful coincidence.
I suggest looking up tuning strategies, possibly starting here
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router
Sic Transit Gloria Mundi
01-10011-11111100001
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router
Sic Transit Gloria Mundi
01-10011-11111100001
Re: Bed PID very poor
Thanks, Xenocrates. I had tried some manual tuning with this bed on the .91 firmware but didn't make much progress, and so left it with the auto PID values. I'm just surprised at how much further off the auto tuning is for 0.92. I'll likely re-enter my values from 0.91 and use those as a starting point.
I'm really starting to think a Duet is in my machine's future.
Thank you for your reply!
I'm really starting to think a Duet is in my machine's future.
Thank you for your reply!