PID 제어

2025. 10. 1. 15:38·모터
728x90

 

 

 

 

 

 

PID 제어란?

 

자동제어 방식 가운데 가장 널리 쓰이는 제어 방식이 바로 PID 제어다.


PID란 다음 세 가지 제어 동작을 조합한 것을 의미한다.

 

  • P (Proportional, 비례)
  • I (Integral, 적분)
  • D (Derivative, 미분)

이 세 가지를 적절히 조합하면 단순한 제어보다 훨씬 유연하고 정밀한 제어가 가능해진다.

 

 

 

 

 

 

 

단순 On/Off 제어

 

가장 단순한 방식은 On/Off 제어이다.


출력을 0%와 100%로만 스위칭하기 때문에, 제어량이 목표값 근처에서 계속 진동하게 된다.

 

예를 들어 에어컨의 단순 온도 조절을 생각해보면, 목표온도보다 약간 낮으면 켜고, 높으면 끄는 방식이다.

 

이 경우 목표값 근처에서 냉방기가 계속 켜졌다 꺼졌다 하며 불안정하게 된다.

 

 

 

 

 

 

 

 

 

 

 

비례 제어

 

On/Off 제어의 단점을 줄이기 위해 고안된 것이 비례 제어다.

 

비례 제어에서는 목표값과 현재 값의 차이(오차)에 비례하여 조작량을 결정한다.
즉, 오차가 크면 큰 힘으로, 오차가 작으면 작은 힘으로 제어한다.

 

이를 통해 목표값에 가까워질수록 제어량도 미세하게 조절되어 안정적인 동작을 얻을 수 있다.

 

하지만 P 제어만으로는 잔류편차(steady-state error)가 남는 문제가 있다. 즉, 목표값에 거의 도달하지만 완전히 일치하지 않고 약간의 오차가 남는다.

 

 

 

 

 

 

 

 

 

 

 

 

 

PI  제어

 

잔류편차 문제를 해결하기 위해 적분 제어(I)를 추가한다.

 

적분 제어는 오차를 시간적으로 누적하여 제어량에 반영한다.


즉, 오차가 조금이라도 존재하면 누적해서 제어 신호를 점점 크게 만들어 결국 오차를 없애버린다.

 

이렇게 P 제어와 I 제어를 조합한 것을 PI 제어라 한다.
PI 제어는 목표값에 거의 완벽하게 도달할 수 있다는 장점이 있다.

 

 

 

 

 

 

 

 

 

 

PID 제어

하지만 PI 제어에도 단점이 있다. 외란이 생겼을 때 반응 속도가 늦거나, 응답이 지나치게 느려질 수 있다.

PI 제어에서는 확실히 목표값으로 제어할 수 있지만, 일정한 시간(시정수)이 필요하다.

이때 정수가 크면 외란이 있을 때의 응답 성능이 나빠진다.
즉, 외란에 대하여 신속하게 반응할 수 없고, 즉시 원래의 목표값으로는 돌아갈 수 없다는 것이다.

 

이를 개선하기 위해 미분 제어(D)를 추가한다.

  • 미분 제어는 오차의 변화율을 고려하여 급격한 변화가 생기면 빠르게 반응한다.
  • 즉, "앞으로 오차가 커질 것 같다"는 정보를 미리 보고 제어 신호를 크게 줘서 응답 속도를 높인다.

따라서 PID 제어는

  • P 제어: 오차의 크기에 따라 제어
  • I 제어: 누적 오차를 없앰
  • D 제어: 오차 변화에 빠르게 반응
    을 조합하여, 정밀하고도 신속한 제어가 가능하다.

 

 

 

 

 

 

 

 

 

 

컴퓨터에 의한 PID 제어 알고리즘

 

원래 PID 제어는 아날로그 회로로 구현되었다. 하지만 오늘날은 대부분 컴퓨터(마이크로컨트롤러, PLC 등)로 디지털 연산을 통해 PID를 구현한다.

컴퓨터는 연속 신호가 아니라 일정 주기의 샘플링 데이터만 다룰 수 있으므로, PID 알고리즘도 이산화된 형태로 계산한다.

디지털 PID 제어의 일반적인 수식은 다음과 같다.

 

조작량  =  (Kp×편차)  +  (Ki×편차의 누적값)  +  (Kd×전회 편차와의 차)
                     (비례항)                    (적분항)                             (미분항)

 

 

기호로 나타내면

 

