■ L298N 모터 드라이브의 사양
입출력 채널 : 2개 → 2개의 모터 제어 가능
모터 구동 입력 전압 : 5 Volt 또는 12 Volt
최대 전력 : 25W
최대 허용 전류 : 2A(모터 당)
■ DC 모터의 회전 방향을 제어 방법
DC 모터는 전류가 흐르는 방향에 따라 모터의 회전 방향이 변경된다.
+에서 -로 흐르는 전류의 방향을 -에서 +로 변경하면 회전 회전 방향이 반대가 된다.
■ DC 모터의 속도를 제어하는 방법
전압의 크기로 DC 모터의 속도를 변경할 수 있다.
입력 전압이 높으면 모터의 속도가 빨라지고 입력 전압이 낮으면 모터의 속도가 느려진다.
전압의 크기를 가변 할 수 있는 PWM를 이용한다.
<<< DC 모터 한 개만 연결하여 모터 제어 동작 >>>
• 외부 전원 6 Volt 사용(1.5 Volt 4개 직렬 연결)
• L298N 모터 드라이브 GND는 라즈베리파이의 Ground와 외부 전원의 (-) 극과 연결
• L298N 모터 드라이브의 +5V 는 외부 전원의 (+)극과 연결
• L298N 모터 드라이브의 OUT1과 OUT2는 DC 모터의 2개의 선과 연결
(순서에 상관없이 연결 후 모터 회전 방향이 생각했던 방향과 반대로 회전하면 연결하였던 선의 순서를 변경하면 됨.)
• L298N 모터 드라이브의 IN1과 라즈베리파이 GPIO 20 핀과 연결
• L298N 모터 드라이브의 IN2와 라즈베리파이 GPIO 21 핀과 연결
---<<< 예제 : DC-Motor.py >>>----------------------------
from gpiozero import Motor
from time
# Motor Pin Setup
motor = Motor(forward=20,backward=21)
while True:
print('Motor Rotation : Forward')
motor.forward(speed=0.5)
time.sleep(5)
print('Motor Rotation : backward')
motor.backward(speed=0.5)
time.sleep(5)
-----------------------------------------------------------------
peed=1 이라고 하면 최대 속도이며 speed=0.5라고 하면 최대 속도의 50% 로 속도가 느려진다.
<<< DC 모터 2개 연결하여 모터 제어 동작 >>>
• IN1 -> GPIO 22
• IN2 -> GPIO 23
• IN3 -> GPIO 24
• IN4 -> GPIO 25
--->>> 예제 : DC_Motor2.py <<<-----------------------------
from gpiozero import Motor
from time import sleep
# 모터 핀 세팅.
motorR = Motor(forward=23,backward=22) # 오른쪽 모터 객체 생성. (그림에서 A 방향)
motorL = Motor(forward=24,backward=25) # 왼쪽 모터 객체 생성. (그림에서 B 방향)
# speed 변수에 0~1 사이의 값을 넣어서 속도를 조절할 수 있다. 수가 클수록 빠르다.
# 3초 동안 전진
motorR.forward(speed=0.7)
motorL.forward(speed=0.7)
sleep(3)
# 3초 동안 후진
motorR.backward(speed=0.7)
motorL.backward(speed=0.7)
sleep(3)
# 3초 동안 좌회전
motorR.forward(speed=0.7)
motorL.backward(speed=0.7)
sleep(3)
# 3초 동안 우회전
motorR.backward(speed=0.7)
motorL.forward(speed=0.7)
sleep(3)