서보모터란?


제어회로를 가진 제어구동보드를 포함한 모터이다. DC모터가 모터를 통해 흐르는 전류의 양에 비례한 속도로 회전하는데 비해 서보모터는 지정한 각도로 이동하여 그 위치를 유지한다. 서보모터는 휴머노이드 로봇의 팔다리 관절이나 CCTV의 회전 등에 이용하고 있다.

Untitled

DC모터란?


직류 전원에 의해 회전운동을 하는 전자부품이다. 아두이노 보드도 일정한 크기의 5V전압으로 동작하듯이 DC모터 또한 일정한 전압에 동작한다. DC모터는 바퀴에 연결해 RC(Radio Control)카를 움직이도록 하며, 전동 드라이버가 좌우로 회전하는데 사용하는 등 다양한 분야에 적용할 수 있다.

Untitled

모터드라이버란?


고용량 DC모터를 원활히 운전시키기 위한 부가장치이다. 특히 아두이노와 같은 마이크로컨드롤러로 제어하기 쉽게 구성되어 있어 회로를 구성하는 수고를 덜어준다. 모터드라이버는 아두이노로부터 HIGH 또는 LOW신호를 인가받아 DC모터의 회전 방향을 결정하고, PWM신호를 수신하여 모터의 회전력을 제어한다. 모터의 회전 방향은 모터 드라이버의 극성을 바꾸어 제어하고, 회전력은 PWM 신호로 모터에 유입되는 전력으로 제어한다.

Untitled

실습


아래와같이 회로를 구성하고, 코드를 실행하면 가변저항을 돌리는것에따라 서보모터의 각도도 조절되는것을 볼 수 있다.

#include <Servo.h>
Servo sv;

void setup() {
  sv.attach(13);
}

void loop() {
int val = analogRead(A0);
int radian = map(val, 0, 1023, 0, 120);
sv.write(radian);
delay(20);
}