본문 바로가기
만들기/랩뷰(labview)

[랩뷰] LINX에서 L298N 드라이버로 DC모터 제어하기

by 훨훨날아 2022. 1. 22.

LINX를 이용하여 랩뷰에서 아두이노를 컨트롤하고 L298N드라이버를 이용하여 2개의 DC모터를 제어할 수 있다.

준비물
- 아두이노 우노
- 랩뷰 32비트 2018년 이상
- LINX
- L298N 
- DC모터
- 5V 이상전원

랩뷰에 LINX를 설치 후 아두이노 우노 펌웨어롤 올려준다음 아두이노와 L298N을 연결해준다. L298N에서 A enable부분을 풀어준뒤 PWM제어를 가능하게 하여 아두이노와 연결한다. 나머지 input 선은 디지털핀으로 연결시켜준다. 아두이노 자체에서 나오는 5V를 L298N에 연결시키면 전류값이 작아서 하나의 모터만 작동한다(부하없이). 2개의 모터를 컨트롤 하기 위해서는 12V에 외부전원을 연결시켜주고 GND에는 외부전원과 아두이노 GND를 같이 연결시켜준다.  

 

랩뷰코드

모터가 하나일때는 다음과 같이 랩뷰코드를 만들어준다. LINX을 open, close하고 그 사이에 while loop를 만들어 안쪽에 PWM set duty cycle과 Digital Write를 넣어준다. 

PWM제어와 Digital pin을 아두이노에 연결된 핀번호로 각각 맞춰준다. 채널의 핀번호는 constant 값으로 번호를 지정하고 Duty cycle과 모터방향은 control을 만들어서 조절할 수 있게 만든다.

프론트패널에서 아두이노가 연결된 시리얼 포트를 입력하고 실행시켰을때 device name이 아두이노 우노가 나타나면 정상적으로 작동한다. Duty cycle을 조절하기 쉽게 슬라이드바 형태로 바꾼뒤 property에서 값의 범위를 0에서 1로 맞춰준다. 모터방향은 두개를 조절할 수 있도록 array를 늘여준다.

 

모터를 두개 조절하기 위해서는 Set duty cycle과 Digital write에 입력되는 값을 array로 늘려준다. 아두이노와 L298Nd에 A,B에 연결된 핀번호를 랩뷰 코드에 추가해준다.  여기에서는 A가 7,8,9 핀에 연결됐고 B는 5,6,10핀에 연결되었다. 

입력값이 array로 바뀌면 프론트패널에서의 입력값도 해당 갯수만큼 늘려서 조절해준다.

pin7,8  pin5,6 을 눌러줄 때마다 서로 다른 모터가 돌아가는 것을 확인할 수 있다. 하지만, 현재 연결된 전원 (건전지 4개)가 약해서 모터 두 개를 동시에 돌렸을 때 힘들어하는 것을 볼 수 있다.

 

 

 

 

참고

https://www.youtube.com/watch?v=11hi7lGEdyU&t=616s 

https://makernambo.com/61

 

L298N 드라이버로 DC모터 제어하기

 L298N 드라이버 모듈은 2개의 DC모터 또는 1개의 스테핑모터를 제어하기 위한 모터드라이버 이다. 두개의 DC모터를 각각 속도와 방향 제어할 수 있으므로 전동 모형자동차 제작시 전진/후진 및

makernambo.com

 

반응형