(6)

Similar documents
(8)

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft Word - DCMD-1000 사용자 메뉴얼.docx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft Word - PEB08_USER_GUIDE.doc

2009년2학기 임베디드시스템 응용

ATmega128

슬라이드 1

HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터

API 매뉴얼

untitled

DA C.4.

1. 제품규격및특징 구분 규격및특징 입력전압 DC 12~30V 모터구동방식 Bipolar 방식 최대모터전류 Max 3.0A 초기설정정지전류 :4(0.46A), 구동전류 :18(1.75A) 분주비 0(x256), 1(x128), 2(x64), 3(x32), 4(x16),

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

T100MD+

PowerPoint Presentation

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft Word - Lab.4

2009년2학기 임베디드시스템 응용

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

Microsoft PowerPoint - 제7장 타이머와 PWM (HBE-MCU-Multi AVR).ppt [호환 모드]

MAX+plus II Getting Started - 무작정따라하기

Microsoft Word - logic2005.doc

AN2629

Siemens

Microsoft PowerPoint - ccs33_bios_PRD.ppt [호환 모드]

BC6HP Korean.ai

Slide 1


EMCA-EC_STO_BES_E_ a_ k1

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

6_5상 스테핑 모터_ _OK.indd

개요 본작품의목적은 MCU 를처음접하는사용자가정해진커리큘럼에맞추어학습할수있는키트를만드는것이다. 사용자는본작품을통해저성능이지만사용및학습이쉽고현재가장많이사용되는 MCU 인 AVR 과현존하는가장고성능 MCU 인 C2000 프로세서를사용해봄으로서 MCU 를사용하는로봇엔지니어로

실험 5

2009년2학기 임베디드시스템 응용

[8051] 강의자료.PDF

1. 제품소개 그림. 1.1 이란? DC 모터구동시하드웨어제작에소요되는시간을단축시켜프로그래밍연구개발및학습효과를극대화시켜주는 입니다. 또한당사 DEV 보드와 1P 점퍼클립케이블을이용하여연동이가능하며, 산업용 DC 모터의정회전, 역회전구동및속도제어시유용하게사용되는 입니다.

11 강 AVR board & download cable 2009 년도 1 학기 센서개론 Mechatronics Lab 센서개론

airDACManualOnline_Kor.key

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드]

lecture4(6.범용IO).hwp

歯FDA6000COP.PDF

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

0.1-6

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

KEY 디바이스 드라이버

제목을 입력하십시오

정보보안 개론과 실습:네트워크

Microsoft PowerPoint - MSP430_Firmware Design_Develop_V11.ppt

Microsoft Word doc

Microsoft Word - LAB_OPamp_Application.doc

歯메뉴얼v2.04.doc

Microsoft PowerPoint - 9.Serial.pptx

텀블러514

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ez-md+_manual01

2009년2학기 임베디드시스템 응용

Microsoft PowerPoint - polling.pptx

Formatvorlage für Arbeitsanweisungen

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로

Product Brief Manual

디지털TV솔루션 브로셔

AVR Atmega128

MicrocontrollerAcademy_Lab_ST_040709

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

Microsoft PowerPoint - STM32_LCD보드.ppt [호환 모드]

// 변수선언 unsigned char i; unsigned char FONT[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xD8, 0x80, 0x98}; //PORTA 를출력으로설정하고초기값은모두 0 PORTA = 0x00; DD

Formatvorlage für Arbeitsanweisungen

Microsoft PowerPoint - es-arduino-lecture-03

TMS320F28335 칩과 SYNCWORKS 사에서제작한 SMC150 기판을사용하기로결정하였다. 마지막으로소리출력부분에대해서는 MP3 모듈과스피커를사용, 해당구간에해당하는음원파일을재생하기위한장치로네오틱스사에서나온 NA-EMP3 보드와 NA-EMP3M 칩을사용하여소리를

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

DTS-L300-V2 Specification Page 1 of 14 비접촉온도측정 원거리온도측정 High Accuracy Digital Interface : SPI Arduino UNO 예제코드제공 제품설명 DTS-L300-V2는접촉을하지않고원하는물체표면에온도를 50

歯superimp.PDF

CAN-fly Quick Manual

1_12-53(김동희)_.hwp

ADP-2480

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

Section 03 트랜지스터를이용한스위칭동작 16/45 트랜지스터의직류특성 활성 직류상황에서전류 I C 는전류 I B 보다 h FE 배만큼더많은전류가흐름» 베이스와이미터가순방향으로바이어스» 컬렉터와베이스가역방향으로바이어스 차단 만일 I B 가 0[A] 이면컬렉터전류

