Arduino Based DC Motor Speed & Direction Control

DC Motors are found everywhere: electronics, toys, fans, tools, discs, pumps etc. DC Motor is an actuator that converts the DC supply to rotation or movement. There are different types of DC motors: Brushed DC motor, Brushless DC motor, Geared DC motor, Servo motor, Stepper motor and DC Linear Actuator. Different types of motors are used in different applications like Robotics, precision positioning, industrial automation etc.

Generally when a DC motor is associated with any microcontroller based system, it is often connected using a Motor Driver IC.  The Motor Driver IC provides the necessary current for the motor to run.  It can also control the direction of the rotation. We are here using L293d motor driver IC which has dual H-bridge driver circuit. We are changing speed of dc motor by changing potentiometer position. The speed of dc motor is controlled by PWM pulses generated by microcontroller. The microcontroller used here is Atmega328. The status of the circuit is displayed on 16×2 LCD.

SOFTWARE :

  • ARDUINO IDE
  • EMBDDED CPP CODE
  • PROTEUS SIMULATOR

HARDWARE :

  1. ATMEGA328 MCU (ARDUINO UNO)
  2.  DC MOTOR
  3. MOTOR DRIVER
  4. 16*2 LCD Display
  5. SWITCH
  6. REGULATED POWER SUPPLY