micromouse dc 모터 제어

33
단단단단단 MAZE 9 단 단단단 2008/4/2 5

Upload: levana

Post on 23-Jan-2016

246 views

Category:

Documents


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: MicroMouse DC 모터 제어

단국대학교 MAZE 9 기 박선응

2008/4/25

Page 2: MicroMouse DC 모터 제어

차례

1. DC 모터 제어 원리- DC 모터 구동 원리- PWM 을 통한 DC 모터 구동- 모터의 회전 수 측정- PID 제어

2. DC 모터 제어 구현 (TMS320F2808)

- Flowchart- 초기화- 모터 제어 구현

Page 3: MicroMouse DC 모터 제어

DC 모터 제어 원리

Page 4: MicroMouse DC 모터 제어

DC 모터 구동 원리

자기장 속에 있는 도선에 전류가 흐를 때 전류가 받는 힘의 방향으로 모터가 회전한다 .

플래밍의 왼손법칙

Page 5: MicroMouse DC 모터 제어

DC 모터 특성

T-I 특성 ( 토크 대 전류 ) 전류에 대해 선형적인

직선으로 토크가 비례

T-N 특성 ( 토크 대 회전수 ) 토크에 대하여 회전수는

선형적인 직선으로 반비례

Page 6: MicroMouse DC 모터 제어

H-Bridge 회로

단일 전원으로 모터에 가하는 전압의 방향을 바꿀 수 있는 회로

ON : Q1, Q4ON : Q1, Q4OFF : Q2, Q3OFF : Q2, Q3

-> > 정회전정회전

ON : Q2, Q3ON : Q2, Q3OFF : Q1, Q4OFF : Q1, Q4

-> > 역회전역회전

Page 7: MicroMouse DC 모터 제어

PWM 을 통한 DC 모터 구동

구동 전압을 일정 주기로 On/Off 하여 구동전압을 바꾸는 듯한 효과를 냄-> Pulse Width Modulation

Page 8: MicroMouse DC 모터 제어

모터 회전 수 측정

opto-electronic opto-electronic encoderencoder

Magnetic EncoderMagnetic Encoder

Encoder 종류

Page 9: MicroMouse DC 모터 제어

모터 회전 수 측정

Encoder Output Pulse

Page 10: MicroMouse DC 모터 제어

개루프 제어와 폐루프 제어

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

Page 11: MicroMouse DC 모터 제어

개루프 제어와 폐루프 제어

폐루프 제어 (close-loop control) 제어 정도가 우수 고신뢰도 시스템의 안정성 , 주파수 응답 특성 , 민감도

등의 제어 향상이 가능

Page 12: MicroMouse DC 모터 제어

PID 제어기 구조

Proportional( 비례 ), Integral( 적분 ), Differential( 미분 ) 을 통한 제어

Page 13: MicroMouse DC 모터 제어

PID 제어기 특징

구조적 간단하다 제어이득 조정이 쉽다

제어 조작량의 변화가 커서

목표치에서 진동을 함

Page 14: MicroMouse DC 모터 제어

비례 (P) 제어기

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

Page 15: MicroMouse DC 모터 제어

비례 - 적분 (PI) 제어기

누적 오차를 보상하는 제어기 목표값에 도달이 가능 시스템 응답이 느려 질 수 있음

Page 16: MicroMouse DC 모터 제어

비례 - 미분 (PD) 제어기

미분 제어와 PID 제어 미분 제어로 응답 속도를 향상 잘못 설정할 경우 외란이나 노이즈에 크게 영향을 받음

Page 17: MicroMouse DC 모터 제어

각 이득의 일반적인 영향

Page 18: MicroMouse DC 모터 제어

개인 (Gain) 값 튜닝 순서

P 제어를 통해

상승시간 향상

D 제어를첨가하여

Overshoot 향상

I 제어를 첨가하여 정상상태 오차를

없앰만족할 때까지 각 이득 값

조정

Page 19: MicroMouse DC 모터 제어

DC 모터 제어 구현

