어플리케이션 노트

Moku:Go PID 컨트롤러를 사용한 폐쇄 루프 튜닝 연구실

시스템의 폐쇄 루프 응답을 사용하여 PID 컨트롤러를 조정하는 방법

Moku:Go

Moku:Go는 14개 이상의 실험실 장비를 하나의 고성능 장치에 결합합니다. 이 애플리케이션 노트는 Moku:Go PID 컨트롤러, 오실로스코프 및 프로그래밍 가능 전원 공급 장치를 사용하여 PID 컨트롤러에 대한 다양한 튜닝 방법을 시각적으로 학습할 수 있는 방법을 제공합니다.

 


개요

PID(비례-적분-미분) 컨트롤러는 피드백 제어의 가장 일반적인 형태 중 하나이며 자동차의 크루즈 컨트롤이나 드론의 모터 제어와 같은 다양한 애플리케이션에 사용됩니다. PID 컨트롤러의 목적은 일반적으로 설정점이라고 하는 지정된 출력에 도달하도록 프로세스를 구동하는 것입니다. 컨트롤러의 피드백은 이 프로세스의 제어를 조절하고 최적화하는 데 사용됩니다. Moku:Go는 디지털 제어 PID 컨트롤러를 갖추고 있습니다. 그래픽 사용자 인터페이스는 게인 프로필을 동적으로 시각화하여 사용자가 PID 컨트롤러의 전달 함수를 실시간으로 계산하고 표시하는 주파수 응답 그래프에 직접 게인 값을 끌어서 놓을 수 있는 기능을 제공합니다. 이를 통해 학생은 PID 게인 값과 교차 주파수를 변경하면서 시스템의 극점과 영점을 직접 볼 수 있습니다.

 

이 응용 프로그램의 목적은 현대 학부 연구실의 요구 사항에 더 잘 맞게 제어 이론 연구실을 업데이트할 수 있는 방법을 보여주는 것입니다. 일반적으로 제어 이론은 장비를 활용하는 물리적 실험실이 거의 없는 엄격한 수학적 모델링을 통해 교육됩니다. 이 애플리케이션은 학생들이 교실에서 배운 이론을 실제 제어 시스템에 보다 쉽게 ​​연결할 수 있도록 보다 시각적인 구성 요소를 적용하여 제어 이론 교육에 대한 현대적인 접근 방식을 소개합니다. 이는 DC 모터 팬, IR 거리 센서 및 Moku:Go에 사용할 수 있는 여러 통합 도구를 사용하여 탁구공의 높이를 제어함으로써 수행됩니다. Moku:Go는 14개 이상의 실험실 장비를 제공하며 그 중 XNUMX개(오실로스코프, PID 컨트롤러 및 프로그래밍 가능 전원 공급 장치)가 이 실험에 사용됩니다. 이러한 계측기 대부분은 동시에 사용되며 모터 제어 회로를 구동하고, 센서 데이터를 수집하고, 지정된 신호를 출력하여 DC 모터의 속도를 동시에 제어할 수 있습니다. 이러한 방식으로 탁구공의 상승 시간, 오버슈트 및 정상 상태 높이와 같은 특성을 범용 그래픽 사용자 인터페이스에서 제어하고 측정할 수 있으므로 학생들은 여러 고급 개념을 빠르게 이해할 수 있습니다. 또한 Moku: 앱을 통해 실시간 조정이 가능하므로 학생들은 다양한 PID 게인이 수학적으로나 물리적으로 시스템에 어떻게 영향을 미치는지 확인할 수 있습니다.

작동 원리

이 실험에서는 하나의 Moku:Go를 사용하여 PCB에 전원을 공급하고, 센서 데이터를 읽고, PID 컨트롤러를 구현하고, 제어 신호를 생성합니다. Moku:Go M2 모델에는 이와 같은 프로젝트에 매우 유용한 XNUMX채널 프로그래밍 가능 전원 공급 장치(PPSU)가 있으며 많은 연구실에서 원박스 솔루션이 될 수 있습니다. 이 실험에서는 두 개의 PPSU 채널을 사용하여 제어할 기본 시스템인 PCB와 DC 팬에 전원을 공급합니다. Moku:Go에는 데이터 읽기를 위한 XNUMX개의 입력 채널과 파형 생성을 위한 XNUMX개의 출력 채널도 있습니다. 이 실험에서는 입력 채널과 출력 채널 중 하나를 사용하여 데이터를 읽고 제어 신호를 생성합니다. PID 데모 키트와 Moku:Go가 폐쇄 루프 시스템에서 함께 작동하는 방법은 아래 그림을 참조하십시오.

 

그림 1: PID 데모 키트 블록 다이어그램

 

