You are on page 1of 28

ESSENTIALS OF MOTORS

AND MOTOR DRIVER

INTERFACING PROXIMITY SENSOR WITH MOTOR

MOTOR : WHAT IS IT?


ElectricalMotorsare continuous actuators that convert electrical
energy into mechanical energy in the form of a continuous angular
rotation that can be used to rotate pumps, fans, compressors, wheels,
etc.

MOTORS EVERYWHERE!
Refrigerator- Two or three in fact: one for
the compressor, one for the fan inside the
refrigerator
Tape playerin the answering machine
Vacuum cleaner
Electric drill
Fan
Electric toothbrush
Hair dryer
Power seats (up to seven motors per seat)
Windshield wipers

MOTOR : TYPES
If you plan to get involved in robotics, you will need to
familiarize yourself with the many types of motors available.

BRUSHED DC MOTOR

MOTOR : TYPES
GEARED DC
MOTOR
DC motors are often coupled
with gears which provide greater
torque, but reducing speed.

MOTOR : TYPES

SERVO MOTOR
BRUSHLESS DC
MOTOR

STEPPER
MOTOR

LINEAR DC
MOTOR

MOTOR : INPUTS
INPUT AT INPUT AT OUTPUT
A
B
1

ROTATES
CLOCKWI
SE

ROTATES
ANTICLOC
KWISE

STOPS

STOPS

MOTOR DRIVER
A motor driver is an electronic device that acts as an
intermediate device between a microcontroller, a
powersupplyor batteries, and the motors.
Why do we not connect our motor directly to the mcu?
The motor draws very high current much higher than the
operating current of the mcu.
Thus,themicrocontrollerand the motor driver have to work
together in order to make the motors moveappropriately.

Integrated Circuits (IC)

An integrated circuit (also referred


to as an IC, a chip, or a microchip)
is a set of electronic circuits on one
small plate or chip of semiconductor
material, normally silicon.

MOTOR DRIVER :
DC Motor Control:

Nominal voltage.: DC motor controllers tend to offer a voltage range.


Forexample, if your motor operates at 3V nominal, you should not
select a motor controller that can only control a motor between 6V and
9V
Continuous current: You need to find a motor controller that will
provide current equal to or above the motors continuous current
consumption under load. Should you choose a 5A motor controller for a
3A motor, the motors will only take as much current as they require.
On the other hand, a 5A motors is likely to burn a 3A motor controller.

WORKING:

L293D AN H-BRIDGE

Using H-bridge circuit, you can supply current in two directions.Thats it.
Lets say you have a DC motor, as in the diagram below:
If you
Close both S1 and S2?
Close S3 and S4.
Close switches S1 and S4
Close S3 and S2
Direction of rotation in last two cases?
This is exactly whats needed in most robotics projects using differential
drive wheels. But having physical switches would be very inconvenient.
So an electronically controlled switch: a transistor is used.

PIN DIAGRAM
Vcc1 : logical voltage supply
for a 1
Vcc 2is the actual voltage that
needs to be output
GNDrepresents grounds. These
are needed for the multiple solid
state switches that are burned
into the IC.
ENABLEpins enable/disable the
corresponding sides.

HOW TO SET-UP CONNECTIONS

HOW TO MAKE IT WORK


IF you put a logical 1 into INPUT1
Then the chip will simply put Vs volts into
OUTPUT1.
Similarly, if you put a logical 0 into INPUT1, the
chip will ground OUTPUT1
.
That is Putting a logical 1 into INPUTx will put Vs
volts in OUTPUTx. And putting a 0 grounds the
corresponding pin.
One word of caution though. You can use a
maximum of 0.5A of current over each OUTPUTx
pin. Use a bit more and you risk fusing the chip.

INTRODUCTION TO
MICROCONTROLLERS

ROBOTICS AND MACHINE INTELLIGENCE


NIT TRICHY

What is a Microcontroller?
Mcu is similar to your
home computer.
At the same time, it is
different from your
home computer. how?
The computing power
is much scaled down in
your microcontroller
compared to your
laptop.

Microcontroller vs. Microprocessor


Microprocessor(Laptops,
Desktops etc.)

Used to execute big and


