상태 피드백이있는 PID 컨트롤러 구성 요소를 단일 전송 기능 및 개별 상태 공간 형태로 변환


9

나는 1 년 동안 진행된 프로젝트의 일환으로 약 1 주일 동안이 문제와 씨름하고 있습니다. 우리는 모델을 기반으로 특정 원자로에 대한 컨트롤러를 설계하고 있습니다. 이것을 잠시 동안 본 후에도 여전히 작동하지 않으므로 도움을 얻을 수 있다면 정말 감사하겠습니다.

게시 된 문헌 중 하나는 다음과 같이 결합 된 방정식 대신 각 개별 구성 요소에 PID 컨트롤러를 나열합니다.

{P(n)=Kp[G(n)target]I(n)=I(n1)+KpTI[G(n)target]D(n)=KpTDdGdt(n)

세 가지 구성 요소를 PID 컨트롤러 출력에 간단히 결합하면 :

PID(n)=P(n)+I(n)+D(n)

여기에서 저자는 PID 신호 위에 상태 피드백 층을 추가하여 시스템에 최종 컨트롤러 출력을 적용합니다.

{Q(n)=K0R(n1)+K1Q(n1)K2Q(n2)R(n)=(1+γ)PID(n)γQ(n1)

그리고 R은 최종 "컨트롤러 출력"입니다. 여기서 는 프로세스 이득이고, T IT D 는 적분 및 미분 이득이며, K 0 , K 1K 2 는 상태 피드백 (불변)에 대해 조정 된 "이득"이며 γ 는 상수입니다. 0.5. G ( n ) 는 시스템 상태이고, Q ( n ) 은 모델 역학에 영향을 미치는 추정 된 상태이며 R ( n ) 은 플랜트로 전송되는 실제 최종 출력입니다.KpTITDK0,K1K2γG(n)Q(n)R(n)

먼저 전체를 단일 컨트롤러 전송 함수로 변환하려고했지만 단순히 함께 추가하면 작동하지 않는다는 말을 들었습니다.

또한이 컨트롤러의 개별 상태 공간 표현을 찾는 일을 맡았습니다. 이를 위해 d G 를 변경하려고했습니다.에 대한G(N)-G(N-1)이 문제를 제거한다.dGdt(n)G(n)G(n1)

다음으로 Q ( n - 1 )Q ( n - 2 ) 를 1 차로 변환 할 수 있도록 대한 새로운 상태 변수를 정의하려고했습니다 .Q(n)Q(n1)Q(n2)

그런 다음 값을 PID 컨트롤러로 대체 하여 상태 변수로 를 얻었습니다 . 이러한 노력은 모두 교수님의 추천에 따라 이루어졌습니다.G(n)

그러나 나는 그것에 대한 전반적인 비전없이 맹목적으로 그의 지시를 따르고 있었기 때문에 여전히 몹시 붙어 있습니다. 나는 그것이 Tustin 변환의 단순한 문제라고 생각했습니다.

일주일 동안 노력한 후에도 여전히 단순한 문제로 보이는 것에 좌절하고 있습니다.

가능하다면이 두 가지 구체적인 질문에 대해 겸손하게 도움을 청할 수 있습니까?

  1. 이 컨트롤러를 단일 컨트롤러 전송 함수로 변환합니다 (일반적으로 전송 함수 표현에서 볼 수 있듯이 )G(s)=1s+1
  2. 샘플링 속도를 변수로 유지하면서이 컨트롤러를 개별 상태 공간 표현으로 변환 하시겠습니까?

MATLAB과 Maple은 이러한 문제를 해결할 수 있습니다. 두 프로그램이 있습니다. 나는 당신의 게시물을 인쇄하고 그들을 작동하려고합니다. 나는 대학에서 이것을했다.
웨슬리 워트 먼

출판물의 제목을 줄 수 있습니까?
Hazem

답변:


1

완전한 답변은 아니지만 도움이되기를 바랍니다.

첫 번째 시스템을 다음과 같이 다시 작성할 수 있습니다.

{P(n)=KPE(n)I(n)=I(n1)+KPTIE(n)ΔtD(n)=KPTDE(n)E(n1)Δt

E(n)=G(n)target(n)ΔtTDTIKI=KPTIKD=KPTI

이제 시스템을 오류의 단일 기능으로 다시 작성할 수 있습니다.

PID(n)=P(n)+I(n)+D(n)

I(n1)=PID(n1)P(n1)D(n1)=PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt

PID(n)=KPE(n)+PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt+KPTIE(n)Δt+KPTDE(n)E(n1)Δt=PID(n1)+KP((1+ΔtTI+TDΔt)E(n)(1+2TDΔt)E(n1)+TDΔtE(n2))

두 번째 것은 하나의 방정식으로 다시 작성하기가 조금 더 복잡하지만 비슷한 방식으로 수행 할 수 있습니다. 결과는

R(n)=K1R(n1)(γK0+K2)R(n2)+(1+γ)(PID(n)K1PID(n1)+K2PID(n2))

이제 에러의 함수로 레귤레이터의 방정식을 얻기 위해 PID의 방정식 만 대체하면됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.