모터 > 쿼드콥터 변속기 - 간이 ESC 테스트

TODAY795 TOTAL2,229,353
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 모터 | BLDC모터 | 쿼드콥터 변속기 - 간이 ESC 테스트

페이지 정보

작성자 키트 작성일2017-09-05 15:08 조회941회 댓글0건

본문

#define F_CPU 16000000UL // 16 MHz
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
//
ISR(TIMER1_COMPA_vect){
    static int duty=2000;
    if(duty<2500)OCR1A=duty;
    else         OCR1A=(2999-duty)+2000;
    if(++duty==3000){ duty=2000; }
}
//
int main(){
    DDRB=0xFF;
    TCCR1A=0x82; TCCR1B=0x1A;ICR1=39999; // PB5 OUT, FAST14번 모드
    OCR1A=4000; 
_delay_ms(3000); //2ms 최대 속도로 3초동안 출력
    OCR1A=2000; _delay_ms(1000); //1ms 최저 속도로 1초동안 출력
    TIFR=0xFF; TIMSK=0x10; sei();
    while(1){}
}
//
2000(1ms)~2500(1.25ms) 속도 증가 후

2500(1.25ms)~2000(1ms) 감속하는 것을 반복하는 예제입니다.

이정도만 해도 상당히 빠르게 동작합니다.

 

더 빠르게 동작 시키려면

아래 코드로 동작시키세요 1.5ms 까지만 출력합니다.

 


#define F_CPU 16000000UL // 16 MHz
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
//
ISR(TIMER1_COMPA_vect){
    static int duty=2000;
    if(duty<3000)OCR1A=duty;
    else         OCR1A=(3999-duty)+2000;
    if(++duty==4000){ duty=2000; }
}
//
int main(){
    DDRB=0xFF;
    TCCR1A=0x82; TCCR1B=0x1A;ICR1=39999; // PB5 OUT, FAST14번 모드
    OCR1A=4000; 
_delay_ms(3000); //2ms 최대 속도로 3초동안 출력
    OCR1A=2000; _delay_ms(1000); //1ms 최저 속도로 1초동안 출력
    TIFR=0xFF; TIMSK=0x10; sei();
    while(1){}
} 

 

 

//

제어가 잘 안되는 분은 아래 글처럼 제어를 변경 해보세요


1) pwm on low      128의 pwm을 low(1ms) 출력 합니다.
2)power esc, wait for beep(s)     변속기 전원을 그 후에 넣고서 비프음을 기다립니다.
3)pwm to high for about 2secs, wait for more beeps     비프음 후에는 high(2ms) 2초동안
4)pwm low\       다시 low(1ms) 출력
5) on final low esc is hot, and any pwm adjustment will now fire motor;

댓글 0

조회수 941

등록된 댓글이 없습니다.

모터HOME > 모터 > 전체 목록

게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기