회원가입 ID/PW 찾기
AA
이래저래 여기저기서 소스보면서 하고 있는대요
의문이 막들어서..
지금짠것들도 다 작동도 잘 안돼고 ㅜㅠ

다수 서보를 I/o포트로 제어할때 보통
시분할방식으로 한다고 하더군요
20ms의 주기에 0.7~2.3ms 의 펄스를 주면 0~180도로 회전합니다.
거이다 2.3ms안에 1을 주고 나머지 0을 주고 그다음 또 펄스주고
이렇게 2.3ms마다 넣어준다고 하더군요.
그래서 보통
처음에 오버플로우 인트럽트에 서보인덱스 이동시키고
그다음 컴페어매치로 펄스를 넣는 다는대..
제가 아직 인트럽트를 잘 이해를 못해서요
c언어라든지 이게 순차지향이라
차례대로 하지 않습니까 인트럽트가 호출되면서 그백터로 가서 그걸 실행시킨다..
라고..
그래서 인트럽트 실행시키고 그시점부터
2.3ms펄스를 8개 만들면 18.4ms 10개면 23ms 그이상이면
....시간은 더 길어 지죠..
그러니 20ms안에 서보에 정상적으로 값이 안들어 갈것 같은대 대부분
컴페어 하나에 8개 제어 신호를 주시더군요...
즉 10개 이상 펄스만들면 그다음 서보에는 정상적으로 신호가 안들어 갈것 같다는 거죠..
인트럽트 걸린시점 에서 다른 인트럽트도 같이 실행시키는 것도 아닐것인대 ..
어떻게 가능한것인지...제발 설명점 부탁드립니다.
댓글 3
  • No Profile
    예를 들자면

    모터 3개를 제어한다 치면..

    0~2.3ms동안에는 1번 모터에 펄스를 주고, 2.3ms~4.6ms에는 2번 모터에 펄스를 주고, 4.6ms~6.9ms에는 3번 모터에 펄스를 주는 형태가 되는것이지요... 전체 3개를 제어하는데는 20ms안에 제어되는거죠^^;

    타이머 한개로 제어하게 되면 해당 모터를 제어하는 주기에 IO포트를 1, 0으로 적절히 입력을 인가해주면 됩니다.

    글로 설명하기는 역시 좀 그렇네요..
  • 아크마님께
    No Profile
    글쓴이 우가우가 09.11.24 09:56 댓글 좋아요 0 싫어요 0
    아 이제 18개 서보는 성공했습니다 ...답글감사합니다.. 제가 기존에 생각했던 ..방식이랑 인트럽트가 다르게 돌아 가더군요 컴페어가 걸리는게 다 따로 안걸리고 동시에 걸리더군요 각포트에 8개가  최대 적용이 되더군요
    같은 주기에 180도 회전에 대한 펄스를 8을 곱하면 최대주기와 같고 나머지는 다른 컴패어를 통해서
    제어해서 총 3개의 컴패어를 쓰니 되더군요 ..전 이컴패어 끝나면 다음 컴패어 걸릴줄 알았는대 ..같은 타이머에서 같이 작동하는 구조인가보더군요 ... 일단 작동이 되니 그렇게 이해하고 있는대...맞는건지 ^^
    이제 서보 속도만 하면 제가 원하는 제어가 될거 같습니다...감사합니다. ^^
  • No Profile
    휴 .... 되단하세요 다들 저는 언제한번 이런대화를 할수있으며 이런실험을 할수있을지 모르겠네요 인터럽트에 미숙한 1인이....

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

search
번호 분류 제목 글쓴이 조회 수 날짜
1 Sensor 설계 HOT사진에 있는 tr 제품명이 먼지 알고 싶습니다 ㅡㅜ5 텐지무용 1160 2010.11.22
  • 행복의 원칙은 첫째 어떤 일을 할 것, 둘째 어떤 사람을 사랑할 것, 세째 어떤 일에 희망을 가질 것이다.
    - 칸트
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.