1. 아두이노 모터드라이브 L293D
모터 드라이버 모듈은 자율 로봇 및 임베디드 회로에서 모터를 구동하는 데 사용되는 장치입니다 .
소형 로봇과 RC 차량에 가장 널리 사용되는 모터 드라이버 IC는 L293D입니다.
모터 드라이버는 주어진 명령이나 입력(상하향)에 따라 모터를 작동시키는 장치입니다.
컨트롤러/프로세서에서 낮은 전압을 받아 높은 입력 전압이 필요한 실제 모터를 구동합니다.
모터 드라이버는 기본적으로 컨트롤러로부터 수신된 명령이나 지시에 따라 모터의 방향을 제어합니다.
모터 드라이버는 마이크로프로세서로부터 신호를 받아 변환한 후 모터로 전송합니다.
모터 드라이버에는 다양한 토폴로지가 사용되며, 이 글에서는 L293D 모터 드라이버에 사용되는
일반적인 H-브리지 토폴로지를 살펴보겠습니다.
2. 모터 드라이버 쉴드 L293D에 대한 간략한 개요
L293D는 DC 모터의 속도를 조절하고 양방향으로 구동할 수 있는 기본 모터 드라이버 모듈입니다. 이 모듈에는 모터 제어를 위해 각 면에 8개의 핀이 있는 16핀 IC인 L293D IC가 포함되어 있습니다. 즉, L293D 하나로 최대 두 개의 DC 모터에 전원을 공급할 수 있습니다. L293D는 두 개의 H-브리지 회로로 구성됩니다. H-브리지는 부하의 극성을 전환하는 가장 기본적인 회로입니다.
3. 모터 드라이버 쉴드 L293D의 특징
- 2개의 전체 H-브리지로 작동할 수 있는 4개의 하프 H-브리지가 포함되어 있습니다.
- 방향 및 속도 제어가 가능한 2개의 모터 또는 속도 제어만 가능한 4개의 모터를 작동시킵니다.
- 채널당 600mA 연속 전류 및 1.2A 피크 전류 공급 가능
- 4.5~36V 모터 전압
- 로직 핀에서 5V 호환
4. 모터 드라이버 쉴드 L293D의 핀아웃
5. 응용 프로그램
로봇공학
L293D 모터 드라이버는 마이크로컨트롤러를 사용하여 DC 모터를 제어할 수 있는 H-브리지 회로입니다.
H-브리지 집적 회로(IC)를 사용하여 DC 모터를 전진 또는 후진으로 구동할 수 있습니다.
이는 로봇 자동차 등과 같은 로봇을 작업할 때 특히 유용합니다.
직류 모터
L293D 모터 드라이버 모듈은 DC 모터와 호환되며 양방향으로 모터를 구동할 수 있는 중전력 모터 드라이버입니다.
잘 알려진 L293 모터 드라이버 IC를 사용합니다. 4개의 DC 모터를 켜고 끄거나 2개의 DC 모터의 속도와 방향을
조절할 수 있습니다.
6. 아두이노 활용
1) 아두이노 모터드라이브 l293d 라이브러리 설치
위 압축파일로 되어 있는 라이브러리를 다운로드하고
아두이노 IDE에서 라이브러리를 추가한다.
위에 Sketch에서 Include Library --> Add ZIP Libraries
다른 방법으로 라이브러리 설치[라이브러리 매니저 활용 검색으로 설치]
![]() |
![]() |
IDE 1.8.9 버전
Hardware Overview
![]() |
![]() |
출처 : https://lastminuteengineers.com/l293d-motor-driver-shield-arduino-tutorial/
Control DC, Stepper & Servo with L293D Motor Driver Shield & Arduino
Learn to control DC, Stepper & Servo motors with L293D Motor Driver Shield along with its Pinout, Power Supply Settings, Wiring, Library & Arduino Code
lastminuteengineers.com
7. 모터쉴드 모터 회로연결
8. 아두이노 코드
#include <SoftwareSerial.h>
#include <AFMotor.h> // L293D 모터 드라이브 라이브러리
AF_DCMotor motor_1(1); // 모터 1 객체
void setup() {
motor_1.setSpeed(150); // 모터 1 속도 설정
motor_1.run(RELEASE); // 모터 1 돌리지 않는 상태
}
void loop() {
// 모터 1
motor_1.run(FORWARD); // 정방향으로 회전
delay(1000); // 1초동안 회전 1000ms = 1초
motor_1.run(RELEASE); // 정지
delay(1000); // 1초동안 정지 1000ms = 1초
motor_1.run(BACKWARD); // 역방향 회전
delay(1000); // 1초동안 회전 1000ms = 1초
motor_1.run(RELEASE); // 정지
delay(1000); // 1초동안 정지 1000ms = 1초
}
"Remove PWR jumper when external power supply is connected"
"외부 전원 공급 장치를 연결할 때 PWR 점퍼를 제거하세요."
'아두이노 기초 수업' 카테고리의 다른 글
푸쉬버튼으로 전원 스위치 역할 만들기 (0) | 2025.06.09 |
---|---|
아날로그신호와 디지털 신호. (2) | 2024.12.05 |
비접촉 수위센서 활용하기. (1) | 2024.12.04 |
I2C 디스플레이에 문자 출력하기. (3) | 2024.12.04 |
아두이노 신호등 led 활용하기. (0) | 2024.12.04 |