본문 바로가기

Research/Control Engineering

PID 제어 튜닝 시뮬레이터(PID Control tuning simulator using MS-Excel)

PID 제어기 튜닝을 실습할 수 있는 시뮬레이터를 소개드립니다.

학습하는 사람들이 편하게 사용할 수 있도록 엑셀을 사용하여 작성하였습니다.


PID 제어기는 구조가 간단하고 성능도 나름 우수해서 산업체 전반에 널리 사용되고 있는 제어방식입니다. PID 제어기는 비례, 적분, 미분 동작의 조합으로 이루어져 있습니다. 그런데 이 각각의 동작의 크기 비, 즉 각 계수의 파라미터를 설정하는 것이 쉽지 않은 것으로 알려져 있습니다. 비례, 적분, 미분 동작의 크기를 결정하는 파라미터를 설정하는 것을 튜닝(tuning)이라고 합니다. 숙련된 튜닝 엔지니어가 되기 위해서는 많은 경험을 쌓으면서 다양한 시행착오를 경험해 보는 것이 중요합니다. 그런데 초보 엔지니어들이 이런 경험을 얻기는 쉽지가 않습니다. 그러한 분들이 개인적으로 튜닝을 연습해 볼수 있도록 돕기위해 이 프로그램을 개발하였습니다.


프로그램을 실행하면 위에 보는바와 같이 세개의 시트가 구성되어 있습니다.

About 시트는 개발된 프로그램과 작성자의 소개와 관련된 부분입니다.

Sheet3은 실습할 플랜트, 또는 공정에 대한 설정을 하는 부분입니다.

Sheet1은 실제 튜닝 실습을 하기 위한 시뮬레이터 부분입니다.

실습을 할때는 Sheet3 -> Sheet1 순으로 설정을 하고 실습을 하면 됩니다.

아래는 본격적인 시뮬레이터 사용법에 대해 설명을 합니다.


1. Sheet3에서 모델 수식 설정하기

<Sheet3 화면>


Sheet3은 튜닝실습을 하기 위한 플랜트 전달함수를 설정하는 부분입니다.

이 모델에서 시험하고자 하는 수식을 설정합니다. 일종의 제어기 설계를 할 플랜트 모델 문제를 만드는 부분이라고 보면 됩니다.

위 부분은 모델계수 설정부가 위치하고 있습니다. 여기에 모델 계수를 설정하는 부분입니다. 모델은 3가지를 지원합니다. 여기서 모델 계수를 설정하면 아래의 계단입력응답 부에서 모델의 계단입력 전달함수가 표현됩니다.


<모델계수 설정부>


먼저 튜닝할 모델을 3가지 중에 하나를 선택합니다. 그리고 플랜트 모델의 계수를 임의로 만듭니다. 문제를 스스로 만든다고 보시면 되겠습니다. 예를 들어 1번 모델을 튜닝하고 싶다면 왼쪽에 있는 모델 설정부에서 K, T, L을 각각 설정해 줍니다.

자 이제 제어기 설계자는 위 설정 값을 모른다고 가정합니다. 설계자는 아래에 나오는 계단응답부의 그래프를 보고 공정의 특징을 찾아 냅니다.


2. Sheet1에서 제어기 설정을 하고 PID 튜닝 실습하기

<Sheet1 화면>


이제 Sheet1으로 이동해봅니다.

Sheet1의 상단에는 제어파라미터 설정부, 시뮬레이션 설정부, 성능분석부가 위치해 있습니다. 

제어파라미터 설정부는 실제 제어기 파라미터를 조정해가며 튜닝을 실습하는 부분입니다. 시뮬레이션 설정부는 시뮬레이션과 관련된 주요 설정을 하는 부분입니다. 성능분석부는 튜닝에 의해 성능효과를 보여주는 부분입니다.

Sheet1의 하단에는 모니터링부가 있습니다. Sheet3의 모델을 제어파라미터 설정부의 파라미터로 제어한 결과가 여기에 나타납니다.


<Sheet1 상단>


먼저 시뮬레이션 설정부로 갑니다.

Sheet3의 공정모델 3가지중 어떤 것을 선택할 지 지정해야 합니다. 이 설정은 Process에서 설정합니다. 예를 들어 첫번째 모델을 선택하려면 Model1을 선택합니다.

그리고 어떤 부분을 조정해가며 시험해볼지 설정합니다. 제어기 설정값을 조정하려면 Set Point부분을 설정한다. 외란을 입력해보려면 Disturbance부분을 설정하면 됩니다.

이제 본격적으로 제어기 튜닝을 해볼 차례입니다.

여기서는 숫자를 한번씩 입력해보면서 튜닝할 지, 아니면 스크롤바를 움직여보며 튜닝할지 설정해줘야 합니다. 이 설정은 좌측의 Tuner 부분을 설정해서 가능합니다. 예를 들어 Manual로 설정하면 숫자를 입력하는 튜닝 방법을 사용하겠다는 뜻입니다.


<Sheet1 하단>


튜닝 파라미터를 조정해보면 아래에 시뮬레이션 결과가 바뀌는 것을 확인해 볼 수가 있습니다. 파라미터를 조정해가며 성능이 최적이 되는 응답을 찾아내는 연습을 해보면 됩니다.

- 참고 : PID 제어기 계산식은 이상형 PID 타입을 적용했습니다.

          PIDout = Kp(1 + 1/Ts(1/s) + Td*s)


PID_scrollbar(kmyu)100sec_Final(Protected)배포용.xlsx