그림 2: 데모 키트가 포함된 Moku:Go PID 컨트롤러 블록 다이어그램

ADC1은 전위차계에 의해 제어되는 설정점 신호를 읽습니다. ADC2는 튜브 상단에 부착된 IR 센서를 읽습니다. 이 두 신호는 Moku:Go에서 실행되는 PID 컨트롤러로 전송되고 제어 신호는 DAC에서 생성되어 PWM 드라이버 회로로 전송됩니다. 이 제어 신호는 PWM의 듀티 사이클을 결정하여 DC 팬을 직접 변경하고 결과적으로 튜브 내부의 볼 높이를 변경합니다.

 

PWM 드라이버는 NE555 타이머(U1)를 사용하여 비교기(U2)의 반전 입력에 공급되는 톱니파형을 생성함으로써 작동합니다. Moku:Go(Out1 또는 DAC1)의 PID 컨트롤러 출력은 비교기의 비반전 입력으로 공급되어 PWM 신호를 생성합니다. 이 신호는 2V 팬이 소비하는 전력을 제어하는 ​​MOSFET(Q5)으로 전송됩니다. 팬이 직접 보는 힘의 양은 탁구공이 공중에 떠오르는 높이로 해석됩니다.

그림 3: PID 컨트롤러 데모 회로도

이 실험실 설정의 다른 부분은 공을 공중에 띄우는 데 사용되는 기계 시스템입니다. 5V DC 팬, 3D 프린팅 부품(튜브, 팬 커넥터, 센서 커넥터), IR 센서, 탁구공으로 구성됩니다. 튜브의 측면에는 시스템에 대한 가변 저항 역할을 하는 ¼인치 너비의 슬릿이 있습니다. 20mm마다 표시되는 더 작은 수직 슬릿이 있습니다. 표시는 IR 센서가 가장 먼저 보는 것이기 때문에 공의 상단에서 측정하는 데 사용해야 합니다. 이는 나중에 PID 컨트롤러를 조정할 때 중요합니다.

 

실험 설정

부품 목록

  • Moku:Go
  • PID 컨트롤러 데모 PCB
  • PID 컨트롤러 데모 3D 프린팅 부품

 

 

그림 4: PID 컨트롤러 데모 키트

PID 컨트롤러 조정

Moku:Go PID 컨트롤러 설정

PCB에서의 이 데모 설정은 아래 그림 5에서 볼 수 있습니다. 필요한 케이블은 오실로스코프 프로브 XNUMX개, BNC-악어 간 케이블(또는 BNC-미니) XNUMX개, 바나나-악어 간 케이블 XNUMX개입니다. 이러한 모든 케이블(BNC-악어 제외)은 Moku:Go에 포함되어 있습니다.

그림 5: PCB 케이블 설정

PID 컨트롤러용 소프트웨어 설정은 학생들이 제어 시스템 이론을 실제 실습에 원활하게 적용할 수 있는 블록 다이어그램 스타일 인터페이스 덕분에 매우 간단합니다. Moku:Go에 연결되면 PID 컨트롤러 기기를 엽니다. 제어 행렬의 첫 번째 행을 [1 -0.2]로 설정합니다. 제어 매트릭스는 입력 2의 데이터를 조정하고 입력 1(설정점)에서 빼는 방식으로 물리적 시스템의 피드백을 허용합니다. 이는 그림 1에 사용된 합산 블록과 매우 유사합니다. -0.2를 스칼라로 선택한 이유는 IR 센서의 동적 범위가 톱니 발생기의 동적 범위와 일치해야 하기 때문입니다. 다음으로 입력 오프셋을 -1V로 설정하고 출력 오프셋을 2V로 설정합니다. 입력 오프셋이 발생하는 이유는 볼의 시작 위치(약 1mm)로 인해 IR 센서가 이 시스템에 대해 약 200V 오프셋을 갖기 때문입니다. IR 센서에서 멀리 떨어져 있음). 톱니파 발생기의 오프셋이 2V이므로 출력 오프셋은 2V로 설정됩니다. IR 센서의 평균 오프셋을 기반으로 입력 오프셋을 변경해야 할 수도 있습니다. 그러나 1V가 공정한 출발점입니다.

 

그림 6: 폐쇄 루프 컨트롤러 설정

이제 PID 컨트롤러 데모 하드웨어와 Moku:Go PID 소프트웨어가 폐쇄 루프 튜닝을 위해 설정되었습니다.

 

개방 루프 응답

