You are on page 1of 54

MAKING OF

MICROMOUSE

Amit Raj
2nd Yr ECE
SASTRA University

www.amitraj.webs.com

INTRODUCTION

Micromouse is an autonomous robot


designed to reach the center of an unknown
maze in shortest possible time and distance
.

www.amitraj.webs.com

M
I
C
R
O

LEFT
MOTOR
MOTOR
DRIVER
RIGHT
MOTOR

C
O
N
T
R
O
L
L
E
R

SENSOR
ELECTRONI
CS

SESNSO
RS

www.amitraj.webs.com

Basic components of Micromouse:


Sensors
Motors
Microcontroller
Batteries

www.amitraj.webs.com

SENSORS
Your mouse is going to need sensors to tell it
about itself and its environment.
These are used to detect the presence or absence
of walls and to verify your position in the maze.
They will also be important in ensuring that the
mouse maintains an appropriate path without
hitting any walls

www.amitraj.webs.com

Sensors
Commonly used sensors in the field of robotics
IR Digital sensors
IR analog sensors

www.amitraj.webs.com

IR Digital sensors
Transmitter
IR led connected to 38KHz oscillator

Receiver
TSOP1738

Advantages
Detects an obstacle at a distance more than
1meter if tuned perfectly.
No ambient light effect.
Easy to use.

www.amitraj.webs.com

Designing a transmitter :
Use IC 555 in Astable mode

For approximate 50% duty cycle take Ra = 1


k ohm

www.amitraj.webs.com

Receiver :

www.amitraj.webs.com

IR Analog sensors
Transmitter
IR LED

Receiver
IR Photodiode
Advantages:
Can measure distance up to 15 cm.
Disadvantages:
Responds to IR rays present in ambient light.
Intensity of reflected rays is non-linear with respect to
distance of obstacle

www.amitraj.webs.com

IR Analog sensor

www.amitraj.webs.com

Modulate IR rays to avoid Ambient light effect :


Astable oscillator at
frequency greater
than 1KHz

ADC
of
Microcontrol
ler

Peak
Detector

Transmitter
IR led

High pass
filter , Cutoff freq
more than
300Hz

Receiver
IR Photodiode

obstacle

www.amitraj.webs.com

High-Pass filter :

www.amitraj.webs.com

Peak Detector:

www.amitraj.webs.com

Errors involved in mouse movement :


Forward error:

Forward errors begins


when a mouse is either
too close or too far from
the wall ahead

www.amitraj.webs.com

Errors involved in mouse movement :


Offset error :

Offset errors, which happens


often, is caused by being too
far to the left or to the right as
you pass through a cell

www.amitraj.webs.com

Errors involved in mouse movement :


Heading error:

Heading error is known as


pointing at walls rather than down
the middle of the cell

www.amitraj.webs.com

Commonly used Sensor arrangement :

Top Down
Side Looking

SENSORS

www.amitraj.webs.com

Top Down

www.amitraj.webs.com

Side looking sensors :

www.amitraj.webs.com

Initialize ADC
Select ADC
channel

Start ADC

N0

ADC
convers
ion
comple
te

Yes

Read ADC
value
Stop

www.amitraj.webs.com

Side looking
Sample code for ADC conversion in AVR controllers :
Unsigned int left_adc;
left_adc = adc(0xE0);
unsigned int adc(unsigned int temp)
{
ADMUX = temp;
//selects ADC channel
ADCSRA |= 0x40;
//starts ADC
while(conversion_not_over()); //waits till ADC conversion
completes
ADCSRA |= 0x10;
// clears ADIF flag
return(ADCH);
// returns ADC result
}
int conversion_not_over(void)
{
unsigned int temp;
temp = ADCSRA;
temp = temp & 0x10; // checks for ADIF
flag
return(!temp);
}

www.amitraj.webs.com

Reducing error using PD controller :

Error

PD
controller

Motors

www.amitraj.webs.com

Error calculating:
If wall is on both sides
err = left_adc right_adc;
If err is +ve
Mouse is near to left wall and as a correction it has to move
towards right wall
If wall is only on leftside
err = left_adc reff_value;
If err is +ve
Mouse is near to left wall and as a correction it has to move
towards right wall
If wall is only on rightside
err = right_adc reff_value;
If err is +ve
Mouse is near to right wall and as a correction it has to move
towards left wall
www.amitraj.webs.com

Implementing PD controller:

err_d = err err_past;


adj = err * kp + err_d * kd ;
kp is proportional controller constant
kd is derivative controller constant
The value of adj is used to either
speed up or speed down one of the
wheel .
www.amitraj.webs.com

DC Motor
DC Motors are small, inexpensive and powerful
motors used widely.

These are widely used in robotics for their small size


and high energy out.
A typical DC motor operates at speeds that are far
too high speed to be useful, and torque that are far too
low.
Gear reduction is the standard method by which a
motor is made useful .
Gears reduce the speed of motor and increases the
www.amitraj.webs.com
torque

