2011-03-20 2 views
1

I의 PID (Proportional Integral Derivative)는 이전의 몇 가지 오류의 합계이며 이득만으로 가중치가 적용됩니다. (I in Proportional Integral Derivative

I가 = (오류 -1 : 이전 에러를 의미하는 오류 (-1)를 사용

이 에러는 (-2)하는 등 전에 오류를 의미 ... 'I'는 것으로 설명 할 수있다) * 오류 (-2) + 오류 (-3) + 오류 (-4) 등) * I_gain

PID가 설계되었을 때 왜 과거에 중요성이 떨어지도록 설계되지 않았는가? 예를 들어,

I = (오류 (-1) + (오류 (-2) * 0.9) + (오류 (-3) * 0.81) + (오류 (-4) * 0.729) .) * I_gain

편집 : reworded

+3

여기가 주제가 아닌 것 같습니다. 시도하십시오 http://math.stackexchange.com/ – CesarGon

+3

나는 마지막 몇 가지 오류의 합이 정수라고 생각합니다. 미분은 오류가 아니라 합계가 변경됩니다. 미분은 시스템을 "약화"합니다. 시스템이 너무 낮 으면 시스템이 불안정해질 위험이 있으므로 사용자의 적분이 결코 줄어들지 않습니다. – Faken

+0

고마워, 네 말이 맞아. Annoyingly 그것은 어느 쪽의 스택 사이트에도 들어갈 수 있습니다. 여기에 답을 얻지 못하면 수학 사이트에서 다시 게시 할 수 있습니다. 적분이 과거의 중요성 감소에 오류를 가중시키지 않는다는 이유는 D의 영향 때문이라고 말하고 있습니까? – alan2here

답변

2

적분 항은 모든 과거 오류의 합계입니다. 각 시간 단계에서 단순히 "통합 자"에게 오류를 추가하십시오. 이를 제한해야하는 경우 범위를 벗어난 경우 최소값 또는 최대 값으로 고정하십시오. 이 누적 값을 출력에 복사하고 비례 및 미분 항을 추가하고 필요한 경우 출력을 다시 클램프하십시오.

파생 기간은 현재 및 이전 오류 (오류 변경 비율)의 차이입니다. P는 물론 오류에 비례합니다.

 
err = reference - new_measurement 
I += kI * err 
Derivative = err - old_err 
output = I - kD * Derivative + kP * err 
old_err = err 

그리고 거기에 있습니다. 제한은 물론 생략되었습니다.

컨트롤러가 참조 값에 도달하면 오류가 0이되고 적분기가 변경을 중지합니다. 소음은 자연스럽게 약간 바운스되지만, 목표를 달성하는 데 필요한 정상 상태 값으로 유지되며 P 및 D 조건은 과도 전압을 줄이기위한 대부분의 작업을 수행합니다.

정상 상태 조건에서 I 항은 출력을 제공하는 유일한 것임을 유의하십시오. 컨트롤이 레퍼런스에 도달했고 이것이 0이 아닌 출력을 필요로한다면 에러는 0이 될 것이기 때문에 이것은 적분기에 의해서만 제공됩니다. I 용어가 가중치 오류를 사용하면 0으로 감쇠하기 시작하고 필요에 따라 출력을 유지하지 않습니다.

+0

예전의 20 가지 오류와 같이 몇 가지 이전 오류가 계산을 중지 한 후에 모든 이전 오류를 의미하는 것으로 생각하지 않았습니다. 우리는 'I'에서 마지막 4 가지 오류를 사용하도록 지시 받았습니다. – alan2here

+1

누가 그렇게하도록 지시 했습니까? – phkahler

+0

그것은 마지막 4 가지가 아니며 다시 정리했습니다. 그리고 그것은 지난 10 초의 값 (수백 가지가 더 많습니다)이지만, 모두가 PID를 수행하는 합리적인 방법이 아니기 때문에 '나는'영원히 돌아 가지 말라고 말하는 것입니다. – alan2here