MVn=MVn-1+ΔMVn
ΔMV
n=Kp(en-en-1)+Ki en+Kd((en-en-1)-(en-1-en-2))

 

  • MVnMV_nMVn​: 이번 조작량
  • MVn−1MV_{n-1}MVn−1​: 이전 조작량
  • ene_nen​: 이번 오차
  • Kp,Ki,KdK_p, K_i, K_dKp​,Ki​,Kd​: 제어 파라미터

 

이것을 프로그램으로 실현하기 위해서는 이번과 전회의 편차값만 측정할 수 있으면 조작량을 구할 수 있다.

 

 

 

 

 

 

 

 

 

PID 파라미터 튜닝

 

PID 제어 방식에 있어서의 과제는 각 항에 붙는 정수, Kp, Ki, Kd를 정하는 방법이다.
이것의 최적값을 구하는 방법은 몇 가지 있지만, 어느 것이나 난해하며, 소형의 마이크로컴퓨터로 실현하기 위해서는 번거로운 것이다(tuning이라 부른다).

 

대표적인 방법은 다음과 같다.

  • Step 응답법
  • 한계 감도법(Ziegler–Nichols 방법)

실제로는 이론적인 방법보다는 "cut and try(시행착오)"로 값을 잡는 경우가 많다.

 

또, 프로세스 제어 분야에서는 이 튜닝을 자동적으로 실행하는 Auto tuning 기능을 갖는 자동제어 유닛도 있다. 이것에는 제어 결과를 학습하고, 그 결과로부터 항상 최적한 파라미터값을 구하여 다음 제어 사이클에 반영하는 기능도 실장되어 있다.

 

스텝 응답법에서 파라미터를 구하는 방법은 다음과 같다.
우선, 제어계의 입력에 스텝 신호를 가하고, 그 출력 결과가 아랫 그림이라고 하자(파라미터는 적당히 설정해 둔다).

 

 

윗 그림과 같이 상승의 곡선에 접선을 긋고, 그것과 축과의 교점, 정상값의 63%에 해당하는 값으로 된 곳의 2점에서,
L: 낭비시간 T: 시정수 K: 정상값의 3가지 값을 구한다.
이 값으로부터, 각 파라미터는 아래 표와 같이 구할 수 있다.

 

제어 동작 종별 Kp의 값 Ki의 값 Kd의 값
비례 제어 0.3~0.7T/KL 0 0
PI 제어 0.35~0.6T/KL 0.3~0.6/KL 0
PID 제어 0.6~0.95T/KL 0.6~0.7/KL 0.3~0.45T/K

 

 

이 파라미터에 범위가 있지만, 이 크기에 의한 차이는 특성의 차이로 나타나며, 아랫 그림과 같이, 파라미터가 많은 경우에는 미분, 적분 효과가 빨리 효력이 나타나므로 아랫 그림의 적색선의 특성과 같이 overshoot이 크게 눈에 띈다. 파라미터가 작은 쪽의 경우는 하측 황색선의 특성과 같이 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'모터' 카테고리의 다른 글

토크 리플(Torque Ripple)  (0) 2026.01.20
약계자 제어(Field Weekening Control)  (0) 2025.06.09
역기전력(back EMF)  (1) 2025.05.29
DQ변환  (0) 2025.03.21
'모터' 카테고리의 다른 글
  • 토크 리플(Torque Ripple)
  • 약계자 제어(Field Weekening Control)
  • 역기전력(back EMF)
  • DQ변환
minseououo
minseououo
    250x250
  • minseououo
    StudyRepository
    minseououo
  • 전체
    오늘
    어제
    • 분류 전체보기 (100) N
      • 인버터 (5)
      • 자동차 (26) N
      • 모터 (5)
      • 검증 (2)
      • Spring (46)
      • 프로젝트 (1)
      • 인공지능 (2)
      • 운영체제 (5)
      • Algorithm (2)
      • 소프트웨어공학 (5)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java
    스프링
    mtpa
    코깅 토크
    AUTOSAR
    자바
    모터제어
    clarke변환
    bsw
    hils 검증
    PI제어
    토크 리플
    자동차
    인버터
    약계자제어
    자동차 신차 개발 프로세스
    ISO26262
    Spring
    EILS
    SDV
    백앤드
    park변환
    dq변환
    ASPICE
    ASW
    자동차 통신
    전류 제한원
    자율주행
    자동차 네트워크
    MILS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
minseououo
PID 제어
상단으로

티스토리툴바