INTERFACING OF ARDUINO WITH MOTOR DRIVER

In this session, ARDUINO interfacing with Motor Driver L298N is discussed.

Motor Driver is used to control the motion of the motors. One Motor Driver can run two motors. Motor Driver L298N especially had a heat sink to dissipate the heat produced. It can with stand a voltage upto 35 V.

L298N works on the principle of Dual H Bridge.

It contains a voltage regulator.

The maximum current up to 2 AMPERE .

The maximum power consumption of 20W .

L298N can control the velocity of the motors.

It contains different ports to connect battery, motors and ARDUINO.

INTERFACING OF ARDUINO WITH MOTOR DRIVER
L298N    MOTOR DRIVER   SCHEMANTIC   VIEW

CONNECTING THE L298N TO ARDUINO

The connection of motor driver to the ARDUINO and pair of DC Motors is discussed in the following lines:

Ø The Motor Driver L298N contains the two pairs of ports on either sides as shown in fig 1 and these ports are connected to the pair of DC Motors.

Ø In the front side it contains a three pin terminal. It is the battery terminal and a 12V DC Battery can be connected. It contains a VCC pin, GROUND pin and a 5V ARDUINO pin.

Ø It contains another set of 6 pins. INPUT 1, INPUT2, INPUT3, INPUT4,      ENABLE  A and ENABLE B.

Ø INPUT1 and INPUT2 pins are the positive and negative terminals of Motor 1 and these are connected to the ARDUINO to control the rotation of the Motor 1.

Ø INPUT3 and INPUT4 pins are the positive and negative terminals of Motor 2 and these are connected to the ARDUINO to control the rotation of the Motor 2.

Ø ENABLE A and ENABLE B are the PWM pins and these pins are connected to the ARDUINO to control the speed of the Motor 1 and Motor 2.

PRINCIPLE  OF  WORKING  OF  MOTOR DRIVER

 

 

ARDUINO PROGRAM OF L298N

 

const int IN1 = 2;

const int IN2 = 3;

const int IN3 = 4;

const int IN4 = 5;

//const int ENA = 5;

//const int ENB = 6;

 

void setup()

{

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

  pinMode(IN3, OUTPUT);

  pinMode(IN4,OUTPUT);

 // pinMode(ENA,OUTPUT);

 // pinMode(ENB,OUTPUT);

}

void loop() {

 // analogWrite(ENA,255);

 // analogWrite(ENB,255);

 

  digitalWrite(IN1,LOW);

  digitalWrite(IN2,HIGH);

  digitalWrite(IN3,LOW);

  digitalWrite(IN4,LOW);

  delay(3000);

  digitalWrite(IN1,HIGH);

  digitalWrite(IN2,LOW);

  digitalWrite(IN3,LOW);

  digitalWrite(IN4,LOW);

  delay(3000);

  digitalWrite(IN1,LOW);

  digitalWrite(IN2,LOW);

  digitalWrite(IN3,HIGH);

  digitalWrite(IN4,LOW);

  delay(3000);

  digitalWrite(IN1,LOW);

  digitalWrite(IN2,HIGH);

  digitalWrite(IN3,LOW);

  digitalWrite(IN4,LOW);

  delay(3000);

  digitalWrite(IN1,LOW);

  digitalWrite(IN2,LOW);

  digitalWrite(IN3,LOW);

  digitalWrite(IN4,HIGH);

  delay(3000);

 

  exit(0);

}

 

After the complete writing of the above program in ARDUINO IDE , you can dump the code into the ARDUINO board.

ARDUINO CODE EXPLANATION OF L298N

After the successful connection of the L298N to the ARDUINO and MOTORS and successful program dumping, the rotation of the motors is done in the following way:

 

·        Initially the MOTOR 1 is rotated in clockwise direction.

·        Then, after 3 seconds it is rotated in anticlockwise direction.

·        Now after 3 seconds MOTOR 2 is rotated in anticlockwise direction.

·        Then after 3 seconds MOTOR 1 is rotated in clockwise direction.

·        Finally after 3 seconds MOTOR 2 is rotated in clockwise direction.

 

 

CONCLUSION

The above discussed information is used to program the ARDUINO and interface it with the L298N and control the rotation of the two DC Motors . The information and the discussion is the simple control of the motors and it is used to develop the motion in the robotics projects and this blog can easily help to develop the robo car that can be controlled autonomously or semi-autonomous. This blog on L298N can help to develop the connection of Motor Driver with the different manual control components like NRF module and the Double Pole Double Throw Switch commonly known as DPDT Switch. Finally this blog made you to learn the initial and basic knowledge related to the robotic projects.

Leave a Reply

Your email address will not be published. Required fields are marked *