질문게시판 > 답변 : 스탭모터 제어

TODAY375 TOTAL182,575
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


BASIC4MCU | 질문게시판 | 답변 : 스탭모터 제어

페이지 정보

작성자 master 작성일2018-07-10 15:54 조회58회 댓글2건

본문

	

 

// DateTime : 2018-07-10 오후 3:56:45
// by Ok-Hyun Park
//
스탭모터
타이머 mode7=10비트 Fast PWM Mode
//
#include <mega128.h>
#include <delay.h>
//
int i=0;
//
void main(void){
  DDRB.5=1;
  TCCR1A=0x83TCCR1B=0x0A//주기=16000000/8/1024=1953.125Hz=512us
  OCR1A=0x02FF;
  while(1){
    for(i=0i<4000i++){
      OCR1A=0x00FFdelay_ms(1);
      OCR1A=0x01FFdelay_ms(1);
      OCR1A=0x02FFdelay_ms(1);
      OCR1A=0x03FFdelay_ms(1);
    }
  }
}

 

PB5  하나로 스텝모터가 구동되나요?

 

스텝모터 속도는 딜레이를 줄이면 됩니다.

delay_ms(1); 대신 

delay_us(500); 사용하면 2배 속도가 되고 

delay_us(333); 사용하면 3배 속도가 되고 

delay_us(250); 사용하면 4배 속도가 됩니다. 


  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 2

조회수 58

뽕보님의 댓글

뽕보 작성일

master 님 저희가 원하는 각도만큼 돌게 하기 위해서
for(i=0; i<4000; i++){
      OCR1A=0x00FF;
      delay_ms(1);
    }

이렇게 해서 i가 4000이 되면 멈추게 하려고 했는데 멈추지 않습니다. 어떻게 해야 하나요?

master님의 댓글

master 댓글의 댓글 작성일

#include <mega128.h>
#include <delay.h>
//
void main(void){
  int i=0;
  DDRB.5=1;
  TCCR1A=0x83; TCCR1B=0x0A; //주기=16000000/8/1024=1953.125Hz=512us
  for(i=0; i<4000; i++){  OCR1A=0x00FF; delay_ms(1); }
  while(1){}
}

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.

ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017