폐쇄 루프 튜닝 방법을 시작하기 전에 시스템을 테스트하고 작동 방식과 제어 방법을 이해하는 것이 좋습니다. 시스템의 개루프 응답은 테스트 중인 시스템에 단계 입력을 보내고 해당 시스템의 응답을 측정하는 매우 일반적이고 간단한 측정입니다. 이는 PID 컨트롤러의 제어 매트릭스를 [1 0]으로 설정하고 입력 및 출력 오프셋을 0V로 설정하고 비례 이득을 0dB로 활성화하여 수행할 수 있습니다. 이 설정을 통해 출력은 설정점 전위차계의 입력 1에서 읽는 전압인 입력을 추적할 수 있습니다.

그림 7: 개방 루프 컨트롤러 설정

설정점 전위차계를 변경하면 볼 높이가 변경되는 것을 확인할 수 있습니다. 설정점 전위차계 신호를 보려면 입력 1 다음에 프로브 지점을 활성화하고(빨간색 프로브 지점 아이콘 클릭) 추적 커서를 활성화하면 전위차계가 변경될 때 설정점 전압을 더 쉽게 볼 수 있습니다.

 

그림 8: 설정점 전위차계 신호

개방 루프 단계 응답 측정을 수행하려면 입력 2(IR 센서)에서 프로브 포인트를 활성화하고 트리거 모드를 보통으로 설정하고 트리거 채널을 프로브 B로 설정합니다. 설정 포인트 전위차계를 사용하여 볼에 적합한 높이를 선택한 다음 Out 1을 클릭하여 출력을 비활성화합니다. 선택한 볼 높이에 따라 적절한 트리거 레벨을 선택하면 컨트롤러 출력이 다시 활성화되면 볼이 이전 위치로 올라가고 아래 그림 9와 같은 그래프와 유사합니다.

 

그림 9: 개루프 단계 응답

내장된 오실로스코프에는 개방 루프 응답 신호의 특성을 빠르게 분석할 수 있는 커서와 자동 측정 기능도 있습니다.

 

폐쇄 루프 PID 컨트롤러 튜닝

PID 컨트롤러에는 잘 알려진 몇 가지 수동 튜닝 방법이 있습니다. 그 중 하나는 시스템의 개방 루프 응답을 사용하여 PID 게인을 결정하는 Ziegler-Nichols 방법으로 알려져 있으며, 다른 애플리케이션 노트에서 수행됩니다. 여기에서 지금 확인해 보세요.. 이 애플리케이션은 합리적으로 안정적인 결과를 제공하는 폐쇄 루프 방법을 사용합니다. 폐쇄 루프 튜닝을 시작하기 전에 컨트롤러 설정을 그림 6과 유사하게 재설정하십시오.

 

a. PID 컨트롤러 장비를 열고 비례 이득만 켜고 0dB로 설정합니다. 볼이 튜닝을 위해 원하는 높이에 도달할 때까지 설정점 전위차계를 조정합니다. PID 컨트롤러 매개변수는 시작 높이가 다른 경우 아래 값과 다른 값을 갖습니다. 이 응용 프로그램은 60mm 또는 V에서 공을 시작합니다.설정 점 = 2.1V(IR 센서가 보는 것이므로 볼 상단까지 60mm).

그림 10: 비례 게인 설정

b. 공이 진동하기 시작할 때까지 비례 게인을 늘립니다. 마우스를 사용하여 게인을 끌어서 그래프에서 직접 조정할 수 있다는 점을 기억하십시오. 마우스 휠을 사용하여 숫자 위로 스크롤하여 조정하거나 값을 수동으로 입력하는 옵션도 있습니다.

 

그림 11: 시스템 진동 그래프

c. 미분기 이득을 가장 높은 크로스오버 주파수로 활성화하고 진동이 멈출 때까지 미분기 크로스오버 주파수를 줄입니다(또는 일반적으로 센서 소음으로 인해 공이 튜브에서 약간의 작은 움직임을 가지므로 크게 감소합니다).

 

그림 12: PD 컨트롤러 값 및 시스템 응답

d. 가장 낮은 크로스오버 주파수에서 적분기 이득을 활성화합니다. 이로 인해 컨트롤러가 포화되므로 적분기 포화 수준도 활성화하십시오. 이는 적분기 교차 주파수를 제한하여 시스템도 포화되지 않도록 합니다. 이 두 매개변수를 활성화한 후에는 공의 높이가 증가하므로 더 이상 튜닝하기 전에 공이 a 단계에서 튜닝을 시작할 때와 동일한 높이(이 경우 약 60mm)가 될 때까지 비례 게인을 줄입니다.

 

그림 13: PID 컨트롤러 값 및 시스템 응답

공이 b단계와 비슷한 크기로 진동하기 시작하면 IR 센서 출력이 위의 그림 13과 유사할 때까지 적분기 교차 주파수와 미분기 교차 주파수를 조정합니다.

 