Page 20: MicroMouse DC 모터 제어

Flowchart

Page 21: MicroMouse DC 모터 제어

초기화

모터 제어에 필요한 PWM, QEP 를 초기화

일정 시간마다 모터 제어를 하기 위한 타이머 설정

Page 22: MicroMouse DC 모터 제어

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)

Page 23: MicroMouse DC 모터 제어

QEP(Quadrature Encoder Pulse) 초기화 모터 엔코더 카운터 값을 받기 위함

Encoder Output SignalEncoder Output Signal

Forward/Reverse MovementForward/Reverse Movement

Quadrature DecoderQuadrature Decoder

512 Resolution Encoder512 Resolution Encoder -> 2048 Resolution-> 2048 Resolution

Page 24: MicroMouse DC 모터 제어

QEP(Quadrature Encoder Pulse) 초기화

QEP Register Setting

Position Counter Reset on the Maximum Position

Position Maximum is ‘~0’(2047)

Page 25: MicroMouse DC 모터 제어

타이머 초기화

일정 주기마다 속도 , 거리 등 각 종

정보를 갱신하고 , 목표 속도로 제어하기

위해 타이머를 구동

-> -> 현재 현재 500us500us 를 주기로 설정를 주기로 설정

Page 26: MicroMouse DC 모터 제어

모터 제어 Timer

일정 주기 마다 모터의 회전 정보를 얻어 속도 , 거리를 계산

목표 속도를 맞추기 위해 PID 제어값을 계산하여 PWM 카운터 값 적용

Page 27: MicroMouse DC 모터 제어

엔코더 펄스 구하기

엔코더 카운터를 통해 얻음

QEP.QPOSCNT 를 읽음

Software Init Position Counter

(QEP.QEPCTL 의 SWI 를 ‘ 1’로 설정 )

Page 28: MicroMouse DC 모터 제어

모터의 움직임 기본 데이터 구하기

거리 계산거리 계산 단위 거리 = 엔코더 카운터값 x 엔코더 펄스당 거리 엔코더 펄스당 거리 =  바퀴 지름 / ( 바퀴 한바퀴의 엔코더 펄스 x 기어 비율 )

속력 계산속력 계산 속력 = 거리 /  타이머 주기

-> 타이머의 역수를 곱셈으로 계산 ( 속도 향상 )

다음 목표 속력 설정다음 목표 속력 설정 가속 ( 최종 목표 속력 > 현재 목표 속력 )

다음 목표 속력 = 현재 속력 + ( 가속력 *타이머시간 ) 감속 ( 최종 목표 속력 < 현재 목표 속력 )

다음 목표 속력 = 현재 속력 - ( 가속력 *타이머시간 )

Page 29: MicroMouse DC 모터 제어

PID 제어값 구하기

PID PID 제어기 계산제어기 계산

비례 (P) 제어기P = KP( 비례상수 ) x 속력 오차

적분 (I) 제어기I = KI( 적분상수 ) x  속력 오차 누적 값 )

미분 (D)  제어기 D = KD( 미분상수 ) 

x ( 속력 오차 - 전전전 속력 오차 ))

최종 PID 값PID 값 = P + I + D

속력 오차 = 목표 속력 – 평균 속력

Page 30: MicroMouse DC 모터 제어

모터 구동 방향과 PWM 카운터 값 구하기

모터 제어 방향 얻기

PID 값을 PWM 값으로 변환 PWM Value = PID Value x Ratio

Page 31: MicroMouse DC 모터 제어

모터 구동 방향 설정

PWM 출력 포트 설정 Forward( 전방향 )

AQCTRLA.bit.ZRO = AQ_SET AQCTRLB.bit.ZRO = AQ_CLEAR

Backward( 역방향 ) AQCTRLA.bit.ZRO = AQ_CLEAR AQCTRLB.bit.ZRO = AQ_SET

Page 32: MicroMouse DC 모터 제어

PWM 카운터 값 적용

PWM 설정 CMPB Register 설정

Page 33: MicroMouse DC 모터 제어

Reference

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