자율주행 자동차를 만들기 위해서 모터 제어와 관련된 모듈인 L298N 모터 드라이버 모듈에 대해 알아봅니다.


여러 검색 결과를 확인해 봤고 그 중에서 여기(https://m.blog.naver.com/chandong83/221309861855)가 가장 참고할만 했습니다.


L298N 모터 드라이버 모듈은 여러가지가 있는 것으로 보이는데 제가 가지고 있는 것은 다음과 같이 생겼습니다.

영어로는 L298 New Dual H Bridge DC Stepper Motor Drive Controller Board Module 라고 하는 모양입니다.


내부 설명은 대체로 다음과 같습니다.


Output A/B : 모터와 연결

Logic Input : 아두이노에 연결하여 모터 제어(Digital)

                 IN1/IN2 - A모터 제어

                 IN3/IN4 - B모터 제어

A/B Enable : 점퍼를 제거하고 아두이노에 연결하면 모터의 속도 제어가 가능(0~255:Analog)

                 점퍼가 연결되어 있으면 항상 풀스피드(255)

Power GND : GND

+12V         : 5~35V 전원 입력

+5V           : 5V IN/OUT. 5V Enable(아래 사진에서는 12V Jumper) 점퍼를 제거하면 5V 입력받고, 점퍼가 꽂혀있으면 모듈에서 5V 출력합니다.

5V Enable   : 점퍼가 꽂혀있으면 5V Linear Regulator에서 5V로 전환하여 내부 제어에 사용 및 외부 출력. 점퍼가 없으면 외부에서 5V를 입력 받아야 함.

                 (참고한 사이트에서는 7805 레귤레이터라고 하네요)


위에서 말한 사이트의 내용을 참고하고 테스트해 본 결과, 위의 내용이 가장 확실합니다.


처음에는 5V Enable 관련된 내용을 제대로 찾지 못하고 아래와 같이 연결해 보았습니다.

(5V Enable 점퍼는 꽂혀있는 상태)


안되더라고요.

좀더 찾아본 결과 위의 참고 사이트의 내용을 확인하고 그 내용에 따라 아래와 같이 연결해 보았습니다.

(5V Enable 점퍼는 제거한 상태)


이제야 모터가 잘 돌아갑니다.

아두이노의 5V 전원만으로 테스트를 할 경우에는 5V Enable 점퍼를 제거하고 모듈의 +5V에 5V 전원을 연결해줘야만 제대로 됩니다.

7805 레귤레이터가 (+12V를 통해 입력된) 5V만으로는 제대로 동작하지 않기 때문이라고 합니다.


테스트에 사용한 소스는 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int IN1 = 3;
int IN2 = 4;
 
void setup() {
  // put your setup code here, to run once:
  pinMode(IN1, OUTPUT); 
  pinMode(IN2, OUTPUT);
 
  // Motor A: IN1/2로 제어
  // IN1 전압 > IN2 전압 : 전류가 1>2로 흐름. 모터 회전
  digitalWrite(IN1, HIGH); 
  digitalWrite(IN2, LOW); 
  delay(2000);  
 
  // 반대 방향 회전
  digitalWrite(IN1, LOW); 
  digitalWrite(IN2, HIGH); 
  delay(2000);
 
  // 모터 멈춤. 둘다 LOW면 모터를 꺼둔, 풀린 상태라고 함.
  digitalWrite(IN1, HIGH); 
  digitalWrite(IN2, HIGH);
}
 
void loop() {
  // put your main code here, to run repeatedly:
 
}
cs


모터 속도까지 테스트하려면 Enable A/B 점퍼를 제거하고 아날로그로 연결해서 해보면 될 것 같습니다.

그리고 fritzing에 L298N 모듈이 없는데 검색해서 찾은 것을 import 해서 사용했습니다. 해당 파일은 아래에.

H-Bridge with L298N.fzpz

마지막으로 실사용 시에는 외부전원을 연결해서 사용해야 안정적이라고 합니다. 모터 사용 시 전압 강하가 커서 모터 2개 쓰면 아두이노가 잘 안 돌아간다고...

+ Recent posts