1 / 33

MicroMouse DC 모터 제어

단국대학교 MAZE 9 기 박선응. MicroMouse DC 모터 제어. 2008/4/25. 차례. 1. DC 모터 제어 원리 DC 모터 구동 원리 PWM 을 통한 DC 모터 구동 모터의 회전 수 측정 PID 제어 2. DC 모터 제어 구현 (TMS320F2808) Flowchart 초기화 모터 제어 구현. DC 모터 제어 원리. DC 모터 구동 원리. 자기장 속에 있는 도선에 전류가 흐를 때 전류가 받는 힘의 방향으로 모터가 회전한다. 플래밍의 왼손법칙. DC 모터 특성.

levana
Download Presentation

MicroMouse DC 모터 제어

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 단국대학교 MAZE 9기 박선응 MicroMouseDC모터 제어 2008/4/25

  2. 차례 1. DC 모터 제어 원리 • DC 모터 구동 원리 • PWM을 통한 DC 모터 구동 • 모터의 회전 수 측정 • PID 제어 2. DC 모터 제어 구현(TMS320F2808) • Flowchart • 초기화 • 모터 제어 구현

  3. DC 모터 제어 원리

  4. DC 모터 구동 원리 • 자기장 속에 있는 도선에 전류가 흐를 때 전류가 받는 힘의 방향으로 모터가 회전한다. 플래밍의 왼손법칙

  5. DC 모터 특성 • T-I 특성(토크 대 전류) • 전류에 대해 선형적인 직선으로 토크가 비례 • T-N 특성(토크 대 회전수) • 토크에 대하여 회전수는 선형적인직선으로 반비례

  6. H-Bridge 회로 • 단일 전원으로 모터에 가하는 전압의 방향을 바꿀 수 있는 회로 • ON : Q1, Q4 • OFF : Q2, Q3 • > 정회전 • ON : Q2, Q3 • OFF : Q1, Q4 • > 역회전

  7. PWM을 통한 DC 모터 구동 • 구동 전압을 일정 주기로 On/Off 하여 구동전압을 바꾸는 듯한 효과를 냄 -> Pulse Width Modulation

  8. 모터 회전 수 측정 • Encoder 종류 opto-electronic encoder Magnetic Encoder

  9. 모터회전 수 측정 • Encoder Output Pulse

  10. 개루프제어와 폐루프 제어 • 개루프 제어(open-loop control) • 구조가 단순하고 경제적이다 • 일반적으로 양호한 신뢰도 • 제어 정도가 다소 떨어짐(오차 보정 없음)

  11. 개루프제어와 폐루프 제어 • 폐루프 제어(close-loop control) • 제어 정도가 우수 • 고신뢰도 • 시스템의 안정성, 주파수 응답 특성, 민감도 등의 제어 향상이 가능

  12. PID 제어기 구조 • Proportional(비례), Integral(적분), Differential(미분)을 통한 제어

  13. PID 제어기 특징 • 구조적간단하다 • 제어이득 조정이 쉽다 제어 조작량의 변화가 커서 목표치에서 진동을 함

  14. 비례(P) 제어기 • 가장 기초적인 비례 제어기 • 목표값에 접근 할 수록 미세하게 제어 함 • 목표값에 정확히 도달할 수 없음

  15. 비례-적분(PI) 제어기 • 누적 오차를 보상하는 제어기 • 목표값에 도달이 가능 • 시스템 응답이 느려 질 수 있음

  16. 비례-미분(PD) 제어기 • 미분 제어와 PID 제어 • 미분 제어로 응답 속도를 향상 • 잘못 설정할 경우 외란이나 노이즈에 크게 영향을 받음

  17. 각 이득의 일반적인 영향

  18. 개인(Gain) 값 튜닝 순서 P제어를 통해 상승시간 향상 D제어를 첨가하여 Overshoot 향상 I제어를 첨가하여 정상상태 오차를 없앰 만족할 때 까지 각 이득 값 조정

  19. DC 모터 제어 구현

  20. Flowchart

  21. 초기화 • 모터제어에 필요한 PWM, QEP를 초기화 • 일정 시간마다 모터제어를 하기 위한 타이머 설정

  22. PWM(Pulse Width Modulation) 초기화 • Counter Clock 설정(->SYSCLOCKOUT) • PWM Period(->25us = 40KHz) • ZRO(Zero), CAU(Compare A Up), CBU(Compare B Up) CAD(Compare A Down), CBD(Compare B Down) • PWM Output Control(CMPA, CMPB)

  23. QEP(Quadrature Encoder Pulse) 초기화 • 모터엔코더 카운터 값을 받기 위함 Encoder Output Signal Quadrature Decoder 512 Resolution Encoder -> 2048 Resolution Forward/Reverse Movement

  24. QEP(Quadrature Encoder Pulse) 초기화 • QEP Register Setting • Position Counter Reset on the Maximum Position • Position Maximum is ‘~0’(2047)

  25. 타이머 초기화 • 일정주기마다 속도, 거리 등 각 종 정보를 갱신하고, 목표 속도로 제어하기 위해 타이머를 구동 -> 현재 500us를 주기로 설정

  26. 모터 제어 Timer • 일정 주기 마다 모터의 회전 정보를 얻어 속도, 거리를 계산 • 목표 속도를 맞추기 위해 PID 제어값을 계산하여 PWM 카운터 값 적용

  27. 엔코더 펄스 구하기 • 엔코더 카운터를 통해 얻음 QEP.QPOSCNT를 읽음 Software Init Position Counter (QEP.QEPCTL의 SWI를 ‘1’로설정)

  28. 모터의 움직임 기본데이터 구하기 • 거리 계산 • 단위 거리 = 엔코더 카운터값 x 엔코더 펄스당 거리 • 엔코더 펄스당 거리 = 바퀴 지름 / (바퀴 한바퀴의 엔코더 펄스 x 기어 비율) • 속력 계산 • 속력 = 거리 / 타이머 주기 -> 타이머의 역수를 곱셈으로 계산(속도 향상) • 다음 목표 속력 설정 • 가속(최종 목표 속력 > 현재 목표 속력) • 다음 목표 속력 = 현재 속력 + (가속력*타이머시간) • 감속(최종 목표 속력 < 현재 목표 속력) • 다음 목표 속력 = 현재 속력 - (가속력*타이머시간)

  29. PID 제어값 구하기 • PID 제어기 계산 • 비례(P) 제어기 • P = KP(비례상수) x 속력 오차 • 적분(I) 제어기 • I = KI(적분상수) x 속력 오차 누적 값) • 미분(D) 제어기 • D = KD(미분상수)  • x (속력 오차 - 전전전 속력 오차)) • 최종 PID 값 • PID 값 = P + I + D 속력 오차 = 목표속력 – 평균 속력

  30. 모터 구동 방향과 PWM 카운터 값 구하기 • 모터 제어 방향 얻기 • PID 값을 PWM 값으로 변환 • PWM Value = PID Value x Ratio

  31. 모터 구동 방향 설정 • PWM 출력 포트 설정 • Forward(전방향) • AQCTRLA.bit.ZRO = AQ_SET • AQCTRLB.bit.ZRO = AQ_CLEAR • Backward(역방향) • AQCTRLA.bit.ZRO = AQ_CLEAR • AQCTRLB.bit.ZRO = AQ_SET

  32. PWM 카운터 값 적용 • PWM 설정 • CMPB Register 설정

  33. Reference • http://www.ktechno.co.kr • http://www.daehwagm.co.kr • 단국대학교 MAZE 슝슝 ‘DC 모터의 제어’

More Related