28 저전력복합스위칭기반의 0.16mm 2 12b 30MS/s 0.18um CMOS SAR ADC 신희욱외 Ⅰ. 서론 Ⅱ. 제안하는 SAR ADC 구조및회로설계 1. 제안하는 SAR ADC의전체구조

API 매뉴얼

논리회로설계 3 장 성공회대학교 IT 융합학부 1

BC6DX Korean.ai

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

CPX-E-SYS_BES_C_ _ k1

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

歯2710h.PDF

실험 5

DIB-100_K(90x120)

HomeTheater.doc

<4D F736F F D C6AFBAB0BACEB7CF2D322E204D4F544F52C8B8C0FC20BCD3B5B520C3F8C1A420B9E6B9FD20B1B8C7F62E444F43>

YD-3533.xls

CD-6208_SM(new)

<4D F736F F F696E74202D20325FBEC6B5CEC0CCB3EB20B1E2C3CABDC3C7E82E BC8A3C8AF20B8F0B5E55D>

전자실습교육 프로그램

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

acdc EQ 충전기.hwp

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

Transcription:

5-6. EV 모듈의 PWM 출력예제목표 : 본예제에서는 EV(Event Manager) 모듈의 PWM 출력에대해학습한다. DSP8x에는 3상 AC 모터를구동할수있는 조의 PWM과엔코더입력회로가있다. 본예제에서는이 PWM 출력을사용하여 DC 모터의속도를조절해보고, RC 회로로 PWM 를필터링하여사인파형을출력시켜본다. 사용회로고찰 : 3.3V AR Kx4 3 4 5 LED M0 4 3 LED M CN6 PWM_IN C3 470uF/50V LED3 M +V LED4 M3 CN9 R 4.7K TP3 TP CN_DM 5V R 4.7K TP4 TP 5 7 6 0 IN IN ENA IN3 IN4 ENB 5V V+ VCC GND 8 9 4 U OUT OUT OUT3 OUT4 SEN_A SEN_B L98 3 3 4 5 R3 0.5 ohm,w 0.5 ohm,w R4 C 470p D N4007 D5 N4007 C 470p +V D N4007 D3 N4007 D6 N4007 D7 N4007 D4 N4007 MOT MOT MOT3 MOT4 D8 N4007 4 3 CN5 DC_MOT 5V PWM 신호연결 CN0 3 4 CN_RC CN PA_L R4 0K R7 R5 0K 0K R9 0K 3 4 5 6 7 8 TP5 C4 0.uF TP6 C5 0.uF TP8 C7 0.uF PWM PWM PWM3 PWM4 PWM5 PWM6 TPWM TPWM PWM7 PWM8 PWM9 PWM0 PWM PWM T3PWM T4PWM TP0 C8 0.uF TP PA0 PA PA PA3 PA4 PA5 PA6 PA7 PB0 PB PB PB3 PB4 PB5 PB6 PB7 CN 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 4 4 43 44 45 46 47 48 49 50 CN_IO 오실로스코프로 필터출력파형관찰 DC 모터접속 RealSYS (www.realsys.co.kr) - 3 - Tel: 03-40-436

EV 모듈살펴보기 : 그림. EV 장치인터페이스구성도 - HSPLCK 클럭사용 : 고속 PWM 사용가능 50MHz까지 - 조의 PWM & ENC 회로 - 다양한인터럽트지원 - ADC 모듈과연계가능 - PWM 출력차단신호 : PDPINTA, PDPINTB RealSYS (www.realsys.co.kr) - 3 - Tel: 03-40-436

그림. EVA 모듈전체구성도 (EVB 모듈도이와유사함 ) - Dead Band( 또는 Dead Time) 가지원되는 3상 PWM 출력 (SVPWM 구동도가능 ) - 개의기준타이머 : GP Timer, GP Timer ( 여기의타이머는 DSP내부 3개의타이머와는별개임 ) - QEP ( 로터리엔코더 ) 입력회로, Capture 기능으로도사용가능 RealSYS (www.realsys.co.kr) - 33 - Tel: 03-40-436

그림. GP(General Purpose) 타이머구성도 - HSPCLK 클럭으로동작 : 외부클럭 (TCLKINA/B) 을사용할수도있음 ) - TxCNT GP timer counter(6비트크기 ) 는동작모드에따라증가또는감소함 - 비교로직 (Compare logic) 에서 TxCNT 값과 TxPR값을비교하여 TxPWM 파형출력 - 다양한인터럽트가능 : Overflow, Underflow, Compare match, Period match - 다양한카운팅동작연속증가, 방향입력에따른증가또는감소, 연속증가-감소모드 RealSYS (www.realsys.co.kr) - 34 - Tel: 03-40-436

