회원가입 ID/PW 찾기
AA
안녕하세요 반갑습니다.

도무지 방도가 떠오르지 않아 질문을 드립니다.

초음파센서값을 이용해서 다중서보모터를 제어할려고 합니다.

좀 더 간단하게 말을 드리면 초음파센서가 앞에 있는 장애물을 인식하면 서보모터를 제어해서 회피하는 것입니다.

distance = (unsigned)cn_data * Cvelocity / 1000; 
  if(distance<5.0) PORTA=0xf0;
  else if(distance<10.0) PORTA=0x0f;
  else {}
사용중인 소스코드의 일부입니다. distance변수값에 따라서 포트A에 연결된 LED는 작동을 잘합니다.

문제는... "어떻게 해야 다중서보를 제어하는 함수을 실행할 수 있는건가"입니다 ㅠㅠ;;
main()
{
while(1){
move_control()
{
Servo24SetDuty1(2,0,1800);
Servo24SetDuty1(2,1,1200); 
Servo24SetDuty1(2,4,2000);//꼬리
Servo24SetDuty1(1,0,1500);//Base Value
Servo24SetDuty1(1,1,1380);//Base Value front -300
Servo24SetDuty1(1,2,1950);//Base Value
Servo24SetDuty1(1,3,1680);//Base Value

}
댓글 5
  • 잘 이해가 안가요..

    서보모터는 어떠한 PWM 값을 계속 주고 있어야 그 값에 따라 반응합니다. 그러므로 편법을 쓰지 않는다면 각각의

    PWM 제어가 되어야 합니다. 간단하게 타이머 1,2,3이 있으면 3개 제어가 된다고 보면 되겠네요.

    이벤트가 걸렸을때 타이머의 값만 바꾸어 주면 될것 같은데.. 질문의 요지를 잘 모르겠네요.

    메인함수
     - 대기

    이벤트 함수
     - 만약 전방에 장애물이 있으면
         PWM 설정
     - 아니면
        유지
  • No Profile
    영혼님 말씀대로고요.. 다중으로 제어하시되 타이머 1개를 가지고 제어하시려면 1개의 서보모터를 제어하고 남은 주기동안 다른 서보모터 제어신호를 내보내야하지요.. 말로하려니 참 힘듭니다..-_-;;
  • No Profile
    소스를 보니 각 아이디별로 듀티가 제어되는듯하네요... led포트제어대신에 move_control() 함수를 호출하세요... 단, 각각움직이고 싶은 각도는 전역변수나 함수의 인자(파라미터)로 넘겨주셔야되고요^^;;
  • No Profile
    글쓴이 챠리스만 09.03.27 11:53 댓글 좋아요 0 싫어요 0
    개별적으로 하면 서보컨트롤이나, 초음파센서나 잘 작동을 합니다. 문제는 이 2가지를 같이 사용하면, 바보가 되어버리네요..ㅜ_ㅡ 아무래도 여러개의 인터럽트를 사용한게 원인인거 같습니다.. LED포트 대신에 서보 PWM제어함수를 호출하니 모터가 덜덜거리고, 초음파센서도 오작동이 같이 생기네요 ㅠㅠ
  • No Profile
    글쓴이 챠리스만 09.04.06 01:57 댓글 좋아요 0 싫어요 0
    오랫동안 공부안하고 방황한 탓일까요 ㅜ_ㅡ;;
    차분히 생각하고 회로쪽에 문제 및 코드 수정으로 간단하게 작업 완료하였습니다 휴우~_~;;;

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

search
Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
  • 사랑은 너무 어려 양심이 무엇인지 모른다. 그러나 양심이 사랑에서 태어나는 것을 누가 모르는가?
    - 셰익스피어
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.