회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
15 Software & IDEs HOT어셈블리 프로그래밍에서 질문이 있습니다.1 strongman 1153 2009.08.07
14 Software & IDEs HOT데이터 전송 모듈... 류짜장 1040 2008.12.16
13 Software & IDEs HOT8051 신호등 만들때 헤더파일 문제.1 마모루 1489 2008.11.16
12 Software & IDEs HOT길찾기 알고리즘3 인조사람 1199 2008.10.20
11 Software & IDEs HOTMFC로 길찾기 구현 남뉴 1681 2008.10.05
10 Software & IDEs HOT완전초보입니다. 잘부탁드립니다.4 초보민 993 2008.09.19
9 Software & IDEs HOTMatlab 시리얼통신을 통한 그래프만들기..;;1 GreatSSang 3704 2008.09.16
8 Software & IDEs HOT검색엔진의 문자열 논리연산 구현! 도와주세요 ㅡㅜ1 델리트 1097 2008.08.13
7 Software & IDEs HOT윈도우 상에서 비주얼 2005를 이용한 시리얼 포트 프로그래밍2 .ㅇㅈㅇㅈ 1075 2008.07.04
6 Software & IDEs HOTLCMS, DirectX SDK, Visual Studio 6, Platform SDK 호환성 문제 아크마 2248 2008.04.19
5 Software & IDEs HOT칼씨 사용법은 없나요??2 돌격대장 1080 2008.04.13
4 Software & IDEs HOT비쥬얼비튜디오 20057 あさひ 1005 2008.02.02
3 Software & IDEs HOTapi 관련해서 물어봅니당..ㅠ2 화언 735 2008.02.01
2 Software & IDEs HOT8051도트입니다1 판도라 1093 2008.01.30
1 Software & IDEs HOT나누미질문이요...4 악당 1035 2007.10.12
  • 위대한 것 치고 정열이 없이 이루어진 것은 없다.
    - 에머슨
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.