카운터동작모드 : 연속증가동작모드 : TxPR 값까지증가하다가 0 부터다시증가함. 방향입력증가 - 감소동작모드 : TDIRA/B 입력에따라증가또는감소모드가변경됨. 연속증가 - 감소동작모드 : TxPR 까지증가후다시감소하다가 0 이되면다시증가반복. RealSYS (www.realsys.co.kr) - 35 - Tel: 03-40-436

그림. GP 타이머증가모드에서 PWM 출력 - 타이머는계속증가하다가주기값에도달하면 0 으로되고다시증가반복 - 비교매치값에서액티브 Low & High PWM 출력됨. 그림. GP 타이머증가 - 감소모드에서 PWM 출력 - 타이머가증가하다가주기값에도달하면감소모드로되고, 0에도달되면다시증가반복 - 비교매치값에서액티브 Low & High PWM 출력됨. - 이방법은단순증가모드보다스위칭수가적어많이사용됨. 실제의모터드라이브장치에서 Active Low & High PWM 출력파형사이에약간의완충지 대가필요 : Dead band 로직이필요함. RealSYS (www.realsys.co.kr) - 36 - Tel: 03-40-436

데드타임 (Dead time) 이란무엇인가? PWM PWM 위의그림과같이전력소자로 3상모터를회전하는경우 Q과 Q를동시에 ON 시키면 Udc와 GND를쇼트시키게되어소자가파손된다. 따라서동시에 ON하는것을피하기위해스위칭이변경되는지점에일정시간동안모두 OFF하는시간을둔다. 이시간을데드타임또는데드밴드라한다. 일반적으로데드타임은파형왜곡을가져오므로전류방향에따라적절히보상해준다. L98 을사용한양방향 DC 모터제어 : PWM PWM IN IN OUT OUT 모터 PWM3 PWM4 IN3 IN4 OUT3 OUT4 모터 L98 은 개의 DC 모터를구동할수있다. DC 모터구동방법은 가지가가능하다. 첫번째방법은한쪽 PWM 은고정하고다른 PWM 의듀티를조절하여속도제어하는방법 정방향회전 : PWM= 듀티조절, PWM = 0 으로고정 PWM PWM PWM PWM RealSYS (www.realsys.co.kr) - 37 - Tel: 03-40-436

역방향회전 : PWM = 0 으로고정, PWM = 듀티조절 PWM PWM PWM PWM 두번째방법은양쪽 PWM을상대적으로조절하여속도제어하는방법정방향회전 : PWM 듀티 > PWM 듀티 PWM PWM 역방향회전 : PWM 듀티 < PWM 듀티 PWM PWM 정지 : PWM 듀티 = PWM 듀티 PWM PWM 여기에서 3 상 PWM 을사용하는경우위의두번째방법으로동작하며, 가변저항값을돌 리면 DC 모터가좌우로회전함을볼수있다. RealSYS (www.realsys.co.kr) - 38 - Tel: 03-40-436

