You are on page 1of 25

DEPARTMENT OF ELECTRICAL ENGG.

Session : Jan-June 2017

“Speed Control Of D.C. Motor Using ARDUINO microcontroller”

Guided By: Prepared By:


Dr H.K. Verma Aayushi Pandya (0801EE163D01)
Prof. & Head Abiral Bharill (0801EE163D02)
Aman Naikya (0801EE163D03)
Ms. Deepali Kothari Sandhya Chouhan (0801EE163D09)
Asst. Prof. Sourabh Sahu (0801EE163D11)
EED,SGSITS,Indore
 Introduction
 Block diagram of project
 Hardware used
 Software tools required
 Circuit and Schematic diagram
 Results
 Application
 Advantages and Limitations
 Conclusion and Future Scope
 Bibliography
 This project is designed to control speed of a DC motor using an
Arduino development board. Speed of the DC motor is directly
proportional to the voltage applied across its terminals. Hence, if the
voltage across the motor terminal is varied, then the speed can also
be varied.

 To achieve the speed control an electronic technique called Pulse


Width Modulation is used which generates High and Low pulses.
These pulses vary the speed in the motor.

 For the generation of these pulses a microcontroller (ATmega328) is


used to set the speed ranges as per the requirement.
Fig. 1: Block diagram of proposed system
Hardware Used:
 Arduino UNO
 L293D Motor Driver IC
 12V DC Motor
 Push buttons
 10KΩ Potentiometer
 5V DC Adapter
 Connecting wires

Software Tools Used:


 Arduino 5.0.4(Example)
 Arduino IDE – for programming Arduino UNO
 The Arduino microcontroller is an easy to use yet powerful single board
computer that has gained considerable traction in the hobby and
professional market.

 The Arduino is open-source, which means hardware is reasonably priced


and development software is free.
Fig. 2: The Arduino UNO Board
 The electric and electromechanical methods are less adaptive
so electronic techniques are used for speed control.

 One such technique is Pulse Width Modulation.

 This technique can be applied in Microcontroller using


Arduino.

 It is easy to compile program with this language.


 The code written for the Arduino is executed by this controller and it is
directly connected to the input and output pins. The controller is
programmed via the Tx (transmitter) and Rx (receiver) pins connected to
the USB to serial controller and contains bootloader code. It can also be
programmed directly via the ICSP pin.

 The advantage of Arduino is that you can use it to be a piece of hardware


to program the bootloader through ICSP pin. A Bootloader allows us to
upload code without using any additional hardware.

 There is the power system, that chooses between the power jack and the
USB power and produces 5V and 3.3V for the rest of the system. There is
a USB to serial controller that that contains the bootloader which is used to
load programs into the ATMEGA328P.
 A DC Motor is a type of electric motor that converts DC electrical
power to mechanical power i.e. a DC supply is converted to rotation
or movement. DC motors are one of the commonly used motors in
different applications like electronic toys, power tools, portable fans,
etc.

Fig. 3: A DC Motor

 In this project, a small DC Motor is controlled with an Arduino and a


Motor Driver IC where both the speed of the motor and the direction
of rotation are controlled.
 L293D is a typical Motor driver or Motor Driver IC which allows DC
motor to drive in either direction.

 L293D is a 16-pin IC which can control a set of two DC motors


simultaneously in any direction.

 It can controls two DC motor with a single L293D IC.

 It has a Dual H-bridge Motor Driver integrated circuit(IC).


Fig. 4: L293D Motor Driver IC Pin Diagram
A push button is a momentary or non-latching switch which causes a temporary
change in the state of an electrical circuit only while the switch is physically
actuated. There are two types:

1) A push to make switch allows electricity to flow between its two contacts when
held in. When the button is released, the circuit is broken. This type of switch is
also known as a Normally Open (NO) Switch.

2) A push to break switch does the opposite, i.e. when the button is not pressed,
electricity can flow, but when it is pressed the circuit is broken. This type of
switch is also known as a Normally Closed (NC) Switch.

Fig. 5: Push Buttons


 A potentiometer, informally a pot, is a three terminal resistor with a sliding or
rotating contact that forms an adjustable voltage divider. If only two terminals are
used, one end and the wiper, it acts as a variable resistor or rheostat.

 The measuring instrument called a potentiometer, is essentially a voltage


divider used for measuring electric potential (voltage); the component is an
implementation of the same principle, hence its name.

Fig. 6: A Potentiometer
 The open-source Arduino Software (IDE) makes it easy to write code
and upload it to the board. It runs on Windows, Mac OS X, and Linux. The
environment is written in Java and based on Processing and other open-
source software.
 In fact, you already are; the Arduino language is merely a set
of C/C++ functions that can be called from your code. Your sketch
undergoes minor changes (e.g. automatic generation of function
prototypes) and then is passed directly to a C/C++ compiler(avr-g++).
 The Code:
The code you write for your Arduino are known as sketches. They
are written in C++.Every sketch needs two void type
functions, setup() and loop(). A void type function doesn’t return any
value.The setup() method is ran once at the just after the Arduino is
powered up and the loop() method is ran continuously afterwards.
The setup() is where you want to do any initialisation steps, and
in loop() you want to run the code you want to run over and over again.
Fig. 5: Snapshot of the Arduino IDE
Fig: Circuit Diagram
Fig:Schematic
Voltage vs Speed Chart
350
300
250
200
150
100
50
0
Categ Categ Categ Categ Categ Categ
Categ Categ Categ Categ Categ
ory 1 ory 2 ory 3 ory 4 ory 6 ory 9
ory 5 ory 7 ory 8 ory 10 ory 11
Voltage 2.3 3 4 5 6 7 8 9 10 11 12
Speed 0 30 48.4 67.9 91.6 102.5 148.6 192.6 215 288.4 295
 Microcontroller needs software like compiler to insert logics as
inputs.

 It cannot interface high power devices directly.

 It is susceptible to EMI (Electromagnetic Interference), sometimes


even produces audible noises.

 Speed control is little bit slow due to delay of clock pulse.


 The project can be enhanced by using power electronic devices such as
IGBTs to achieve the speed control higher capacity industrial motors and DC
Motor Controller.

Applications:
 Wide supply-voltage range: 4.5V to 36V
 Separate input- logic supply
 Internal ESD protection
 Thermal shutdown
 High-Noise-Immunity input
 Functional Replacements for SGS L293 and SGS L293D
 The Circuit was designed and implemented successfully. This project
can be enhanced by using power electronic devices such as IGBTs to
achieve the speed control higher capacity industrial motors and DC
Motor Controller.

 A motor-driver IC is interfaced to the Arduino board for receiving


PWM signals and delivering desired output for speed control of DC
motor.
 Basics of Arduino, Available at:
https://en.m.wikipedia.org/wiki/Arduino

 Arduino Details,Available at:


https://www.arduino.cc
https://learn.sparkfun.com/tutorials/what-is-
an-arduino
http://forefront.io/a/beginners-guide-to-
arduino/

You might also like