회원가입 ID/PW 찾기
AA

void T0_int (void) interrupt 1

{


        TIMER0_OFF;         


     if(flag == 0)

     {

        flag = 1;

            SERVO_PORT = 0;

                rate = PULS_OFF - angle; // low level time

     }

     

     else

     {

                flag = 0;

                SERVO_PORT = 1;

                rate = angle;

        }

        

     if(angle + speed < target)

        angle += speed;

     else if(angle - speed > target)

        angle -= speed;

     else

        angle = target;

     

     TH0 = ~(byte)((0xff00 & rate) >> 8);

     TL0 = ~(byte)(0x00ff & rate);


    TIMER0_ON;

}

위 소스는 8051작품란에 있는 코드중의 하나인데요...

코드를 보니 모터에 high신호와 low신호를 주는 부분인데요..
 if(angle + speed < target)

        angle += speed;

     else if(angle - speed > target)

        angle -= speed;

     else

        angle = target;

     

     TH0 = ~(byte)((0xff00 & rate) >> 8);

     TL0 = ~(byte)(0x00ff & rate);

이 부분이 서보모터속도를 제어하는 부분같은데요... 이해가 잘 되지 않습니다...
어떻게 속도가 되는건지 좀 알켜주시겠어요?;;
좋은 하루 보내세요 ^_^~

댓글 2
  • No Profile
    아 이거 제가 짠 소스군요..

    TH0 = ~(byte)((0xff00 & rate) >> 8);

         TL0 = ~(byte)(0x00ff & rate);

    이것은 타이머에 주기를 입력하는란이고 이 주기에 의해서 서보모터의 각이 결정됩니다.


    저 위에 소스들은 그 주기를 계산하는것이며 원하는 주기(TARGET)가 될때까지 일정한 속도(SPEED)로
    각(ANGLE)주기를 더해주거나 빼주고 이를 타이머 주기로 입력하여 서보모터를 구동하게 되는 형식입니다.

  • No Profile
      if(flag == 0)

         {

            flag = 1;

                SERVO_PORT = 0;

                    rate = PULS_OFF - angle; // low level time

         }

         

         else

         {

                    flag = 0;

                    SERVO_PORT = 1;

                    rate = angle;

            }

            
    요부분은 서보모터 출력포트로 HIGH,LOW를 출력하는 소스입니다. 물론 설정된 타이머 주기에 따라서요

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

search
번호 분류 제목 글쓴이 조회 수 날짜
15 중고장터 HOTATS-20.000MHz 50개 빅세일 5041 2007.10.23
14 중고장터 HOTatmega128 pcb 팝니다. 보싸먹자 7752 2007.10.23
13 중고장터 HOT사진과 같은 모양의 서보혼 구입 원합니다.4 챠리스만 5586 2007.10.18
12 중고장터 HOT[판매] RC서보모터 RC-31112 아크마 5513 2007.10.09
11 중고장터 HOT[판매] SRF 04 초음파센서3 아크마 5594 2007.10.09
10 중고장터 HOT[판매] 5V DC어댑터 아크마 5333 2007.10.08
9 중고장터 HOT[전공서적] 회로이론 ALEXANDER , SADIKU4 아크마 6806 2007.10.08
8 중고장터 HOT라인트레이서 구합니다13 곰팅이 5446 2007.10.08
7 중고장터 HOT0.68옴 저항 1W, 2W 판매2 아크마 4159 2007.10.03
6 중고장터 HOT스테핑 모터 2개 파실분 댓글 달아주세요2 뺘쑝 3775 2007.10.02
5 중고장터 HOT라인트레이서4 날라 3768 2007.09.12
4 중고장터 HOT[판매]오실로스코프 100Mhz3 아크마 5025 2007.06.21
3 중고장터 HOT흥창 100Mhz 5510 오실로 스코프5 살러만 6578 2007.06.13
2 중고장터 HOT89c51 파라요!!11 아크마 4730 2007.05.28
1 중고장터 HOT중고 장터가 문을 열었습니다. 아크마 4736 2007.05.20
  • 무거운 마음을 가지고 가벼운 시를 즐길 수 없다.
    - 베이커
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.