Happy sunday everyone.
Patient 101 is still alive.
Hehe, that does look like a heartbeat!
Control could be better though. Can you show a zoomed chart for 1 cycle of the PID? And is this on the latest firmware? It had some updates to the PID.
I thought it looked like it! Here is a zoom of the PID graph.
The peaks in temp and PID occur at almost exact intervals. Can’t see exactly what is causing the temp bump though. First thought, because the fridge temp rises during the day, it may be because of outside temperature rising due to the sun hitting the garage. Eventually it will cause the beer temp to rise. That activates the cool PID which is slightly slow and overshoots, which starts the heat PID. Rinse and repeat.
Instead of a custom graph, can you share the internal graph of the cool and heat PID, their settings and your firmware version?
graph-PID-spark-one-downsample_1m.csv (148.5 KB)
I think you misunderstood what I meant. You can just go to each PID block, then open its pre-configured graph form the 3 dot menu or the slide-out graph.
Is this what you mean?
Yes, but it is easier if you post a screenshot. Then I don’t have to make a chart of the CSV files again.
Can you try setting Td to 15 minutes? With the recent changes to the algorithm, using the derivative gain now also helps against integrator windup.
I already wrote a quick python script and looked at your file. So the advice to set Td to 15 or 30 minutes still stands.
Also increase Kp so it corrects faster and the integral is not doing corrections that should be done by the proportional part.
Thanks for taking the time to look. Will update after current fermentation and crash is done, which is in a week or so. Then will update Td. About Kp : my fridge may be slow. Kp is at -100 atm, double that?
That’s actually quite high already, but give it a shot. The overshoot seems to be from the integral increasing too quickly, not from Kp being too aggressive.
It’s an old fridge, in a warm-ish garage, with 45 liter of beer in it. That may be the reason it warms up in the first place.