타이머의주요레지스터 : 상세한레지스터설정은다음에다루기로함. 소스프로그램살펴보기설명 >> PWM 포트설정 void init_gpio(void){ EALLOW; GpioMuxRegs.GPAMUX.all=0x00ff; /* GPAMUX: GPIO_A function 0=IOP,=FUN I(0)/O() bit5 0: C3TRIP,PA5 ;IOP bit4 0: CTRIP,PA4 ;IOP bit3 0: CTRIP,PA3 ;IOP bit 0: TCLKINA,PA ;IOP bit 0: TDIRA,PA ;IOP bit0 0: CAP3_QEPI,PA0 ;IOP bit9 0: CAP_QEP,PA9 ;IOP 0 bit8 0: CAP_QEP,PA8 ;IOP 0 bit7 : TPWM_TCMP,PA7 ;FUN bit6 : TPWM_TCMP,PA6 ;FUN bit5 : PWM6,PA5 ;FUN bit4 : PWM5,PA4 ;FUN bit3 : PWM4,PA3 ;FUN bit : PWM3,PA ;FUN RealSYS (www.realsys.co.kr) - 39 - Tel: 03-40-436

bit : PWM,PA ;FUN bit0 : PWM,PA0 ;FUN */ GpioMuxRegs.GPADIR.all=0xfcff; // PA DIR: =output,0=input GpioMuxRegs.GPAQUAL.all=0x0000; // PA Input Qualification: /* 0x00=No, 0x0=SYSCLK/, 0x0=SYSCLK/4, 0xff=SYSCLK/50 */ } PWM 출력을단순 I/O가아닌 PWM 고유기능으로설정함. 설명 >> EV 모듈초기화 void init_ev(void){ // EVA Configure TPWM, TPWM, PWM-PWM6 // Step Initalize the timers // Initalize EVA Timer EvaRegs.TPR = t_prd; // Timer period EvaRegs.TCMPR = t_cmp; // Timer compare EvaRegs.TCNT = 0x0000; // Timer counter // TMODE = continuous up/down // Timer enable // Timer compare enable EvaRegs.TCON.all = 0x084; // Initalize EVA Timer EvaRegs.TPR = t_prd; // Timer period EvaRegs.TCMPR = t_cmp; // Timer compare EvaRegs.TCNT = 0x0000; // Timer counter // TMODE = continuous up/down // Timer enable // Timer compare enable EvaRegs.TCON.all = 0x04; // Step Setup TPWM and TPWM // Drive T/T PWM by compare logic EvaRegs.GPTCONA.bit.TCMPOE = ; // Polarity of GP Timer Compare = Active low RealSYS (www.realsys.co.kr) - 40 - Tel: 03-40-436

EvaRegs.GPTCONA.bit.TPIN = ; // Polarity of GP Timer Compare = Active high EvaRegs.GPTCONA.bit.TPIN = ; // Step 3 Enable compare for PWM-PWM6 EvaRegs.CMPR = 0x00; EvaRegs.CMPR = 0x800; EvaRegs.CMPR3 = 0xff0; } // Compare action control. Action that takes place // on a cmpare event // output pin CMPR - active high // output pin CMPR - active low // output pin 3 CMPR - active high // output pin 4 CMPR - active low // output pin 5 CMPR3 - active high // output pin 6 CMPR3 - active low EvaRegs.ACTRA.all = 0x0999; // change 0x0666 => 0x0999 EvaRegs.DBTCONA.all = 0x09ec; // Deadband: enable EvaRegs.COMCONA.all = 0xA600; 설명3 >> main 함수에서 Uint6 t_prd=0xfff,t_cmp=0x800; Uint6 t_prd=4096,t_cmp=; void main(void){ // for PWM(EV) init_ev(); lcd_gotoxy(0,0); lcd_puts("!!! PWM test!!!"); AD_START; while(){ mcnt++; lcd_gotoxy(0,); lcd_hex4(mcnt); RealSYS (www.realsys.co.kr) - 4 - Tel: 03-40-436

} } ad0 = AdcRegs.ADCRESULT0>>4; lcd_gotoxy(5,); lcd_decimal_word(ad0); key = IN_KEY; OUT_LED(key); if(key_code & KEY_PRESSED) key_process(); if(key_code & KEY_CONT) cont_key_process(); EvaRegs.CMPR = ad0; PWM, PWM에가변저항값출력 delay_ms(00); 설명4 >> 타이머0 인터럽트에서 interrupt void cpu_timer0_isr(void){ CpuTimer0.InterruptCount++; T_LED; t0_cnt++; if(++idx >= ARRAY_LEN) idx = 0; sv[idx] = sin(*pi*idx/(array_len-)) * 047 + 048; cv[idx] = cos(*pi*idx/(array_len-)) * 047 + 048; EvaRegs.TCMPR = sv[idx]; PWM3, PWM4에 sin 값출력 dac_out(0,ad0); // DAC0: VR data out dac_out(,sv[idx]); // DAC: sin if((t0_cnt % 0) == 0) key_check(); // 0 msec interval key check // Acknowledge this interrupt to recieve more interrupts from group PieCtrlRegs.PIEACK.all = PIEACK_GROUP; } - PWM, PWM를 L98 입력에접속하면 PWM 듀티에따라 DC모터속도가달라짐. - PWM3 또는 PWM4를 R-C 필터에접속하면 sin 파형관찰가능 RealSYS (www.realsys.co.kr) - 4 - Tel: 03-40-436

실행관찰 PWM 파형관찰 : PWM 출력 DC 모터연결 DC 모터 연결 PWM 파형관찰 PWM 파형관찰 RealSYS (www.realsys.co.kr) - 43 - Tel: 03-40-436

PWM 파형관찰 : TPWM PWM 출력 RC 필터연결 TPWM 파형관찰 : sin 파형 RC 필터파형 TPWM 파형 ON-OFF 상태의 PWM 파형이 R-C 필터를거쳐 sin 파형으로관찰됨. RealSYS (www.realsys.co.kr) - 44 - Tel: 03-40-436