<목표>
- 낮은전압(12V 이하)에서 L298N 모터드라이버를 이용하여 모터를 제어해보자
<준비물>
- 아두이노(우노,나노,메가), L298N 모터드라이버, 점퍼선, 12V이하의 배터리팩
<회로도>
< 12V 이하의 건전지 사용 시 회로 >
< 컴퓨터 USB 전원 사용 시 회로 >
<코드>
int motor_1 = 3;
int motor_2 = 4;
void setup() {
// put your setup code here, to run once:
pinMode(motor_1, OUTPUT);
pinMode(motor_2, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
delay(1000);
digitalWrite(motor_1, HIGH);
digitalWrite(motor_2, LOW);
delay(2000);
digitalWrite(motor_1, LOW);
delay(1000);
digitalWrite(motor_2, HIGH);
delay(2000);
digitalWrite(motor_2, LOW);
}
<실행 결과>
< 12V 이하의 건전지 사용 시 회로 >
- 1.5V 건전지 4개를 사용하여 총 6V 전원으로 모터드라이버 L298N을 사용
- 코드의 내용대로 모터가 작동하는 것을 확인할 수 있다.
< 컴퓨터 USB 전원 사용 시 회로 >
- 컴퓨터 USB 전원을 이용하여 모터드라이버를 사용하고 모터를 제어
- 코드의 내용대로 모터가 작동하는 것을 확인할 수 있다.
두 가지의 작동을 비교해봤을때,
건전지로 모터를 작동시키는 경우의 모터가 더 빠르게 도는 것을 볼 수 있다.
제일 중요한 것은 L298N 의 12V 와 5V 를 점퍼선으로 연결해줘야 하며,
모터드라이버 내부 레귤레이터 사용을 하지 않도록 점퍼를 제거해줘야 한다.
L298N 은 정말 아두이노를 다룬다면 쉽게 접할 수 있는 모듈 중 하나이다.
DC 모터를 사용하기도, 스텝모터를 제어하는데에도 사용한다.
이 모터드라이버를 싫어하는 사람들이 되게 많은 것이 사실이다.
하지만 이 모터드라이버처럼 저렴하면서 사용자를 위한 모듈도 흔치 않은것도 사실이다.
12V ~ 24V 전원을 공급해주면 레귤레이터를 통해서 5V 출력이 가능하여
바로 아두이노 Vin에 연결하여 전원을 공급해줄 수 있는게 가장 큰 장점이다.
전원 공급 회로를 따로 하지 않아도 되는것이 행복을 가져다 주곤 한다.
그리고 저렴한 모터드라이버 중에서도 나름 고출력이 가능하다.
2A 까지 출력이 가능하다고 하니, 나름 괜찮은 녀석이다.
하지만 이 모터드라이버를 싫어하는 사람도 많다.
고장이 많고, 초기불량도 있으며, 마음처럼 한번에 작동이 안 될때가 많기 때문이다.
그리고 방열판 때문에 크기가 애매모호 한 것이 단점이다.
소형 장치에 넣기에는 공간을 너무 많이 차지하기 때문이다.
필자의 경우 소형 장치에는 L9110 모터드라이버를 더 선호한다.
아무튼 이렇게 이번 시간에는 모터드라이버로 12V 이하의 전원으로 모터를 작동시키는 것이 가능하다는 것을 확인할 수 있었다.
회로가 나름 복잡하지만, 이 문제로 끙끙 앓던 분들에게는 좋은 자료이지 않을까 싶다.
※ 궁금하시거나 질문사항이 있으시면 댓글로 작성해주시면 답변해 드릴 수 있는 부분에서 친절히 답변드리겠습니다!
'코딩 > 아두이노' 카테고리의 다른 글
아두이노 nRF24L01 양방향 통신 (0) | 2021.03.14 |
---|---|
아두이노 nRF24L01 모듈로 무선통신 하는 방법 (1) | 2021.03.13 |
아두이노 타이머 카운터 인터럽트 사용하는 방법 CTC모드 (4) | 2021.02.23 |
아두이노 버튼 노이즈를 제거해보자, Debounce 이해하기 (0) | 2020.12.23 |
아두이노 입출력 인터럽트에 대해서 알아보자 attachInterrupt() (2) | 2020.12.23 |
댓글