L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

반응형

L293D는 다이오드가 내장된 DC모터 드라이버다.


L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

L293D DC Motor Driver


L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

L293D Pin Map

Enable 1, 2와 Enable 3, 4는 PWM(0~255)으로 모터 속도를 제어한다.

모터가 높은 전압을 사용한다면 Vcc 2에 외부 전원을(4.5~36V) 연결한다. (Vcc 1은 내부 로직용 전압이다)


Peak output current(nonrepetitive, t ≤ 100 µs): 1.2A

Continuous output current: 600mA

L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob
l293d.pdf


L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

드라이버 내부에는 모터에서 발생하는 역기전력으로 인한 MCU 손상 방지용 다이오드가 내장되어 있다.

GND(4, 5, 12, 13)는 모두 연결되어 있어서 하나만 외부 GND에 연결하면 된다.



L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

위 다이어그램과 같이 연결한다.


L293D - Arduino

Enable 1, 2 - D8

Input 1 - D9

Output 1 - Motor +

GND - GND

Output 2 - Motor -

Input 2 - D10

Vcc 2 - 5V

Vcc 1 - 5V


L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob



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

#define EN1 8

#define IN1 9

#define IN2 10

 

void setup() {

  pinMode(EN1, OUTPUT);

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

}

 

void loop() {

  digitalWrite(EN1, HIGH);

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  delay(1000);

 

  digitalWrite(EN1, LOW);

  delay(1000);

 

  digitalWrite(EN1, HIGH);

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  delay(1000);

 

  digitalWrite(EN1, LOW);

  delay(1000);

}


위 코드를 컴파일하고 아두이노에 업로드한다. 'CW 회전 - 1초 대기 - CCW 회전 - 1초 대기'가 반복된다.


반응형

공유하기

게시글 관리

구독하기Software Engineer

저작자표시 비영리 변경금지

  • 카카오스토리
  • 트위터
  • 페이스북

'Raspberry Pi & Arduino' 카테고리의 다른 글

Raspberry Pi Camera Real Time Video Streaming with RTSP - 라즈베리 파이 카메라 실시간 영상 스트리밍  (0)2021.01.22Raspberry Pi Camera - 라즈베리 파이 카메라  (0)2021.01.22Read and Write Radio-Frequency IDentification(RFID) cards with Arduino using RC522  (0)2020.12.16RF 433MHz Transmitter and Receiver with Arduino - 아두이노로 RF 433MHz 무선 통신 하기  (3)2020.11.24DFPlayer Mini with Arduino - 아두이노로 MP3 플레이하기  (0)2020.11.20

L293D 모터 드라이브 쉴드로 DC 모터를 구동해보았습니다.

이 모터 드라이브는

아두이노 우노 보드와 아래 사진처럼 결합됩니다.

L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob
L293D 모터드라이버+아두이노 우노

4개의 DC 모터 또는

2개의 Step 모터 또는

2개의 서보 모터를 구동시킬 수 있다고 하고,

사용 전원은 4.5~12V

채널당 전류 600 mA까지 사용가능합니다.

외부전원으로 파워서플라이를 사용하고,

모터를 연결할 수 있는 터미널 M1~M4 중에

M3번과 M4번에

각각 DC 모터를 연결하였습니다.

L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob
L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

DC 모터 사양을 몰라서

처음에는 아두이노 전원만으로 구동시켜 보려했지만,

 아무래도 전류가 부족한 것 같아

외부전원을 연결하였습니다.

외부전원 VCC와 GND는 연결부위는 아래 사진과 같고

외부전원 연결 시에는

붉은색 상자로 표시한 위치에 있던 점퍼를 반드시 빼주어야 합니다.

L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

L293D 구동을 위해서는 라이브러리가 필요한데,

저는 아래 링크에서 받았습니다.

라이브러리 설치 위치도 참고하세요.

[아두이노 강좌] 아두이노 모터 드라이버 쉴드 L293D를 이용한 모터 제어하기(DC모터/ 서보모터)

안녕하세요 에듀이노 입니다. 오늘은 모터 드라이버 쉴드를 이용해서 모터를 제어해보겠습니다. 1. 모터 드...

blog.naver.com

참고로 원래 소스를 제공하던 github-adafruit 홈페이지에서는

제품 업데이트하면서

프로그램 코드를 다운로드 받을 수 없게 되어 있었습니다.

라이브러리 설치를 마치고

아래와 같이 스케치를 작성했습니다.

저는 M3과 M4를 쓸 것이기 때문에

motor1(3), motor2(4) 라고 지정했습니다.

setSpeed는 모터 회전 속도라고 하는데

이 값이 너무 높거나 낮으면 DC모터가

물리적으로 따라갈 수 없는 것 같습니다.

제가 연결한 DC모터는 '70' 정도가 적당했습니다.

사용하는 모터에 따라 적당한 값으로 수정해서

사용해야겠습니다.

L293D 모터 드라이버 사용법 - L293D moteo deulaibeo sayongbeob

3번모터 정회전-정지-역회전-정지

4번모터 정회전-정지-역회전-정지

순서로 구동하도록 작성하였습니다.

아래는 DC모터 구동 영상입니다.

이상, L293D 모터 드라이버를 이용한 DC 모터 구동 테스트였습니다.