초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

[지니어스키트 블록] 7. 서보모터 사용하기

2020-05-07 14:30:38

[이전 학습가이드] 음파센서로 거리 측정하기

 

서보모터란?


 

서보(Servo)의 어원은 라틴어의 Servue로서 노예라는 의미를 가지고 있으며, 목표치에 대한 위치, 방위, 자세 등의 제어가 자동화되어 있는 장치 이름에 붙여지곤 합니다.

이와 같이 서보모터는 모터와 기어박스 그리고 제어회로로 구성되어있어, 특정 위치로 이동하거나, 특정한 수치(속도 등)만큼 가동시킬 때, 모터로 부터의 피드백을 통해 정확하게 제어할 수 있는 구조를 갖추고 있는 모터로 자동화 생산 시스템, 로봇, 장난감, 가전제품 등 광범위하게 쓰이고 있습니다.



 

 

 

서보모터 사용방법


 

서보모터는 무한정 회전이 가능한 DC모터와 달리 회전 반경이 정해져 있는 경우가 대부분 입니다.

지니어스키트 쥬니어팩에 들어있는 서보모터는 약 0~180도 범위의 회전각을 가집니다.

그렇기 때문에 180도 이상으로 돌리려고 무리한 힘을 가하게 되면 서보모터가 손상됩니다.

 

서보모터에는 3개의 단자가 있습니다. 각각의 단자는 별도의 핀을 알리는 문구가 써져있는 대신 케이블의 색으로 역할을 구분합니다.

일반적으로 3개의 케이블은 검은색(또는 갈색), 붉은색, 황색(또는 주황색, 흰색)으로 표시되어 있으며, 붉은색 선은 +전원, 검은색 선은 -전원에 연결되어 서보모터에 전기를 공급하는 역할을 하며, 노란색 선은 서보모터의 동작을 제어하는 신호선입니다.

 

 

서보모터의 회전 각도의 원리는 아래 그림과 같이 PWM (펄스폭변조) 방식으로 제어합니다.

전체 20ms의 PWM주기 중 1~2ms사이의 파형을 통해 각도를 제어합니다.

1ms만큼 HIGH신호를 주면 0도를 가르키고, 1.5ms만큼 HIGH신호를 주면 90도, 2ms만큼 준다면 180도를 가르킵니다.
 

 

 

 

 

 

서보모터가 PWM의 원리를 사용하기 때문에 서보모터는 아두이노에서 PWM을 사용할 수 있는 곳에 연결해야 한다고 보통 생각하게 됩니다.

하지만 서보모터는 PWM핀이 아닌 디지털 핀 아무곳에 연결해도 무방합니다.

서보모터를 제어하는 PWM신호가 아두이노의 PWM신호와는 차이가 있기 때문에 서보모터는 별도의 PWM을 생성하여 제어하게 됩니다.

 

※ 단 오렌지보드에서 서보모터를 사용하는 동안에는 디지털 9, 10번핀에서는 아날로그 제어를 사용할 수 없음에 유의하세요!

 

 

 

 

부품 목록

NO 부품명 수량 상세설명
1 오렌지보드 나노 + 확장쉴드 1  
2 서보모터 1  
3 점퍼 케이블 3  

 

 

부품명 오렌지보드 나노 + 확장쉴드 서보모터 점퍼 케이블
파트

 

 

 

 

 

하드웨어 making


 

브레드 보드

* 서보모터 연결은 서보모터에 연결된 선 색깔을 기준으로 연결합니다.(주황색, 빨간색, 검은색)

1. 서보모터의 주황색선을 오렌지보드 나노 확장쉴드 D6번핀에 연결합니다.

2. 서보모터의 빨간색선을 오렌지보드 나노 확장쉴드 V라인핀에 연결합니다.

3. 서보모터의 검은색선을 오렌지보드 나노 확장쉴드 G라인핀에 연결합니다.

 

 


 

 

 

소프트웨어 coding


 

서보모터 움직이기

전체코드

 

 

오렌지보드에 연결된 서보모터를 0, 90, 180, 90 도 순으로 움직이는 코드입니다.

 

 

 

블록설명

 

 

디지털 핀에 연결된 서보모터를 제어하는 블록입니다.

 

사용하는 서보모터는 0도 ~ 180도 까지만 동작 가능하기 때문에 각도 칸에 0 ~ 180 사이의 값을 넣어줘야 합니다.

 

 

kocoafab

안녕하세요. 코코아팹 운영자입니다.

코코아팹, kocoafab, 튜토리얼, tutorial, SW코딩, 피지컬컴퓨팅, 블록코딩, EPL, 엠블럭, Mlbock,서보, 모터