Arduino - L298 Motor Shield

De TuxTI

Introdução

A shield de motor utiliza o chip L298P que permite conduzir 2 motores DC de 7V a 12V com corrente máxima de 2A. Esta shield pode ser ligada diretamente aos modelos Duemilano Uno, e Mega.

O controle de velocidade é feito por meio de PWM, que pode ser obtido a partir da saída PWM Arduino pino 5 e 6. A função de habilitar/desabilitar do drive motor é sinalizado pelos pinos digitais 4 e 7. A Shield de Motor pode ser alimentado diretamente a partir Arduino ou de fonte de energia externa. É Recomendado usar fonte de alimentação externa para alimentar a Shield de Motor.


350px-L298N Motor shield-3.jpg L298 2.jpg

Características

  • Voltagem de Controle Lógico: 5V (Fornecido pelo Arduino)
  • Voltagem do Drive do Motor: 6.5~12v(Alimentação pino VIN), 4.8~35V (Alimentação Externa)
  • Duas vias para controle de motores
  • Corrente de Alimentação Lógica ISS: ≤36mA
  • Corrente do Drive Motor IO: ≤2A
  • Consumo máximo de força: 25W(T=75℃)
  • Até 2A de corrente em cada via
  • Pinos 4,5,6,7 são usados ​​para conduzir dois motores DC
  • Suporta Controle de velocidade PWM
  • Suporta Controle Avançado de Velocidade PLL
  • Dimensões: 51mm x 57mm

Diagrama

625px-L298N Motor shield-4.jpg

Speed control mode: The shield supports PWM and PLL(Phased Locked Loop) control Modes. The PWM mode uses E1 and E2 to generate PWM signal. The PLL mode uses M1 and M2 to generate phase control signal,Version default PWM mode, if you want to PLL mode if necessary jumper.

Motor intelface Two DC motors are connected to blue motor terminals. The male header behide the terminals are the same as the motor terminals.

PWRIN: The motors can be powered by external power supply when the motor current exceeds the limits provided from the Arduino. The swith between external and Arduino power is implemented by key.

  • PWRIN: External Power
  • VIN: Arduino Power

NOTE: When the motor shield is powered by external power source, make sure the external power source and Arduino have the same GND.

Control Signal Truth Table:

L298N Motor shield-5.jpg

Note:H is High level ;L is Low level ;PWM is Pulse Width Modulation signal; X is any voltage level.


Pin Allocatio

PWM Mode

L298N Motor shield-6.jpg

PLL Mode

L298N Motor shield-7.jpg

Códigos de Exemplo

Controle de Velocidade PWM

 //Controle de Velocidade PWM:
 int E1 = 5;   
 int M1 = 4; 
 int E2 = 6;                       
 int M2 = 7;
void setup()  
{      
   pinMode(M1, OUTPUT);       
   pinMode(M2, OUTPUT); 
} 
  void loop() 
   { int value;   
     for(value = 0 ; value <= 255; value+=5)
    {
     digitalWrite(M1,HIGH);       
     digitalWrite(M2, HIGH);           
     analogWrite(E1, value);   //PWM Speed Control   
     analogWrite(E2, value);   //PWM Speed Control     
     delay(30);   
     }  
 }

Controle de Velocidade PLL

 //Arduino PLL Speed Control:
  int E1 = 4;    
  int M1 = 5; 
  int E2 = 7;                        
  int M2 = 6;
 void setup()  
  {      
     pinMode(M1, OUTPUT);       
     pinMode(M2, OUTPUT); 
   }  
 void loop()  
    { int value;   for(value = 0 ; value <= 255; value+=5)
      {   digitalWrite(M1,HIGH);      
          digitalWrite(M2, HIGH);           
          analogWrite(E1, value);   //PLL Speed Control    
          analogWrite(E2, value);   //PLL Speed Control    
      delay(30);   
         }   
     }

Recursos