generic applications
Very high processor speeds
of the order of GHz (many
times faster)
It is a stand alone device.
RAM, ROM, I/O peripherals
and Timers have to be
interfaced separately
Suited for applications where
time and accuracy are
critical (Personal Computers)

Microcontroller(Atmega8)

Used to execute a single


task with one application

Much lower processing


speeds ranging from as
low as 4kHz to a few MHz

The CPU, RAM, ROM, I/O


Peripherals and Timers
are all on the same chip

Suited for applications


where cost, power and
space are critical
(Embedded Systems)

Features of a Microcontroller
Block
Diagram

Architecture : Harvard or Von


Neumann; RISC or CISC

Speeds of up to 16 MIPS

ISP Flash Memory, EEPROM,


SRAM

General Purpose I/O Registers


(GPIO)

Internal Calibrated Oscillator and


external clocking options

8 bit and 16 bit Timer/Counters

ADC and PWM Features

External and Internal Interrupt


sources

Programmable Watchdog Timers

USART, SPI and I2C Interfaces

PDIP, TQFP or QFN Packaging

Microcontroller Families

Examples of the different series of microcontrollers are:

8051(At89s52)

AVR (Atmega8/16)

PIC (PIC10F)

ARM (LPC2148)

MSP (MSP430)

WHY AVR?

Advanced RISC Architecture

In System Programmability (ISP) Mode

Inbuilt 10 bit ADC

Very low cost microcontrollers are available

Supported by the GNU Compiler Collection (GCC)

Three sub families : TinyAVR, MegaAVR, XMegaAVR

ATMEGA 8 Pin Diagram

Features of an ATMEGA 8

Up to 16MIPS Throughput at 16MHz


8Kbytes of In-System Self-programmable
Flash program memory
Data retention: 20 years at 85C/100 years at
25C
In-System Programming by On-chip Boot
Program
True Read-While-Write Operation
3 I/O Ports
Comes in a 28 pin package.

Description of each pin


Pin 1 (Reset):

When this pin is pulled low microcontroller get reset.


Reset means code start executing from the beginning.
In normal mode of execution it should have at least 2.7V. Thus
it is connected to +5 volts through 10k ohm resistance to
make sure voltage on reset pin should be above 2.7 for proper
execution of code.

Pin 7 and 20 (Vcc):

Pin 7 and 20 are connected to Power supply. (2.7 to 5.5 volt)

Pin 8 and 22 (Ground):

Pin 8 and 22 are connected to Ground. Ground must be


common to for the entire circuit.

Input and Output Ports

In ATmega8 we have three I/O (input/output) ports, Port B,


Port C, Port D.
Any pin can be configured as input or output pin by software.

I/O in AVR

Input/output happens through the


specified pins in AVR. A group (generally
consisting of 8 pins) is called a PORT.
Each port has associated registers with
it that help in acquiring/transmitting the
data from/to the pins and also
configuring them.

Headers and registers for


I/O
The header avr/io.h is the library in
which all the I/O commands are defined.
Syntax: #include<avr/io.h>
Every port in AVR (which 8 bit and hence
has 8 pins) will have three I/O registers
associated with it:
DDRx Data Direction Register
PORTx Output Operation
PINx Input Operation

Configuring I/O pins


The value of DDR that is set by the programmer
is what decides whether the particular pin in the
MCU will behave as an input or as an output pin.
If a specific bit of the DDRx is set to 1 then it
behaves as an output pin while the value 0
makes it behave as an input pin. For example:

DDRD = 0b00001111;
The above line configures the lower nibble of
PORTD to output and the higher nibble to input.

Taking inputs The PINx Register


PINx (Port IN) is used to read data from port pins.
In order to read the data from port pin, first you have to
change ports data direction to input.
If port is made output, then reading PINx register will give
you data that has been output on port pins.
This register cannot be used to output data on to the pins
To read data from port A.
DDRA = 0x00; //Set port a as input
x = PINA; //Read contents of port a

The above code will store the input value into the variable x.

The PORTx register

It is mainly used to output data.


To output 0xFF data on port B:
DDRB = 0b11111111; //set as output
PORTB = 0b11111111; //write data on port

It is also used to activate/deactivate the


pull up resistors when port is configured
as input.
The value 1 actiavtes the pull up
resistors while 0 will deactivate them.

THANK YOU
THE END

You might also like