Choosing a DC Motor
DC Motor with Gear
head
Operating voltage 12V
Speed
Depends on our
application
Some available speeds in
market
30 RPM
60 RPM
100 RPM
150 RPM
350 RPM
1000 RPM

www.amitraj.webs.com

Drive basics of DC Motor


Red wire

Black wire

Positive

Negative

Negative

Logic
1
0

Positive

Logic
0
1

Direction of
rotation
Clock wise
Anti clock wise

Directio
n
Clock
Anti
clock

www.amitraj.webs.com

Bi-Direction control of DC Motor


H-Bridge Ckt using transistors for
bidirectional driving of DC motor
Direction

Pulse to

Clock wise

A and C

Anti Clock wise

B and D

www.amitraj.webs.com

H-Bridges in ICs to reduce the drive circuit


complexity
The most commonly used H-Bridges are
L293D and
L298
L293D has maximum current rating of
600ma
L298 has maximum current rating of 2A
Both has 2 H-Bridges in them
These are designed to drive inductive loads
such as
relays, solenoids
Can be used to drive 2 DC
motors or 1
www.amitraj.webs.com
stepper motor

PWM

STEPPER
MOTOR

STEPPER MOTOR is a brushless DC motor whose


rotor rotates in discrete angular increments when
its stator windings are energized in a programmed
manner.
Rotation occurs because of magnetic interaction
between rotor poles and poles of sequentially
energized stator windings.
The rotor has no electrical windings, but has
salient and/or magnetized poles.

www.amitraj.webs.com

4 Lead stepper

6 Lead stepper

5 Lead stepper

8 Lead stepper

www.amitraj.webs.com

Full Step driving of Stepper Motor


Full step wave drive

www.amitraj.webs.com

Full Step driving of Stepper Motor


Full step 2 phases active

www.amitraj.webs.com

Half Step driving of stepper motor

www.amitraj.webs.com

Choosing a Stepper motor


12 V or 5 V operating voltage
1.8 degree step
6 Lead
250 to 500 ma of current
or
Coil resistance of 20 ohms to 40 ohms
Size and shape depends on application
In most of the robotics cube shaped
motors are preferred with frame size of 3.9
to 4 cm

www.amitraj.webs.com

Commonly used ICs for driving Stepper motor


ULN2803
It has 8 channels
It channel has maximum current rating of
500ma
can be used to drive 2 unipolar stepper motors
L293d
L297 & L298
UDN2916

www.amitraj.webs.com

ULN2803

www.amitraj.webs.com

Bi Polar driving of Stepper Motor

www.amitraj.webs.com

4 Lead stepper

6 Lead stepper

5 Lead stepper

8 Lead stepper

www.amitraj.webs.com

Sample program
for(p=0;p<=20;p+
+)
{
PORTD=0xA9;
delay(65);
PORTD=0x65;
delay(65);
PORTD=0x56;
delay(65);
PORTD=0x9A;
delay(65);
}
With this
SW Steppers cant

void delay(unsigned int


m)
{
unsigned int n;
while(m--)
for(n=0;n<=100;n++);
}

be controlled individually

www.amitraj.webs.com

SW for steppers :
Use timers to create delay.
Use Clear Timer on Compare match
or
Normal Mode

www.amitraj.webs.com

Initialize
timer

Interrupt routine
Give Pulse to
stepper

Start Timer

Is
Stepp
er
target
reach
ed

Update Output
compare
register

No
Wait

Reti

Yes
Stop
timer

www.amitraj.webs.com

Chopper Driving:
For better performance of Steppers they should be
over driven and current should be limited .
For example a 5 V 500ma motor can be driven at
more than 15V but current in the coil should be
limited to approximately 500ma .

www.amitraj.webs.com

Methods of current limiting :


Traditional method of using a resistor of
appropriate power in series with common terminal.
This method is not recommended as there will be
huge power wasted in the series resistor.

www.amitraj.webs.com

Best method of current limiting :


Pulse Width Modulation
Motors should be driven at 3 to 4 times the rated
voltage.
Measure the current in the coil if it raises to 10%
more than the limit switch off the supply to motors .
If it falls to 10% below the limit switch on the
supply to motors .
Few ICs that can do the current chopping
1. L297 & L298
2. UDN 2916
3. UCN 5804

www.amitraj.webs.com

Microcontroller:
Choose the controller that has sufficient
Amount of FLASH memory to store your program
Amount of RAM memory for variables
Number of Timers
Min of TWO 16 bit timers or ONE 16 bit timer with
TWO output compare channels
and ONE 8 bit
timer
Number of ADC channels
Good operating speed
ATMEGA32 of Amtel made is one that is suitable

www.amitraj.webs.com

Batteries:
Choose batteries that can provide high voltage and high power with
low weight
Should have current capacity more than 700 mah
Ni-MH & Ni-Cds
Can provides high current at 1.2 V
Can be charged by Constant Current or Constant Voltage chargers
Li Ion
Can provide high current at 3.6v
Should be charged using CCCV charger .

www.amitraj.webs.com

You can download this


presentation at
www.amitraj.webs.com

www.amitraj.webs.com

You might also like