Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Making-Of-MicroMouse

VIEWS: 286 PAGES: 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

LEFT MOTOR MOTOR DRIVER RIGHT MOTOR

M I C R O 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 Transmitter IR led

ADC of Microcontrol ler

Peak Detector

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 .  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 Positive Negative Black wire Negative Positive Direction of rotation Clock wise Anti clock wise

Logic 1 0

Logic 0 1

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 Clock wise Anti Clock wise Pulse to A and C 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 1 0 0 0

3 0 1 0 0

2 0 0 1 0

1 0 0 0 1

www.amitraj.webs.com

Full Step driving of Stepper Motor
Full step 2 phases active

4 1 0 0 1

3 1 1 0 0

2 0 1 1 0

1 0 0 1 1

www.amitraj.webs.com

Half Step driving of stepper motor

4 1 1 0 0 0 0 0 1

3 0 1 1 1 0 0 0 0

2 0 0 0 1 1 1 0 0

1 0 0 0 0 0 1 1 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 1 0 0 1

B 1 1 0 0

C 0 1 1 0

D 0 0 1 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+ +) { PORTD=0xA9; delay(65); PORTD=0x65; delay(65); PORTD=0x56; delay(65); PORTD=0x9A; delay(65); }  With this SW Steppers can’t

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 Start Timer

Interrupt routine Give Pulse to stepper Update Output compare register Wait Reti

Is Stepp er target reach ed Yes Stop timer

No

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


								
To top