회원가입 ID/PW 찾기

마이크로프로세서 HOT이것좀 봐주세요

あさひ2008.03.26 00:5703.26조회 수 660댓글 2이 게시물을

AA
#include<avr/io.h>
#include<avr/interrupt.h>
unsigned int angle1,angle2,angle3,angle4,angle5,angle6,angle7,angle8;
unsigned int int_count,int_count1;

SIGNAL(TIMER0_OVF_vect)
{
  int_count++;
  if(int_count++>=250){   //이값도 대충사용 컴파일을 위해서 실제 0.1us만들어야함
    PORTB=0xFF;
    int_count=0; 
    int_count1++;    
   }
  
  if(int_count1>=angle1)
     PORTB = PORTB&0xFE;
  
  if(int_count1>=angle2)
     PORTB = PORTB&0xFD;
  
  if(int_count1>=angle3)
     PORTB = PORTB&0xFB;
  
  if(int_count1>=angle4)
     PORTB = PORTB&0xF7;
  
  if(int_count1>=angle5)
     PORTB = PORTB&0xEF;
  if(int_count1>=angle6)
     PORTB = PORTB&0xDF; 
  
  if(int_count1>=angle7)
     PORTB = PORTB&0xBF;
  
  if(int_count1>=angle8)
     PORTB = PORTB&0x7F;

}
void survo(int moter,int count)
{
   
   switch(moter){
   
     case 1: angle1=count;
              break;
  case 2: angle2=count;
              break;
  case 3: angle3=count;
              break;
  case 4: angle4=count;
              break;
  case 5: angle5=count;
              break;
  case 6: angle6=count;
              break;
  case 7: angle7=count;
              break;
  case 8: angle8=count;
   
   default : break;
   }
}
int main(void)
{
   DDRB=0xFF;
   TCNT0=256-250; //0.7~2.3ms만들어야하지만 계산법을몰라 대출적었음 
   TCCR0=0x04;    //프리스케일 256 이것도 대충넣어났음 
   TIMSK=0x01;    //오버플로워 사용
   sei();
   while(1){
     survo(1,7);
     survo(2,7);
  survo(3,7);
  survo(4,7);
  survo(5,7);
  survo(6,7);
     survo(7,7);
    //delay()
 }
}


//결론 음~~ 0.1ms를만들어야하는데 계산법을 잘몰라 헤매는중입니다


서보 8개를사용 할라고 하는데  패스트pwm사용할려니 pwm이 나오는 핀이 한정 되어 있어
위에 보시는 바와같이 프로그램 짜봤는데요
저게 먹히 겠습니까?시간 주기를 아지 미흡하여 값은 맘대로 주었습니다

댓글 2
  • No Profile

    타이머 설정하는 부분은 아래글을 참조하세요.

    http://www.micombox.com/?mid=avr_qna&page=1&document_srl=37289

    시간 주기가 정확해야 서보가 원하는 방향으로 움직이겠지요?^^;

    int_count, int_count1 두개를 사용하시네요.. 0.1us가 아니라 0.1ms를 만든다면 변수만 카운트하면 됩니다.

    굳이 0.1us 해상도로 하실 필요가 있으신가요??


    건투를 빕니다. 제가 avr로 서보모터 제어하는 프로그램도 avr자료실에 있으니 참고하시고요..

  • 크크크 저도 요즘 서보모터에 돌리는데 정신이 없습니다 ㅎㅎ;
    완벽하게 제어하면 자료정리해서 올리겠습니당 그럼 화이링 !!!

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
53 전기전자 아무거나 HOTRC헬기에서 사용하는 주파수를 블루투스에서 만들수 있나요.1 콜록 1076 2008.05.14
52 전기전자 아무거나 HOTavr 동영상 강좌는 없는걸까요?2 파이널스 1472 2008.05.09
51 전기전자 아무거나 HOT파워 오피앰프 문의9 빛나는 영혼 1165 2008.05.06
50 전기전자 아무거나 HOTBim418-F 회로도1 부기화띵 812 2008.04.30
49 전기전자 아무거나 HOT평활 회로에서...3 날뽕녀 1410 2008.04.17
48 전기전자 아무거나 HOT너무 공부를 안한건가 ㅠ.ㅠ;;1 자취방한아이 803 2008.04.15
47 전기전자 아무거나 HOTZigbex ....USN 장비... 뱀뷀뷀 715 2008.04.04
46 전기전자 아무거나 HOT체육관 점수판을 만들려구 하는데 채터링이 문제입니다.4 한형 1492 2008.04.03
45 전기전자 아무거나 HOTad컨버터 질문있습니다..ㅠ4 lodp 917 2008.04.02
44 전기전자 아무거나 HOT제네레이터에서 나오는 주파수측정에 관해서...1 황금시대 1033 2008.03.31
43 전기전자 아무거나 HOTlibusb0.dll 에러3 피하지말자 2216 2008.03.31
42 전기전자 아무거나 HOT창피한 질문인데요..7 naemaum4u 989 2008.03.28
41 전기전자 아무거나 HOT좀 도와 주세요....SRF-04를 이용해서 거리를 검출 할려구 해요....2 눈물겨운행복 1322 2008.03.27
40 전기전자 아무거나 HOT7805이용 전압강하질문..8 피하지말자 1637 2008.03.26
39 전기전자 아무거나 HOT질문드립니다..5 날뽕녀 845 2008.03.14
38 전기전자 아무거나 HOT스탭모터질문입니다.1 황금시대 712 2008.03.13
37 전기전자 아무거나 HOTColor LCD 컨트롤러..;;8 뱀뷀뷀 793 2008.03.11
36 전기전자 아무거나 HOT리눅스질문입니다11 あさひ 932 2008.03.09
35 전기전자 아무거나 HOT커버트레이서에 대한 질문... 사비알론소2 726 2008.03.08
34 전기전자 아무거나 HOT임베디드 소프트웨어 공모전..2 뱀뷀뷀 675 2008.03.04
  • 맹세는 말에 지나지 않고, 말은 바람에 지나지 않는다.
    - 버틀러
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.