회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
232 펌웨어 & 코딩언어 HOTPCM의 구조를 알고 싶습니다.2 Kasanova77 2338 2008.03.29
231 마이크로프로세서 HOTok-8051 키트 사용법에 대하여 문의드립니다.3 야간비행 1059 2008.03.28
마이크로프로세서 HOT이것좀 봐주세요2 あさひ 660 2008.03.26
229 마이크로프로세서 HOT8051을 labview로..4 황금시대 831 2008.03.21
228 마이크로프로세서 HOT단순한 질문인데요....2 날뽕녀 613 2008.03.18
227 마이크로프로세서 HOT빠른 답변 부탁합니다..8 날뽕녀 601 2008.03.15
226 펌웨어 & 코딩언어 HOT혹시 이 프로그램..8 빛나는 영혼 1237 2008.03.13
225 마이크로프로세서 HOTpwm 생성에관하여13 あさひ 1913 2008.03.13
224 마이크로프로세서 HOT8음계 측정기 압박 퍼타그래퍼 1593 2008.03.12
223 마이크로프로세서 HOT질문 입니다.. 소스 질문.. ㅋㅋ6 행복하면 682 2008.03.10
222 마이크로프로세서 HOTAVR 컴파일러에 대해...질문요!!5 암흑혜성 727 2008.03.08
221 펌웨어 & 코딩언어 HOT모니터 정보 읽어올때 프로토콜1 빛나는 영혼 1367 2008.03.06
220 마이크로프로세서 HOT어려워요 ㅠ3 naemaum4u 879 2008.03.06
219 마이크로프로세서 HOT질문은 아니고..13 naemaum4u 1339 2008.03.05
218 마이크로프로세서 HOTor-cad 입문..............................5 천상 903 2008.03.04
217 마이크로프로세서 HOTAVR 설치 제거 오류6 naemaum4u 1082 2008.03.03
216 마이크로프로세서 HOTICC나 GCC로 짜여진 프로그램을 코드비전용으로 변환 가능한지?5 파파준 1012 2008.03.01
215 마이크로프로세서 HOTRTOS - commidi님5 아크마 710 2008.02.28
214 마이크로프로세서 HOT타이머인터럽트..9 naemaum4u 1421 2008.02.27
213 마이크로프로세서 HOTL298 모터 드라이브에 관해서29 챠리스만 5754 2008.02.15
Prev 1 ... 42 43 44 45 46 47 48 49 50 51 ... 58 Next
  • 어리석은 자는 수치스러운 일을 할 때에도 그것이 언제나 그의 의무라고 선포한다.
    - 버나드쇼
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.