메뉴 건너뛰기

TSKit

fan rpm control with pid

조회 수 6229 추천 수 0 2017.09.13 13:49:45

avi:

https://youtu.be/rOfQqpVKuSg



20170905_150721[2017-09-13-13-48-27].JPG

PID_Compensation_Animated.gif

차후에 상수를 맞추기 위해 웹 그래픽을 이용할 예정임.

아래는 활용한 소스임.

0.5초 마다 제어하고 dt는 0.5초로함.

===============================================================

#define Kp(2)// configurable value.

#define Ki(1)// configurable value.

#define Kd(1)// configurable value.

#define dt   0.01



double pid_con(double val_in)

{

 static double P_err_prv;// Prev P error to get D_err.

 double P_err, I_err, D_err;// Basic Error values.



 P_err = AIM - val_in;

 I_err += P_err * dt;

 D_err = (P_err - P_err_prv) / dt;


 P_err_prv = P_err;// backup P_err.

 val_out = (Kp * P_err) + (Ki * I_err) + (Kd * D_err);

 return val_out;// Calculated.

}

출처: 키에 있는 내용임.

 

serial oscilloscope를 이용하여

p=0.6을 선택함.

팬의 전원은 처음에 제어를 안하므로 처음값은 무시함.

초록색은 제어량임.

p-value.jpg


아래테이블방식으로 일반성능이라면,

실험에의해 pu=0.5주기

ku = 0.6 / 0.2=3로 정함.

kp = 0.25 x 3=0.75

ki =  0.5 x 0.5 =0.25

kd = 0.12x0.5=0.06

result.jpg


여전히 과도응답있슴.

팬이 굉장히 센서티브함.

Ziegler-Nichols 폐루프/주파수 응답 방법

다음 테이블은 비례 컨트롤에서의 여러 타입의 루프 성능에 대한 튜닝 식을 보여줍니다. 여기서 Ku는 컨트롤러 게인이고, Tu 진동 주기입니다.

빠른 성능
컨트롤러 Kc Ti Td
P 0.5Ku
PI 0.4Ku 0.8Tu
PID 0.6Ku 0.5Tu 0.12Tu



일반 성능
컨트롤러 Kc Ti Td
P 0.2Ku
PI 0.18Ku 0.8Tu
PID 0.25Ku 0.5Tu 0.12Tu



느린 성능
컨트롤러 Kc Ti Td
P 0.13Ku
PI 0.13Ku 0.8Tu
PID 0.15Ku 0.5Tu 0.12Tu

 

 

List of Articles
번호 제목 글쓴이 날짜 조회 수