Quote:
|
Originally Posted by Vesku
I don't use the PID-library. I've my own simple algorithm that calculates the heating power (pump ON-time, I've a counter-flow HERMS) based on the wort and mash temperatures. I like it this way, I can set the heating ramp what ever way I want. I've another script that takes control when the mash temperature is in "range".
|
This code doesn't make sense, most likely because your not showing enough of it. Lets break it down.
Quote:
The ramp is done like this:
// offset < 5C
if (setTemp/10 - mash < 5)
{wortOffSet = 5;} ... and so on, as many offsets as is needed, I've 5.
|
It looks like you have different offsets depending on how far your actual temp is from the setpoint? What do you do with wortOffSet? What are your other offset values? Is it 4 when you are within 4 degrees?
Quote:
The pump-ON time limiter:
if (onOff == 1 && lastPumpRun > 0 && (millis() - lastPumpRun) > 3000 && (setTemp/10 - mash) < 0.5) // after X sec pump off
{bigPumpOff();
onOff = 2;
pumpRun = millis();
}
if (onOff == 2 && (millis() - pumpRun > 30000)) // after X sec pump back on
{
onOff = 0;
pumpRun = 0;
}
|
Ok here you show part of a functional state machine except this on isn't functional because you are missing a state. Somehow you start with onOff = 1 but you never show how it gets set to 1. Similarly you don't show your state where onOff = 0. I'm assuming that you set onOff to 1 at the end of that state, but what else do you do in that state?
Step back and give us a higher level description of how your system works. Are you keeping your heating element on 100% of the time and regulating your mash temp by turning on/Off a pump that circulates wort through a HERMS coil?
The videos you posted are a little hard to follow. You show a lot of stuff really close up but you never show how things are connected or even a clear shot of your control panel to see what you are using for input. Are you using a rotary encoder like the brewtroller or a set if discrete buttons? How is your system plumbed, number of pumps, valves, etc?