【 아두이노 기초 】 #18 DC 모터 제어 하기 1
DC모터를 제어 해보자! DC 모터는 전류가 흐르는 방향으로 회전을 하기 때문에 포트의 출력을 제어하여 모터의 회전 방향을 결정할 수 있다.
※ 모터를 다룰 때는 주의 할 것은 코일로 이루어진 모터에 전류를 흘릴 경우 반대방향으로 기전력(역기전력)이 발생하게 되는데 이를 방지하기 위해 모터와 병렬로 다이오드를 반드시 달아 주어야 한다. 그래야 주변 회로(TR, FET 등)가 손상되지 않는다.
▶ DC 모터 제어 회로도 :
▶ 부대품 목록 : 아두이노 보드, 브레드 보드
▶ 부품 목록 : DC 모터, 100Ω (전류 제한용도), NPN형 TR, 정류용 다이오드(1N4001~4007, 아무거나)
▶ 프로그램 (코드& 설명) :
int motorPin =3; // 모터 연결 핀을 정의한다.
void setup() {
pinMode(motorPin, OUTPUT); //모터 연결핀을 출력으로 설정한다
}
void loop() {
// PWM 형태로 모터를 구동한다( duty rate= 50)
digitalWrite(motorPin,HIGH); // 모터 연결핀에 5[v]를 출력한다
delay(10); // 10ms 시간 지연한다
digitalWrite(motorPin,LOW); // 모터 연결핀에 0[v]를 출력한다
delay(10); // 10ms 시간 지연한다
}
※ PWM 신호와 같이 듀티비(High와 Low 신호 비율) 로 모터의 회전 속도를 제어하는 것이다.
High 신호가 Low 신호 보다 출력 시간을 길게 하면 상대적으로 모터가 빨리 회전 한다.
▶ 실행 영상 :
▶ 아두이노 코드 다운로드 :