L298N 드라이버 모듈은 2개의 DC모터 또는 1개의 스테핑모터를 제어하기 위한 모터드라이버 이다. 두개의 DC모터를 각각 속도와 방향 제어할 수 있으므로 전동 모형자동차 제작시 전진/후진 및 가속/감속과 좌회전/우회전 등 모든 동작을 이 드라이버모듈 하나로 구현할 수 있게 된다.  

 

 

L298N의 사양

 

- Work Mode: H bridge drive (dual-channel)
- Main Control Chip: L298N
- Logic Voltage: 5V
- Drive Voltage: 5V-35V
- Logic Current: 0mA-36mA
- Drive Current: 2A(MAX single-bridge)
- Storage Temperature: -20° to +135°
- Max. Power: 25W
- Size: 4.5*4.5*2.8cm
- Weight: 27g(approx.)

 

 

사용방법

 

 

- Output A와 Output B에 각각 DC모터를 연결한다.

 

- +12V Power 단자 : 모터 작동용 메인 전원을 연결하는 곳이다. 35V까지 가능하다고 되어 있으나 12V이내로 사용하는 것이 일반적이다. 

 

Power GND : 공통 접지단자로서 아두이노 GND단자와 +12V전원의 마이너스 접지를 함께 연결한다.

 

- 5V Enable 점퍼스위치 :  내장되어 있는 5V 정전압 Regulator를 가동시킬지 여부를 선택하는 점퍼이다. 연결되어 있으면 Regulator가 가동되어 내부 제어용으로 사용되며 동시에 +5V Power단자로 5V가 출력되기 때문에 이 5V를 아두이노 등 MCU의 전원으로 활용할 수 잇다.  만약 고전압용 DC모터 사용을 위해 12V이상의 전압을 +12V단자에 가해 줄 필요가 있을 경우에는 이 점퍼핀을 빼놓아 Regulator가동을 중지시키고 별도의 5V전압을 +5V Power단자에 가해 주어야 한다.    

 

- +5V단자 : 5V 점퍼스위치가 연결되어 있을 때 (12V이내의 전압을 +12V Power단자에 연결했을 때)에는 별도의 전원을 공급해 줄 필요없고 오히려 이 단자에서 출력되는 전력을 아두이노의 VIN 작동 전원으로 사용할 수 있다. 5V 점퍼스위치가 연결되어 있지 않을 때에는 이 단자에 5V전압을 가해 주어야 한다.     

 

-A Enable과 B Enable단자 : 각각 모터 A와 B의 출력을 제어하는 신호선이고 PWM제어가 가능하다. 점퍼스위치가 연결되어 있는 상태는 5V HIGH가 되어 최대출력으로 연결하라는 의미이고 속도제어가 필요할 경우 아두이노 PWM핀에 연결하여 적절한 PWM값을 출력하면 된다.

 

-Input단자 : 방향을 제어하기 위한 신호선으로서 IN1과 IN2는 모터 A의 방향, IN3와 IN4는 모터B의 방향을 제어하기 위한 것이다.  즉 IN1과 IN2를 각각 HIGH,LOW 로 주었을 때와 LOW,HIGH로 주었을 때는 모터의 진행방향이 반대로 되게 된다.   

 

 

 

아두이노와의 연결

 

 

 

- 위와 같이 전원을 연결하고 Enable A와 Enable B 는 아두이노의 PWM용 핀에 연결한다. (여기에서는 10번과 5번 ) 

- Input 단자들은 아두이노 디지털 출력핀에 연결한다. (여기에서는 IN1~IN4를 각각 9,8,7,6번 핀에 연결)  

- 5V Enale 점퍼선을 연결하고 내부 레귤레이터 가동시킴. ( +5V단자는 연결하지 않아도 되고 필요시 이 +5V단자를 아두이노 보드의 VIN단자에 연결하여 전원공급용으로 사용해도 된다.)  

 

 

샘플프로그램

 

#define ENABLE_A  10  
#define IN1_A  9   
#define IN2_A  8   
#define ENABLE_B  5  
#define IN3_B  7   
#define IN4_B  6   
  
byte speedDC = 255;  
  
void setup()  
{  
  pinMode(ENABLE_A,OUTPUT);  
  pinMode(IN1_A,OUTPUT);  
  pinMode(IN2_A,OUTPUT);  
   pinMode(ENABLE_B,OUTPUT);  
  pinMode(IN3_B,OUTPUT);  
  pinMode(IN4_B,OUTPUT);  
}  
  
void motor_speed(int spd)  
{  
  analogWrite(ENABLE_A,spd);  
  analogWrite(ENABLE_B,spd);  
}  
  
void motor_dir(int dir)  
{  
  if ( dir == 0 ) {  // forward   
     digitalWrite(IN1_A,HIGH);  
     digitalWrite(IN2_A,LOW);  
     digitalWrite(IN3_B,HIGH);  
     digitalWrite(IN4_B,LOW);  
  }  
  else if ( dir == 1 ) { // turn right  
     digitalWrite(IN1_A,HIGH);  
     digitalWrite(IN2_A,LOW);  
     digitalWrite(IN3_B,LOW);  
     digitalWrite(IN4_B,HIGH);  
  }  
  else if ( dir == 2 ) { // turn left  
     digitalWrite(IN1_A,LOW);  
     digitalWrite(IN2_A,HIGH);  
     digitalWrite(IN3_B,HIGH);  
     digitalWrite(IN4_B,LOW);  
  }    
  else if ( dir == 4 ) { // backward  
     digitalWrite(IN1_A,LOW);  
     digitalWrite(IN2_A,HIGH);  
     digitalWrite(IN3_B,LOW);  
     digitalWrite(IN4_B,HIGH);  
  }     
}  
  
void loop()  
{  
  motor_dir(0);  
  for ( int i = 0; i < 100; i++ ) {  
      motor_speed(i);  
      delay(100);  
  }  
  motor_speed(30);  
  motor_dir(1);  
  delay(500);  
  motor_dir(0);  
  delay(3000);   
}  

 

20 ~24 line : Enable 단자에 지정하는 PWM값을 출력하여 속도를 지정한다.

26 ~52 line : INPUT단자의 값들을 변경시켜 진행방향을 제어한다.

  -28~33 : A,B 모터 둘 다 순방향으로 지정하여 전진하는 동작

  -34~39 : A 모터는 순방향 ,B 모터는 역방향으로 돌려 방향 전환한다. 

  -40~45 : A 모터는 역방향 ,B 모터는 순방향으로 돌려 반대 방향으로 전환한다. 

  -56~51 : A,B 모터 둘 다 역방향으로 지정하여 후진하는 동작

56 ~ 60 line : 전진 방향으로 속도를 가속한다.

 

구매좌표 : s.click.aliexpress.com/e/_9yxIz5

 

1.94US $ |1pcs New Dual H Bridge DC Stepper Motor Drive Controller Board Module L298N MOTOR DRIVER new hjxrhgal|Integrated Circu

Smarter Shopping, Better Living! Aliexpress.com

www.aliexpress.com

 

+ Recent posts