안녕하세요~ 매드 입니다.
정말 오랜만에 블로깅하는 것 같네요 ㅠㅡㅠ
변명하자면 그동안 시간이 많이 없었다고 밖에 할 수 없네요 ㅠ
하지만! ... 가능한한 시간을 좀 만들어서 블로깅을 해보도록 하겠습니다.
그동안 시간이 너무 흘러서 어느덧 2017년이 새롭게 시작되었네요!
여러분 모두 새로운 시작 잘 준비하셔서 바라시던 것들 모두 이루시기를 바라겠습니다.
41-1. 소형 모터 제어
<L9110 DC 모터 드라이버(출처:구글사진)> |
이번 시간에는 아두이노를 이용하여 DC 모터를 제어하는 방법에 대해서 알아보도록 하겠습니다. 우선 많이 알려진 DC 모터 드라이버로 L298 모터 드라이버와 L9110 모터드라이버 있습니다. 두 가지의 차이점은 여러가지가 있지만 우리가 궁금한 것은 사용가능전압과 사용가능 전류가 되겠죠 ㅎㅎ
L298은 나중에 다루도록하고 L9110이 L298보다 좀 더 낮은 전압과 낮은 전류의 스펙을 가지고 있다는 것만 알고 지나가도록 하겠습니다.
L9110 모터 드라이버가 사용할 수 있는 DC 모터의 스펙은 아래와 같습니다.
입력전압 : 3~12V
사용전류 : 800mA
사용법도 간단합니다.
위 그림의 GND, VCC를 연결하고 아두이노에 A-IB, A-IA 두핀을 연결하여
입력 출력
A-IB, A-IA MOTOR-A
H L H L
L H L H
L L L L
H H L L
위와 같이 아두이노 신호에 따라 모터의 출력신호도 달라지느 것이죠.
다만 아두이노쪽에서 같은신호를 사용하게 되면 (LL, HH) 모터출력은 LL로 모터가 동작하지 않는 다는 것입니다. 경우에 따라서 H H 신호일 경우 BREAK 기능이 있는 드라이버들도 있는데요. L9110의 경우는 소형모터 드라이버 이다보니 그런 기능은 없는 것 같네요~ ㅎ
그럼 제어하는 소스코드를 간단히 봐볼까요.
41-2. 펌웨어
void setup() {
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(1000);
}
void loop() {
// 정회전
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay(5000);
// 정지
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(5000);
// 역회전
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
delay(5000);
}
이번 시간에는 간단히 DC 모터 드라이버를 사용하여 모터를 제어하는 방법에 대해서 다루어 봤습니다. 모터 선정시에는 모터 드라이버의 스펙을 잘확인하셔서 나중에 낭패를 보시는 일이 없어야 할 것 같네요! >,.<
그럼 다들 화이팅 입니다 ^^
0 댓글