회원가입 ID/PW 찾기

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

あさひ2008.03.26 00:5703.26조회 수 655댓글 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 2317 2008.03.29
231 마이크로프로세서 HOTok-8051 키트 사용법에 대하여 문의드립니다.3 야간비행 1058 2008.03.28
마이크로프로세서 HOT이것좀 봐주세요2 あさひ 655 2008.03.26
229 마이크로프로세서 HOT8051을 labview로..4 황금시대 830 2008.03.21
228 마이크로프로세서 HOT단순한 질문인데요....2 날뽕녀 610 2008.03.18
227 마이크로프로세서 HOT빠른 답변 부탁합니다..8 날뽕녀 597 2008.03.15
226 펌웨어 & 코딩언어 HOT혹시 이 프로그램..8 빛나는 영혼 1232 2008.03.13
225 마이크로프로세서 HOTpwm 생성에관하여13 あさひ 1910 2008.03.13
224 마이크로프로세서 HOT8음계 측정기 압박 퍼타그래퍼 1589 2008.03.12
223 마이크로프로세서 HOT질문 입니다.. 소스 질문.. ㅋㅋ6 행복하면 681 2008.03.10
222 마이크로프로세서 HOTAVR 컴파일러에 대해...질문요!!5 암흑혜성 722 2008.03.08
221 펌웨어 & 코딩언어 HOT모니터 정보 읽어올때 프로토콜1 빛나는 영혼 1359 2008.03.06
220 마이크로프로세서 HOT어려워요 ㅠ3 naemaum4u 872 2008.03.06
219 마이크로프로세서 HOT질문은 아니고..13 naemaum4u 1337 2008.03.05
218 마이크로프로세서 HOTor-cad 입문..............................5 천상 897 2008.03.04
217 마이크로프로세서 HOTAVR 설치 제거 오류6 naemaum4u 1066 2008.03.03
216 마이크로프로세서 HOTICC나 GCC로 짜여진 프로그램을 코드비전용으로 변환 가능한지?5 파파준 1010 2008.03.01
215 마이크로프로세서 HOTRTOS - commidi님5 아크마 705 2008.02.28
214 마이크로프로세서 HOT타이머인터럽트..9 naemaum4u 1419 2008.02.27
213 마이크로프로세서 HOTL298 모터 드라이브에 관해서29 챠리스만 5745 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.