블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

'Timer'에 해당되는 글 1건

  1. 2017.04.10 ATMega128 - BLDC Motor control, PWM

Motor control = PWM

(BRUSH) DC motort(2극) 또는 Brushless  DC Motor(BLDC motor, 3극)


ATMega128 : 4개의 타이머가 있다.

TIMER0 : 8bit, OC0

TIMER1 : 16bit, OC1A, OC1B, OC1C

TIMER2 : 8bit, OC2

TIMER3 : 16bit, OC3A, OC3B, OC3C

(OC : Output Compare)


OCx PIN = PWM 출력핀


TIMER  1개는 = PWM 출력핀을 1개 또는 3개를 가진다.


TIMER1, TIMER3은 PWM 출력핀이 3개나 있다.

(BLDC모터에 사용하라고, 3개 만들어 놓은듯)


ATMega128 1개는, BLDC motor 2개 + DC PWM motor 1개를 동작시킬 수 있다.

ATMega128 1개는, DC PWM motor 7개를 동작시킬 수 있다. (8개가 아니다. 핀 중복. OC2=OC1C)







Fast PWM Mode

================================

무엇이 "Fast PWM"인가?   왜 "Fast"인가?

 The fast Pulse Width Modulation or fast PWM mode (WGM01:0 = 3) provides a high frequency PWM waveform generation option. The fast PWM differs from the other PWM option by its single-slope operation. The counter counts from BOTTOM to MAX then restarts from BOTTOM. In non-inverting Compare Output mode, the output compare (OC0) is cleared on the compare match between TCNT0 and OCR0, and set at BOTTOM. In inverting Compare Output mode, the output is set on compare match and cleared at BOTTOM. Due to the single-slope operation, the operating frequency of the fast PWM mode can be twice as high as the phase correct PWM mode that uses dual-slope operation. This high frequency makes the fast PWM mode well suited for power regulation, rectification, and DAC applications. High frequency allows physically small sized external components (coils, capacitors), and therefore reduces total system cost.


요약하면, "phase correct PWM"보다 빠르다는것임. ㅡ,.ㅡ;;;;;
클럭이 2배 빠를줄 알았더니...(맞는 말이긴함.)




Period(주기)가 일정한것에 주목.

OCRn값을 변경하여, OCn핀에, 각각 다른 PWM파형이 출력된다.

타이머는 1개지만, 3개의 값을 사용하여, 3개의 PWM 출력이 나오는것이다.

TCNTn값(주기)을 설정하고, OCRn값을 설정하면, OCn과 같은 파형이 나온다.

COMn1:0값에 따라, 정상 또는 반전된 파형이 출력된다.




ICRn : Input Capture Register

5,6,7번은 TOP값이 고정인데 반하여,

14,15번은 TOP값을 변경할 수 있다.

즉, 5,6,7번은 메인클럭에 따라서, 최대 주파수(주기)가 고정된다.

메인클럭에따라서, 사용할 수 있는 주파수(주기)가 정해져있다.


14,15번은 주파수(주기)를 변경할 수 있다.

메인클럭에 상관없이, 주파수(주기)를 임의로 변경할 수 있다.

매 클럭마다 증가(감소)하는 타이머값은 TCNTn이고,

TCNTn값이, ICRn값 또는 OCRnA값이 되면, 인터럽트가 발생하며, 출력값이 변경된다.




"ICR(Input Capture Register)"와 "OCR(Output Compare Register)"는 어떻게 다른가?

============================================================

- OCR은 TCNT값과 비교되는 값이다.

- ICR은 외부 클럭의 개수를 세는 기능이다.

  즉, 외부 클럭신호가 있어야, 값이 변한다.






TCNT0(타이머0 카운터 최대값)은 8비트, TNCT1(타이머1 카운터 최대값)은 16비트이다.

매 클럭마다 값이 증가하거나, 감소한다.





OCR 레지스터

===========================

ICR 레지스터가, 외부 클럭을 세는 기능인데 반해, OCR은 프로그래머가 자유롭게 설정할 수 있다.

'H', 'L'의 비율(듀티)을 설정하는데 사용한다.(주기는 고정일 경우)

TIMER1, TIMER3은 각각 3개의 PWM출력핀이 있다.


예) 타이머1번

//출력파형 설정

TCCR1A= 

//최대값 설정

TCNT1=0xffff;

