질문게시판 > 답변 : 서보모터가 찡찡 거리면서 오작동합니다.

TODAY944 TOTAL273,891
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


▼ BASIC4MCU 후원업체 최신 정보 ▼

▲ BASIC4MCU 후원업체 최신 정보 ▲

BASIC4MCU | 질문게시판 | 답변 : 서보모터가 찡찡 거리면서 오작동합니다.

페이지 정보

작성자 master 작성일2018-08-26 15:14 조회1,968회 댓글9건

본문

	

ê´ë ¨ ì´ë¯¸ì§ 

서보모터는 PWM핀을 사용해야 합니다.

12번핀 대신 3번핀을 사용하세요

 

블루투스도 핀을 변경해야겠군요

 

 

// DateTime : 2018-08-26 오후 3:18:22
// by Ok-Hyun Park
//
#include <SoftwareSerial.h>
SoftwareSerial btSerial(4,5); //RX,TX
//
#include <Servo.h>
Servo xServo;
Servo yServo;
Servo uServo;
Servo vServo;
int  posx=90,posy=90,posu=90,posv=90;
//
#define LASER 13
//
char c;
//
void setup(){
  pinMode(LASER,OUTPUT);
  xServo.attach9); xServo.write(90);
  yServo.attach(10); yServo.write(90);
  uServo.attach(11); uServo.write(90);
  vServo.attach3); vServo.write(90);
  btSerial.begin(9600);
}
//
void loop(){
  if(btSerial.available()){
    c=btSerial.read();
    //
    if(c=='a'){ digitalWrite(LASER,HIGH); }
    if(c=='b'){ digitalWrite(LASER,LOW ); }
    //
    if(c=='L'){ if(posx<170)posx++; } // x 증가
    if(c=='R'){ if(posx10)posx--; } // x 감소
    if(c=='U'){ if(posy<170)posy++; } // y 증가
    if(c=='D'){ if(posy10)posy--; } // y 감소
    if(c=='F'){ if(posu<170)posu++; } // u 증가
    if(c=='S'){ if(posu10)posu--; } // u 감소
    if(c=='E'){ if(posv<170)posv++; } // v 증가
    if(c=='C'){ if(posv10)posv--; } // v 감소
    //
    xServo.write(posx); yServo.write(posy); uServo.write(posu); vServo.write(posv);  
  }
}

 

 9번 10번핀은 타이머1을 사용하는데

타이머1은 소프트웨어 시리얼과 관련이 있어서

9번핀,10번핀에 연결된 서보모터가 제대로 동작하지 않을 수 있습니다.

 

이 경우에는 아두이노메가 2560을 사용해야겠습니다.

 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 9

조회수 1,968

블루스카이님의 댓글

비공개 작성일

우선 제 글에 관심 가져 주셔서 감사합니다.
위 프로그램으로 해 봤는데요.
x방향 서보 모터를 움직이면, 다른 서보 모터가
조금씩 덜덜덜 거리면서 움직입니다.
현제 CH340 우노 보드를 사용하고요
그 위에 Arduino Sensor Shleld v5.0
를 올려서 연결 해 놨습니다.
연결은 블루투스 조이스틱 앱을
zs-040 으로 연결 했습니다.

참고로 블루투스 조이스틱을 이용해서
우노보드로 컨트롤 하는 동영상 링크 합니다.
https://www.youtube.com/watch?v=0jcles2cQrs

그리고 혹시 제가 찍은 동영상을 올릴 방법이 있는지 궁굼합니다.
감사합니다. ^^

master님의 댓글

master 댓글의 댓글 작성일

센서 쉴드는 서보모터를 여러개 구동할 수 있는 기능이 없습니다.
동영상의 서보드라이버 쉴드 같은 것을 사용해서 서보모터를 연결하세요
쉴드가 꼭 필요하지 않다면 메가가 더 쌀 수도 있습니다.

블루스카이님의 댓글

비공개 작성일

답변 정말 감사합니다. 정말 많은 도움이 됩니다. ^^

블루스카이님의 댓글

블루스카이 작성일

우노 보드로 조이스틱 모듈를 이용해서 2개 까지는 자연스럽게 작동하더라구요
우노 보드로 서보모터 동시제어가 몇개 까지 제어 가능한지 궁굼합니다.

master님의 댓글

master 댓글의 댓글 작성일

다른 기능이 없으면 6개까지 가능하겠죠
타이머0을 빼면 4개까지 가능합니다.
다른 기능에서 아두이노 우노의 타이머를 사용한다면 서보모터 구동 갯수가 줄어들게 됩니다.

블루스카이님의 댓글

블루스카이 작성일

어제는 도무지 안되서 우노 2개로 개당 서보 2개씩 조이스틱 모듈로 해 봤습니다.
우노1-서보모터2 -조이스틱 모듈
우노1-서보모터2 -조이스틱 모듈

이렇게요 그런데 희안하게 1SET로 제어 할때는 2개의 서보 모터가 그럭저럭 잘 제어가 되었는데
우노 2 셋트를 동시에 연결해서 제어를 하니 4개를 우노 1개에 연결할때랑 거의 같은 이상증세가 나오더라구요
어기서 서보모터 4개를 AAA건전지 4개 팩에 병렬연결 했습니다.

전압이 떨어져서 그런걸까요?

master님의 댓글

master 작성일

AA보다 AAA의 전류용량이 많이 작습니다.
AA로도 4개의 서보모터를 구동하기에 부족할 수 있는데요
AAA라서 증상이 금새 나타났을겁니다.

블루스카이님의 댓글

블루스카이 작성일

드디어 아두이노 메가 보드가 왔습니다.
위 프로그램 대로 하고 핀도 위와 같이 하면 될까요???

항상 성의있는 답변과 신속함에 감사드립니다 ^^

master님의 댓글

master 댓글의 댓글 작성일

해보고 잘 안되면 고민하세요

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.

ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017