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