//출력될 전압의 세기 설정(인터럽트 발생할때마다, 변경이 필요하면, 값 변경)

OCR1A=0xffff*n/100;//n=0~100%  'H'값 유지시간(여기서는 100등분했으나, 원한다면 0xffff등분해도 된다.)






[AVR] ESC - BLDC모터 다중 제어 : 네이버 블로그

blog.naver.com/PostView.nhn?blogId=ejtkddl&logNo=220108886600
[AVR] ESC - BLDC모터 다중 제어 AVR / 쿼드콥터 제작기. 2014.08.31. 12:26. 복사 ... (타이머0에 A,B채널이 잇는거 보니 ATmega128은 아닌듯 하다). 방법은 알았 ...


클리앙 > 아무거나질문 > 혹시라도... AVR(atmega128)을 이용한 모터 ...

www.clien.net/cs2/bbs/board.php?bo_table=kin&wr_id=2399850
2012. 3. 24. - 댓글 6 - ‎작성자 5
AVR atmega128을 이용한 DC모터 제어를 해보려 하는데요. 궁극적인 목표 ... 좀 더 점수를 따기 위해서는 Sinusoidal BLDC 제어를 추천해 봅니다.

ATmega128 BLDC Motor 150A ESC - YouTube

https://www.youtube.com/watch?v=22IcLIbVgQk
2014. 7. 13. - 업로더: 모르지
ATmega128로 PWM신호를 발생해 150A ESC를 이용해서 BLDC모터 돌리기.

[PDF]Sensorless BLDC모터를 구동해보자!! - bigwavek가 사는법

bigwavek.tistory.com/attachment/cfile7.uf@265BC13951F1DCAD2DB186.pdf
Sensorless BLDC모터를 구동해 보자! <그림 1-2>을 보시면 <그림 1-1>에서 봤던 것처럼 코일에. 전류가 흐르면 자석이 회전하게끔 만들어져 있습니다. 그리고 3개의 ...

브러시리스 DC 모터 제어 소개 | DigiKey

www.digikey.kr/ko/articles/techzone/.../an-introduction-to-brushless-dc-motor-control
2013. 3. 27. - 브러시리스 DC(BLDC모터는 기존 모터에서 사용되는 기계 정류자를 제거하고 장치의 신뢰성과 내구성을 향상시키는 전자 장치로 교체하기 ...

AVR 타이머/카운터 인터럽트 응용 소프트웨어 PWM DC모터 속도 제어 ...

binworld.kr/45
2013. 2. 28. - AVR 타이머/카운터 인터럽트 응용 소프트웨어 PWM DC모터 속도 제어하기 - AVR 연습 ... DC모터는 전압에 따라 속도가 변하는데 AVR은 전압의 조절은 불가하고 입력이나 출력만 가능합니다. 따라서 ..... 저는 Atmega128 을가지고 모터를 제어하고있는데요 ..... BLDC 모터 제어하는 코드비젼 코드 작성중입니다.

전자공학부 학생의 작업실 :: BLDC 모터의 구조 및 동작원리

sigrece.tistory.com/5
2011. 3. 14. - 먼저 Sensored 제어 방법은 홀센서가 내장되어 있는 BLDC 모터를 제어하기 위하여 사용하는 방법입니다. 홀센서는 아래의 그림과 같은 위치에 ...

모터뱅크 [AVR개발보드] ATMEGA128 5V Rabbit 개발보드

motorbank.kr/shop/goods/goods_view.php?goodsno=7082&category=011014
2015. 6. 25. - 모터뱅크 [AVR개발보드] ATMEGA128 5V Rabbit 개발보드. ... BLDC모터 ....ATMEGA128 5V Rabbit 코어모듈을 기본으로 포함하고 있는 제품 ...

A simple brushless sensorless motor driver for AVR Atmega

davidegironi.blogspot.com/.../a-simple-brushless-sensorless-moto...
이 페이지 번역하기
2013. 9. 30. - A simple brushless sensorless motor driver for AVR Atmega. Brushless electric motor(BLDC motors) are synchronous motors that are powered ...

[PDF]Atmel AVR1607: Brushless DC Motor (BLDC) Control in Sensor Mode ...

www.atmel.com/.../Atmel-8311-AVR1607-Brushless-DC-Motor-C... - 이 페이지 번역하기
This application note deals only with BLDC motor control application using Hall Effect ... We will detail how to control a brushless DC motor in sensor mode, and.


Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함