DIY PID question

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

psyber

Well-Known Member
Joined
Jun 20, 2009
Messages
48
Reaction score
0
Location
USA
For those of you who have implemented your own PID, how did you tune the parameters? Manual or something like Ziegler-Nicols?
 
The PID loops implemented in the Phase2 software were manually tuned with simulated inputs first, then adjusted on live system. What type of process do you want to implement PID control for?.
 
I am not familar with Phase 2 software. I will have to look it up.

I want to control my mash from an arduino microprocessor. I have a few PID algorithms (and even a pid library) but nothing for tuning the P, I, and D parameters.
 
I guess the next question is how are you going to heat the mash to hit and hold temperatures. If it is a process that will take minutes to reach setpoint then on/off control would be appropriate. If it is controlling a RIMS heating element where response time is in seconds PID control is appropriate. The long response time applications cause the integral factor to wind up because of slow response and usually causes the loop to be very difficult to tune at best.
 
I guess the next question is how are you going to heat the mash to hit and hold temperatures. If it is a process that will take minutes to reach setpoint then on/off control would be appropriate. If it is controlling a RIMS heating element where response time is in seconds PID control is appropriate. The long response time applications cause the integral factor to wind up because of slow response and usually causes the loop to be very difficult to tune at best.

Well I am not going too fancy here. Just gonna wire a heating element directly into the mash.

I am not sure how to answer your question regarding time to reach setpoint. I assume that it can take 30-40 min to reach the desired temp, but once it is reached it (I assume) would only need small adjustments to keep it there.
 
We use the arduino PID library on our sanguino based controller.

Some more information

PID Tuning | BrewTroller

humm, does brewtroller have an autotune function or do most people simply use a set of default values.

edit:
Ahah, got the initializations:
PID(&PIDInput[VS_HLT], &PIDOutput[VS_HLT], &setpoint[VS_HLT], 3, 4, 1),
PID(&PIDInput[VS_MASH], &PIDOutput[VS_MASH], &setpoint[VS_MASH], 3, 4, 1),
PID(&PIDInput[VS_KETTLE], &PIDOutput[VS_KETTLE], &setpoint[VS_KETTLE], 3, 4, 1),
PID(&PIDInput[VS_STEAM], &PIDOutput[VS_STEAM], &setpoint[VS_STEAM], 3, 4, 1)
so far no signs of tuning
 

Latest posts

Back
Top