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
LEFT O
MOTOR
C SENSOR
MOTOR O ELECTRONI SESNSO
DRIVER N CS RS
T
RIGHT R
MOTOR O
L
L
E
R

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
Transmitter
frequency greater
IR led
than 1KHz

ADC High pass


of Peak filter , Cut- Receiver
Micro- Detector off freq IR Photodiode
control more than
ler 300Hz
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

ADC
convers
N0 Yes Read ADC
ion
comple value
te
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
Motors
controller

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 .

 Gear’s 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 Direction of


rotation
Positive Negative Clock wise

Negative Positive Anti clock wise

Logic Logic Directio


1 0 n
Clock
0 1 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 IC’s 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 5 – Lead stepper

6 – Lead stepper 8 – Lead stepper

www.amitraj.webs.com
Full Step driving of Stepper Motor

Full step wave drive

4 3 2 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

www.amitraj.webs.com
Full Step driving of Stepper Motor

Full step 2 phases active

4 3 2 1
1 1 0 0
0 1 1 0
0 0 1 1
1 0 0 1

www.amitraj.webs.com
Half Step driving of stepper motor

4 3 2 1
1 0 0 0
1 1 0 0
0 1 0 0
0 1 1 0
0 0 1 0
0 0 1 1
0 0 0 1
1 0 0 1

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 IC’s 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

A B C D

1 1 0 0

0 1 1 0

0 0 1 1

1 0 0 1

www.amitraj.webs.com
4 – Lead stepper 5 – Lead stepper

6 – Lead stepper 8 – Lead stepper

www.amitraj.webs.com
Sample program
for(p=0;p<=20;p+
+)
{ void delay(unsigned int
PORTD=0xA9; m)
delay(65); {
PORTD=0x65; unsigned int n;
delay(65); while(m--)
PORTD=0x56; for(n=0;n<=100;n++);
delay(65); }
PORTD=0x9A;
delay(65);
}
 With this SW Steppers can’t 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
Interrupt routine
timer
Give Pulse to
Start Timer stepper

Update Output
Is compare
Stepp register
No
er
target Wait
Reti
reach
ed

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 IC’s 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