본문 바로가기
Arduino(아두이노) 키트 강좌

Step.17-Arduino Uno 로 SG90 서보 모터 구동 시키기

by 오마이엔지니어 2015. 6. 2.
반응형

Arduino Uno 로 SG90 마이크로 서보 모터를 구동 시켜보는 프로젝트 입니다
서보모터(Servo Motor)는 모터와 제어구동보드(적당한 제어 회로와 알고리즘)를 포함하는 것으로
모터 자체만 가지고 서보모터라고 부르지 않습니다
서보모터의 개념은 모터와 구동 시스템 까지 포함하는 것으로 흔히 볼수 있는 공작기계, CCTV 카메라, 캠코더, 프린터 등에서

사용되는 모터와 같이 명령에 따라 정확한 위치와 속도를 제어할수 있는 모터를 서보모터라고 부릅니다

서보
 모터는 일반 모터와 달리 회전 반경이 정해져 있습니다종류에 따라 다르지만 일반적으로 약 0~270도 범위의 회전각을 가집니다
서보모터의 회전 각도는 아래 그림과 같이 PWM (펄스폭변조방식으로 제어합니다


다양한 종류의 서보 모터가 있지만 SG90 마이크로 서보 모터를 사용해 보겠습니다
SG90 마이크로 서보 모터 Servo Motor 는 9g 급으로 동작 전압이 4.2V ~ 6V 로 아두이노로 테스트 하기 적합 합니다
회전각도 는 180도 이며 동작 속도는 0.1 s/60 degree 입니다

 


사용된 부품

Arduino Uno R3 (Italy)

브래드 보드

SG90 마이크로 서보모터

점퍼케이블

 

사용된 키트

Arduino Starter kit (클릭)



구성 배선도 

 

 

사용된 예제소스  

servo.txt

 

#include <Servo.h>
#define SERVO 8 // Porta Digital 12 PWM
 
Servo s; // Variavel Servo
int pos; // Posicao Servo
 
void setup (){
 
s.attach(SERVO);
 Serial.begin(9600);
 s.write(0); // Inicia motor posicao zero
}
 
void loop(){
 
for(pos = 0; pos < 90; pos++){
 s.write(pos);
 delay(15);
 }
 
delay(1000);
 
for(pos = 180; pos > 0; pos--){
 s.write(pos);
 delay(15);
 }
}

Servo.h 라이브러리 사용, 서보모터 핀모드 8번입니다, 시리얼 통신속도 9600입니다,
for(pos = 0; pos < 90; pos++){
for(pos = 180; pos > 0; pos--){
서보모터 회전각도 설정 (SG90 은 최대 180도 회전가능)

주의사항
배선시 서보 모터의 핀맵에 주의 해야 합니다

빨간선이 VCC, 황색선이 GND, 노란선이 데이터 출력핀 입니다

예제소스를 보면 Servo.h 라이브러리를 불러오는 내용이 있습니다
Servo.h 는 아두이노 IDE를 설치하면 기본적으로 라이브러리가 포함 되어 있습니다

이점 숙지하고 넘어 가도록 하겠습니다

 

 

프로젝트 동영상



MG90S 메탈 서보모터도 재질만 틀릴뿐 사양은 거의 동일하기 때문에 동일하게 제어할 수 있습니다

프로젝트 동영상


servo.txt
0.0MB
반응형

댓글