making of micromouse

54
MAKING OF MICROMOUSE www.amitraj.webs.com Amit Raj 2nd Yr ECE SASTRA University

Upload: alvarito12

Post on 13-Sep-2015

229 views

Category:

Documents


4 download

DESCRIPTION

Robotics

TRANSCRIPT

  • MAKING OF MICROMOUSE

    www.amitraj.webs.com

    Amit Raj2nd Yr ECESASTRA 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 .

  • MICRO

    CONTROLLER

    SESNSORS

    SENSORELECTRONI

    CSMOTORDRIVER

    LEFTMOTOR

    RIGHTMOTOR

    www.amitraj.webs.com

  • 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 LEDReceiver 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

    TransmitterIR led

    ReceiverIR Photodiode

    High pass filter , Cut-

    off freq more than

    300Hz

    Peak Detector

    ADC of

    Micro-control

    lerobstacle

  • 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 :

    SENSORS

    Top Down

    Side Looking

  • www.amitraj.webs.com

    Top Down

  • www.amitraj.webs.com

    Side looking sensors :

  • www.amitraj.webs.com

    Initialize ADC

    Start ADC

    ADC convers

    ion comple

    te

    Select ADC channel

    Read ADC value

    Stop

    YesN0

  • www.amitraj.webs.com

    Side looking

    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); }

    Sample code for ADC conversion in AVR controllers :Unsigned int left_adc;left_adc = adc(0xE0);

  • www.amitraj.webs.com

    Reducing error using PD controller :

    Error MotorsPDcontroller

  • 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 leftsideerr = 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 rightsideerr = 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 torque

  • www.amitraj.webs.com

    Choosing a DC Motor

    DC Motor with Gear head Operating voltage 12V Speed Depends on our applicationSome 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 Direction 1 0 Clock

    0 1 Anti clock

  • www.amitraj.webs.com

    Direction Pulse toClock wise A and CAnti Clock wise B and D

    Bi-Direction control of DC Motor

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

  • 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 stepper motor

  • PWM

  • www.amitraj.webs.com

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

    A B C D

    1 1 0 0

    0 1 1 0

    0 0 1 1

    1 0 0 1

    Bi Polar driving of Stepper Motor

  • 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

  • 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

    Is Stepp

    er target reach

    ed

    Wait

    Stop timer

    Give Pulse to stepper

    Update Output compare register

    Reti

    No

    Yes

    Interrupt routine

  • 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