34
Arduino Based DC Motor Speed Control

Arduino based dc motor speed control

Embed Size (px)

DESCRIPTION

This project is used to control the speed of brushless DC motor by using arduino development board with rpm display and pulse width modulation. It can be used in different industrial applications.

Citation preview

Page 1: Arduino based dc motor speed control

Arduino Based DC Motor Speed Control

Page 2: Arduino based dc motor speed control

http://www.edgefxkits.com/

Introduction

Arduino Based DC Motor Speed Control

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.

Page 4: Arduino based dc motor speed control

http://www.edgefxkits.com/

Hardware Requirements

Arduino Based DC Motor Speed Control

• Arduino develop Board• Crystal• DC Motor• Motor Driver IC• LED• Resistors• Capacitors• Diodes• Transformer• Voltage Regulator• Push Buttons.

Page 5: Arduino based dc motor speed control

http://www.edgefxkits.com/

Software Requirements

Arduino Based DC Motor Speed Control

Arduino software

Language: Arduino programming language

Page 6: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino

Arduino Based DC Motor Speed Control

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.

Page 8: Arduino based dc motor speed control

http://www.edgefxkits.com/

Working of Arduino

Arduino Based DC Motor Speed Control

Inexpensive :

• Arduino boards are relatively inexpensive compared to other microcontroller platforms.

Cross-platform :

• The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.

Page 9: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino Based DC Motor Speed Control

Programming environment :

• The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well.

Open source and extensible software :

• The Arduino software and is published as open source tools, available for extension by experienced programmers.

Working of Arduino

Page 10: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino Based DC Motor Speed Control

PWM The PWM switching frequency has to be much faster than what would

affect the load, which is to say the device that uses the power.

The term duty cycle describes the proportion of on time to the regular interval or period of time.

A low duty cycle corresponds to low power, because the power is off for most of the time. Duty cycle is expressed in percent, 100% being fully on.

Page 11: Arduino based dc motor speed control

http://www.edgefxkits.com/

PWM Applications

Arduino Based DC Motor Speed Control

Telecommunications

Power delivery

Voltage regulation

Audio effects and amplification.

Page 12: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

LED

LEDs are semiconductor devices are made out of silicon.

When current passes through the LED, it emits photons as a byproduct.

Normal light bulbs produce light by heating a metal filament until its white hot.

Page 13: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

LEDs present many advantages over traditional light sources including

Lower energy consumption.

Longer lifetime.

Improved Robustness.

Smaller Size.

Faster Switching.

LED

Page 14: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Most common LCDs connected to the microcontrollers are 16x2 and 20x2 displays.

This means 16 characters per line by 2 lines and 20 characters per line by 2 lines, respectively.

The standard is referred to as HD44780U.

It refers to the controller chip which receives data from an external source and communicates directly with the LCD.

Liquid Crystal Display (LCD)

Page 15: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

If an 8-bit data bus is used the LCD will require 11 data lines (3 control lines

plus the 8 lines for the data bus).

The three control lines are referred to as EN, RS, and RW.

EN=Enable (used to tell the LCD that you are sending it data).

RS=Register Select (When RS is low (0), data is treated as a command)

(When RS is High(1), data being sent is text data ).

R/W=Read/Write (When RW is low (0), the data written to the LCD)

(When RW is low (0), the data reading to the LCD).

LCD Background

Page 17: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

DC- Motor A DC motor is an electric motor that runs on direct current (DC)

electricity.

In any electric motor, operation is based on simple electromagnetism.

A simple 2-pole DC electric motor (here red represents a magnet or winding with a "North" polarization, while green represents a magnet or winding with a "South" polarization).

Page 18: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Every DC motor has six basic parts -- axle, rotor (a.k.a., armature), stator, commutator, field magnet(s), and brushes.

DC- Motor

Page 19: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Simplest DC Motor Circuit Connect the motor to a DC power supply.

Switch open Switch closed

Page 20: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Current Continues After Switch is Opened

Opening the switch does not immediately stop current in the motor windings.

Page 21: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Reverse Current Charge build-up can cause damage.

Page 22: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Motor Driver (l293d)

L293D is a typical Motor driver or Motor Driver IC which allows DC motor to drive on either direction.

L293D is a 16-pin IC which can control a set of two DC motors simultaneously in any direction.

Control two DC motor with a single L293D IC. Dual H-bridge Motor Driver integrated circuit(IC).

Page 23: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

L293D Pin Diagram

Page 24: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Working of L293D

There are 4 input pins for l293d, pin 2,7 on the left and pin 15 ,10 on the right as shown on the pin diagram.

Left input pins will regulate the rotation of motor connected across left side and right input for motor on the right hand side.

The motors are rotated on the basis of the inputs provided across the input pins as LOGIC 0 or LOGIC 1.

In simple you need to provide Logic 0 or 1 across the input pins for rotating the motor.

Page 25: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Circuit Diagram For l293d Motor Driver IC Controller

Page 26: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Voltage Specification

VCC is the voltage that it needs for its own internal operation 5v.

L293D will not use this voltage for driving the motor.

For driving the motors it has a separate provision to provide motor supply VSS (V supply).

L293d will use this to drive the motor.

It means if you want to operate a motor at 9V then you need to provide a Supply of 9V across VSS Motor supply.

Page 27: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

The maximum voltage for VSS motor supply is 36V.

It can supply a max current of 600mA per channel.

Since it can drive motors Up to 36v hence you can drive pretty big motors with this l293d.

VCC pin 16 is the voltage for its own internal Operation.

The maximum voltage ranges from 5v and up to 36v.

Voltage Specification

Page 28: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Output current 1A per channel (600 mA for L293D).

Peak output current 2 A per channel (1.2 A for L293D).

Output clamp diodes for Inductive Transient suppression(L293D).

Motor Driver Features

Page 29: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Working Principle The voltage supplied to a DC motor controls its speed.

Arduino cannot supply variable DC output.

Arduino lacks a true analog output.

Use Pulse-width modulation (PWM) to simulate a variable DC supply voltage.

PWM is a common technique for supplying variable power levels to “slow” electrical devices such as resistive loads, LEDs, and DC motors.

Arduino Uno has 6 PWM pins: Digital I/O pins 3, 5, 6, 9,10, and 11.

Page 31: Arduino based dc motor speed control

http://www.edgefxkits.com/

Applications:

Arduino based DC Motor Speed Control

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

Page 32: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Further Enhancement 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.

Page 33: Arduino based dc motor speed control

http://www.edgefxkits.com/

Arduino based DC Motor Speed Control

Conclusion The Circuit was designed and implemented. 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 a small DC motor.