e. 이제 초기 PID 게인을 찾았으므로 단계 입력에 대한 폐쇄 루프 응답을 기반으로 각 게인을 조정하기 위한 지침으로 아래 표를 사용하여 시행착오를 통해 시스템을 추가로 조정할 수 있습니다. 최적의 게인 값을 조정하는 동안 최소 지점과 최대 지점 사이의 설정 지점을 변경하는 것이 중요합니다.

 

표 1: PID 게인 조정 가이드

KP를 증가시키면 동일한 볼 높이를 유지하기 위해 설정값을 줄여야 한다는 점을 명심하십시오. 전달 함수 그래프에서 직접 P, I 또는 D 게인 값을 드래그하여 각 게인 값이 시스템의 다양한 측면을 어떻게 변경하는지 확인하세요. 위 표의 가정은 시스템이 PID 컨트롤러의 관련 게인 값 변경에 응답하는 방식과 일치합니까?

 

f. PID 컨트롤러 신호 체인 내부에 프로브 포인트를 배치하여 시스템 특성화를 위한 측정값을 얻으려면 PID 컨트롤러에 내장된 오실로스코프를 사용하십시오. IR 센서 피드백은 입력 2에 있어야 합니다. 또한 PID 컨트롤러 블록 전후에 디지털 스위치가 있어 물리적 스위치나 케이블을 지속적으로 뽑을 필요 없이 단계 입력으로 시스템을 자극하는 데 도움이 됩니다.

아래는 원하는 60mm 볼 높이까지 단계적으로 증가하기 위해 잘 조정된 반응입니다.

 

그림 14: 조정된 PID 컨트롤러 이득 및 시스템 응답

이 단계 응답은 설정점 전위차계를 사용하여 낮은 레벨 40mm 입력에서 높은 레벨 160mm 입력까지입니다. 공이 원하는 설정점을 거의 초과하지 않음에도 불구하고 여전히 그래프의 오버슈트가 상대적으로 높다는 점은 흥미롭습니다. 이는 물체가 센서의 40~50mm 내에 들어갈 때 센서 출력 전압에 비선형성이 있어 시스템에서 겉보기에 큰 오버슈트가 발생하는 IR 센서의 데이터시트로 설명할 수 있습니다.

 

결론

이 애플리케이션 노트에서는 상승 시간, 오버슈트 및 정상 상태 오류와 같은 일반적인 시스템 특성을 개선하기 위해 Moku:Go PID 컨트롤러를 사용하여 폐쇄 루프 제어 시스템을 조정하는 방법을 보여주었습니다. PID 컨트롤러와 함께 이 노트에서는 회로 드라이버와 DC 팬에 전원을 공급하고 제어하는 ​​통합 오실로스코프, 파형 발생기 및 프로그래밍 가능 전원 공급 장치도 사용했습니다. 대화형 전달 함수 그래프와 함께 떠다니는 탁구공을 사용하여 PID 컨트롤러가 어떻게 작동하는지 시각화하는 것은 시각적인 실습을 통해 제어 이론 과정에 깊이를 더하려는 학생과 교수에게 도움이 됩니다. Moku:Go PID 컨트롤러는 학생들이 이 실험을 통해 이론을 실제 구현에 연결하는 데 도움을 줄 수 있습니다.


Moku:Go의 장점

 

교육자 및 실험실 조교용

연구실 공간과 시간의 효율적인 활용

일관된 장비 구성의 용이성

기기 설정이 아닌 전자 장치에 중점을 둡니다.

연구실 조교 시간 극대화

개별 연구실, 개별 학습

스크린샷을 통한 단순화된 평가 및 등급 지정

학생을 위한

각자의 속도에 맞춰 진행되는 개별 실험실을 통해 이해도와 기억력이 향상됩니다.

휴대 가능하며 집, 캠퍼스 연구실 또는 원격 공동 작업 등 연구실 작업을 위한 속도, 장소 및 시간 선택 가능

친숙한 Windows 또는 macOS 노트북 환경이면서도 전문가급 장비를 갖추고 있습니다.


Moku:Go 데모 모드

Liquid Instruments 웹사이트에서 macOS 및 Windows용 Moku:Go 앱을 다운로드할 수 있습니다. 데모 모드는 하드웨어 없이도 작동하며 Moku:Go 사용에 대한 훌륭한 개요를 제공합니다.


감사의 글

시간을 내어 제어 시스템 교육에 사용될 이 프로젝트를 설계하는 데 도움을 주신 Dr. Vivek Telang에게 감사드립니다. 본 애플리케이션 노트와 관련된 질문이 있는 경우 Dr. Telang에게 연락하시기 바랍니다. vivek.telang@utexas.edu.