BASIC4MCU | 모터 | KE-L298N강좌 | KE-L298N v1.0 - BLDC 모터 - 회전수 체크
페이지 정보
작성자 키트 작성일2017-09-05 14:58 조회1,480회 댓글0건본문
//-------------------------------------------------------------
// XTAL : 14.7456MHz
//-------------------------------------------------------------
#include <mega128.h>
#include <delay.h>
//
#define A_1 PORTA=0x28
#define A_0 PORTA=0x24
#define A_Z PORTA=0
#define B_1 PORTB=0x28
#define B_0 PORTB=0x24
#define B_Z PORTB=0
#define C_1 PORTC=0x28
#define C_0 PORTC=0x24
#define C_Z PORTC=0
//
void main(){
DDRA=0x2C; DDRB=0x2C; DDRC=0x2C;
while(1){
C_Z; B_0; A_1; delay_ms(5); //A->B
B_Z; C_0; A_1; delay_ms(5); //A->C
A_Z; C_0; B_1; delay_ms(5); //B->C
C_Z; A_0; B_1; delay_ms(5); //B->A
B_Z; A_0; C_1; delay_ms(5); //C->A
A_Z; B_0; C_1; delay_ms(5); //C->B
delay_ms(1000);
}
}6스텝씩 7번 출력하니 1회전합니다.
총 42스텝으로 1회전 하는 셈입니다.
앞글의 예제에서 1스텝 주기는
14745600/8/(1+261)=약7.035KHz 였으므로 42스텝에 걸리는 시간은
14745600/8/(1+261)/42=167.50272628135223555070883315158 회전/초
이 값에 60을 곱하면 rpm이 됩니다.
10050.163576881134133042529989095rpm
작은 전류로도 상당한 속도입니다.^^
댓글 0
조회수 1,480등록된 댓글이 없습니다.