Main Content

속도 센서를 사용한 유도 모터의 자속 기준 제어

이 예제에서는 3상 AC 유도 모터(ACIM)의 속도를 제어하는 자속 기준 제어(FOC) 기법을 구현합니다. FOC 알고리즘에는 회전자 속도 피드백이 필요하며, 이 예제에서는 쿼드라쳐 인코더 센서를 사용하여 이 피드백을 구합니다. FOC에 대한 자세한 내용은 자속 기준 제어(FOC) 항목을 참조하십시오.

이 예제에서는 쿼드라쳐 인코더 센서를 사용하여 회전자 속도를 측정합니다. 쿼드라쳐 인코더 센서는 위상이 90도(전기각) 다르게 코딩된 두 개의 트랙 또는 채널이 있는 원판으로 구성됩니다. 이는 90도의 위상차를 갖는 두 개의 펄스(A와 B)와 인덱스 펄스(I)를 만듭니다. 따라서 제어기는 A 채널과 B 채널 간의 위상 관계와 채널 상태의 전환을 사용하여 모터의 회전 방향을 결정합니다.

모델

이 예제에는 모델 mcb_acim_foc_qep_f28379d가 포함되어 있습니다.

이 모델을 시뮬레이션과 코드 생성에 사용할 수 있습니다.

지원되는 하드웨어 구성에 대한 자세한 내용은 "코드를 생성하고 타깃 하드웨어에 모델 배포하기"의 "필수 하드웨어" 섹션을 참조하십시오.

필요한 MathWorks 제품

모델을 시뮬레이션하려면:

  • Motor Control Blockset™

코드를 생성하고 모델을 배포하려면:

  • Motor Control Blockset™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer™(최적화된 코드 생성에만 필요함)

선행 조건

1. 모터 파라미터를 가져오십시오. Simulink® 모델과 함께 디폴트 모터 파라미터가 제공되며, 이 파라미터를 모터 데이터시트 또는 다른 소스의 값으로 바꿀 수 있습니다.

2. 데이터시트 또는 다른 소스에서 모터 파라미터를 가져오는 경우에는 Simulink® 모델과 연결된 모델 초기화 스크립트에서 모터 파라미터와 인버터 파라미터를 업데이트하십시오. 자세한 지침은 Estimate Control Gains and Use Utility Functions 항목을 참조하십시오.

3. 이 초기화 스크립트는 파생된 파라미터도 계산합니다. 총 누설률, 정격 플럭스, 정격 토크, 유도 모터의 고정자 인덕턴스와 회전자 인덕턴스 등을 예로 들 수 있습니다.

모델 시뮬레이션하기

이 예제는 시뮬레이션을 지원합니다. 다음 단계에 따라 모델을 시뮬레이션합니다.

1. 이 예제에 포함된 모델을 엽니다.

2. 시뮬레이션 탭에서 실행을 클릭하여 모델을 시뮬레이션합니다.

3. 시뮬레이션 탭에서 데이터 인스펙터를 클릭하여 시뮬레이션 결과를 확인하고 분석합니다.

코드를 생성하고 타깃 하드웨어에 모델 배포하기

이 섹션에서는 코드를 생성하고 타깃 하드웨어에서 FOC 알고리즘을 실행하는 방법을 설명합니다.

이 예제는 호스트 모델과 타깃 모델을 사용합니다. 호스트 모델은 제어기 하드웨어 보드에 대한 사용자 인터페이스입니다. 호스트 모델은 호스트 컴퓨터에서 실행할 수 있습니다. 호스트 모델을 사용하기 위한 선행 조건은 타깃 모델을 제어기 하드웨어 보드에 배포하는 것입니다. 호스트 모델은 직렬 통신을 사용하여 타깃 Simulink® 모델에 명령을 내리고 폐루프 제어에서 모터를 구동합니다.

필수 하드웨어

이 예제는 다음 하드웨어 구성을 지원합니다. MATLAB® 명령 프롬프트에서 타깃 모델 이름을 사용하여 해당 하드웨어 구성의 모델을 열 수도 있습니다.

위의 하드웨어 구성과 관련된 연결은 LAUNCHXL-F28069M and LAUNCHXL-F28379D Configurations 항목을 참조하십시오.

코드 생성 및 타깃 하드웨어에서 모델 실행

1. 타깃 모델을 시뮬레이션하고 시뮬레이션 결과를 관찰합니다.

2. 하드웨어 연결을 완료합니다.

3. 모델이 ADC(또는 전류) 오프셋 값을 자동으로 계산합니다. 이 기능(기본적으로 활성화되어 있음)을 비활성화하려면 모델 초기화 스크립트의 변수 inverter.ADCOffsetCalibEnable을 값 0으로 업데이트하십시오.

또는 ADC 오프셋 값을 계산하고 모델 초기화 스크립트에서 해당 값을 수동으로 업데이트할 수 있습니다. 자세한 지침은 개루프 제어에서 3상 AC 모터를 구동하고 ADC 오프셋 보정하기 항목을 참조하십시오.

4. 타깃 모델을 엽니다. 모델의 디폴트 하드웨어 구성 설정을 변경하려면 Model Configuration Parameters 항목을 참조하십시오.

5. 샘플 프로그램을 LAUNCHXL-F28379D의 CPU2에 불러옵니다. 예를 들어, GPIO31 핀을 사용하여 CPU2 파란색 LED를 작동하는 프로그램(c28379D_cpu2_blink.slx)을 불러옴으로써 CPU2가 의도치 않게 CPU1용 보드 주변 기기를 사용하지 않도록 합니다. 샘플 프로그램 또는 모델에 대한 자세한 내용은 Getting Started with Texas Instruments C2000 Microcontroller Blockset (C2000 Microcontroller Blockset)의 "작업 2 - TI Delfino F28379D LaunchPad(Dual Core)용 모델 생성, 구성 및 실행" 섹션을 참조하십시오.

6. Hardware 탭에서 빌드, 배포, 시작을 클릭하여 타깃 모델을 하드웨어에 배포합니다.

7. 타깃 모델에서 host model 하이퍼링크를 클릭하여 연결된 호스트 모델을 엽니다.

호스트 모델과 타깃 모델 간의 직렬 통신에 대한 자세한 내용은 Host-Target Communication 항목을 참조하십시오.

8. 타깃 모델과 연결된 모델 초기화 스크립트에서 변수 target.comport를 사용하여 통신 포트를 지정합니다. 이 예제에서는 이 변수를 사용하여 호스트 모델에서 사용할 수 있는 Host Serial Setup, Host Serial Receive, Host Serial Transmit 블록의 Port 파라미터를 업데이트합니다.

9. 호스트 모델에서 Reference Speed 값을 업데이트합니다.

10. Debug signals 섹션에서, 모니터링하려는 신호를 선택합니다.

11. 시뮬레이션 탭에서 실행을 클릭하여 호스트 모델을 실행합니다.

12. Start / Stop Motor 스위치의 위치를 On으로 변경하여 모터 구동을 시작합니다.

13. 호스트 모델의 SelectedSignals 시간 스코프에서 RX 서브시스템의 디버그 신호를 관찰합니다.

참고: 이 예제는 공간 벡터의 양의 방향 회전에 대한 양의 속도 피드백에 의존합니다. 모터가 구동되지 않는 경우 다음 단계를 수행하여 문제를 해결해 보십시오.

  • 모터의 두 상을 어느 것이든 서로 바꿔 연결해 봅니다.

참고 항목