Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calibration of a PID (need explanation) #41

Open
LeoI5 opened this issue Feb 2, 2023 · 2 comments
Open

Calibration of a PID (need explanation) #41

LeoI5 opened this issue Feb 2, 2023 · 2 comments

Comments

@LeoI5
Copy link

LeoI5 commented Feb 2, 2023

Thanks for project! And could You explain yours recommendation for Calibration of a PID.
My setting:
Set point: 5 C
p|i|d variables is zero
The peak temperature: 9 С
The time that it took since it crossed the set point until it reached the peak: 800 seconds
According recommendation the setting should be:
Kp=8
Ki=1600
I'm afraid that 1600 is too big for Ki.
Please dispel my doubts/misunderstandings

@LeoI5 LeoI5 changed the title Calibration of a PID (need уxplanation) Calibration of a PID (need explanation) Feb 2, 2023
@0rphu
Copy link

0rphu commented Mar 27, 2023

Hello, I'm by no means an expert, but your hunch seems right. 1600 is a huge Ki. I'm not familiar with the heuristic used in the readme, but you can find a good descriptions of Ziegler Nichols on the net. One of them here: https://eng.libretexts.org/Bookshelves/Industrial_and_Systems_Engineering/Chemical_Process_Dynamics_and_Controls_(Woolf)/09%3A_Proportional-Integral-Derivative_(PID)_Control/9.03%3A_PID_Tuning_via_Classical_Methods
Please note, the pid equation used is a bit different, using Kc, Ti and Td parameters. But looking at the equation, Kp=Kc, Ki=Kc/Ti, Kd=Kc*Td. There's a table in the article describing how to plug those numbers in.
Using this method, I found (but not tested) the following values based on data from my boiler.
Kp=5.88 (Ku/1.7; Ku being 10 which would roughly equal to an on/off thermostat with a deadband of 0.1 degrees)
Ki=0.003 (Pu is 3600s in my case, that makes Ti 1800, Kd=2646 (Td = Pu/8)
I can't guarantee I didn't make a mistake or that I did not misunderstand the equations altogether. But the numbers look more like it.

HTH

@martin3000
Copy link

Maybe the values depend on the sample time? If you have a sample time of 60s, then the Ki should be 800*2/60=26
Just guessing....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants