I’m setting up a new PID for a water heater, all seem to be working OK and the PID provides good control or the setup, BUT then today during a test run (PID tuning) everything is working fine the temp is stable when the PID starts reporting odd values that did not make sense and calls for heat that are not applied.
i Then hit the kill switch and let is sit to see what happend, I finally restarted the controller just after 11:30
Here is a broad view of events
Here is a closer view of the time frame where it started.
It looks like the malfunction is in the actuator - it turns on and seems to be stuck. Was the actual heater on during this period, or was that governed by the kill switch?
Could you please run brewblox-ctl log? That may provide some background info.
Thanx for the quick reply.
The heater was not on during this period. The kill switch physically cuts the power the heat source.
Here are the logs:
brewblox-ctl log output
May 11, 2020, 1:30pm
Can you show the integrated graphs of the PID block instead of the custom graphs?
What does the display show for memory percentages?
If I’m reading the display correctly it’s showing 78%, 83%
Here’s the native PID graph.
May 11, 2020, 2:17pm
When did you hit the kill switch?
When did the values stop making sense?
Can you show the chart of the digital actuator?
What is strange is the desired state being OFF at 10:00, but the actual state still being ON.
Could be a bug between PWM and DS2413 causing it to not get updated.
Here is the actuator graph.
The issue starts at 09:33 approx, with the kill switch a few minutes after that.
Also attaching a closer view of the PID for the same time frame.
May 11, 2020, 2:50pm
Thanks, seems like a PWM/DS2413 failure.
The PID behavior looks allright. I’ll look into it.
I restarted the test and its been running fine for the last 4hrs. Will see what happens. Thanx for looking
May 12, 2020, 1:17pm
Found a bug!
The constrained actuator has a period check that desired state and actual state match, but the update interval was not managed correctly.