Line Follower Robot Using Micro-controllers
-
Upload
abbas-hashmi -
Category
Documents
-
view
184 -
download
10
description
Transcript of Line Follower Robot Using Micro-controllers
LINE FOLLOWER ROBOTUSING
Micro-Controllers
WALCHAND INSTITUTE OF TECHNOLOGY,SOLAPUR
Robo Club
BY
WASI QAZI
What is a uC ?
In simple words -- a single chip Computer
Introduction
Computer
• uP• RAM• HDD• Clock• Ports (Serial/USB)• Ports (Parallel)• Mic/Headphone Jack (ADC/ DAC)• Power Supply Unit• Reset• Mother-board
uC
• uP• Flash Memory• EEPROM• Clock Unit• SPI / UART Controllers• Digital I/O Ports• ADC• Power Supply Unit• Reset• IC
Introduction
THE BLOCK DIAGRAM
Microcontroller H - BridgeDC Motor Control
LeftMotor
Right Motor
Clock12Mhz Main Power
SupplyMotor Power
Supply
HEX Inverter
Sensor Array
Analog Comparators
Threshold Voltage
Priority Encoder
NOR Gate
Sensors
• A sensor is a device which measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument.
• They are used to provide feedback from the external environment
IR Sensor Pair
Transmitter (Tx)
Receiver (Rx)
IR sensor PairObject / Line
Transmitter = LED( Light Emitting Diode)
Receiver = Photodiode
Principle of Operation
R1< R2
WHITE surfaceMaximum reflectionT1 is turned ONVout is LOW
BLACK surfaceMinimum or No ReflectionT1 is turned OFFVout is HIGH
ADC BY OP-AMP:
GND
+5v
Line Follower : Design
The bot has two IR sensors facing downwards (towards the floor).
The separation between the sensors is such that in normal (correct) position of the bot , both the sensors are on white surface. ie separation > strip width
The bot is driven by two wheel differential drive ie the two back wheels are driven by independent motors.
SleftSright
Line Follower : Algo
When the bot is in correct pos, both sensors are on white & read LOW. The robot should move forward in this case.
Sleft Sright Movement
LOW LOW Forward
SleftSright
Line Follower : Algo
When the bot is over line from right side, left sensor is on white & reads LOW whereas right sensor is on black & reads HIGH The robot should take a right turn in this case to come back in correct pos.
Sleft Sright Movement
LOW HIGH Right Turn
SleftSright
Line Follower : Algo
When the bot is over line from left side, right sensor is on white & reads LOW whereas left sensor is on black & reads HIGH The robot should take a left turn in this case to come back in correct pos.
Sleft Sright Movement
HIGH LOW Left Turn
Sleft
Sright
Line Follower
Sleft Sright Movement Left Motor Right Motor
LOW LOW Forward Forward Forward
LOW HIGH Right Turn Forward Back
HIGH LOW Left Turn Back Forward
Atmega16L : An Overview
8-bit Micro-cotroller
40-pin DIP
32 Programmable I/O Lines
Operating Voltages 2.7 - 5.5V
Speed Grades 0 - 8 MHz
16K Bytes of In-System Self-programmable Flash program memory
512 Bytes EEPROM
Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode
8-channel, 10-bit ADC
Programmable Serial USART
Master/Slave SPI Serial Interface
Programmable Watchdog Timer with Separate On-chip Oscillator
On-chip Analog Comparator
Pin diagram
Block Daigram
Simplified Diagram
4 8bit Parallel Input-Output ports through which you can i/p or o/p digital data.
Power Supply
Port Architecture
PORTA
DDRA
PINA
uC External world
Complete Program
A program to o/p 33 (hex) on PortD and configure and read pins 2 and 7 of Port A
#include <mega16.h>
void main( ){unsigned int x,y;
DDRD=0xFF; // all pins o/pDDRA=0b01111011; // pin 7 & 2 i/p rest immaterial
PORTD=0x33;x=PINA.2;y=PINA.7;}
L298N Motor Driver
Similarly other 2 o/p are connected /disconnected by I/p 3 & I/P 4
All the O/p’s operate independently, ie if all I/p 1-I/p 4 are 1, all O/p1 – O/p4 will be connected to +VPP
L298 can provide 1A current / Output channel , therefore total of 4A. But heat sinks should be installed for such high currents .
VPP can be anything in the range 2V- 46V , therefore any motor can be driven even though Atmega provides only 0/5 V.
ATMEGA
MOTORDRIVER
MOTOR
4 Inputs 4 Outputs
I/p 1 ( O/p from uC)
I/p 2
I/p 3
I/p 4O/p 4
O/p 3
O/p 2
O/p 1
If uC send ‘1’ to I/p 1, O/p is conn to + VPPGND
+VPP
If uC send ‘0’ to I/p 1, O/p is conn to GND
Working of Motor Driver
I/p 1 ( O/p from uC)
I/p 2
I/p 3
I/p 4O/p 4
O/p 3
O/p 2
O/p 1
If uC send ‘1’ to I/p 2, O/p is conn to + VPPGND
+VPP
If uC send ‘0’ to I/p 1, O/p is conn to GND
Working of Motor Driver
Working of Motor
H-BRIDGE MOTOR CONTROL
H-BRIDGE MOTOR CONTROL
H-BRIDGE MOTOR CONTROL
H-BRIDGE USING TRANSISTOR
I/p 1 ( O/p from uC)
I/p 2
I/p 3
I/p 4O/p 4
O/p 3
O/p 2
O/p 1
If uC send ‘1’ to I/p 2, O/p is conn to + VPPGND
+VPP
If uC send ‘0’ to I/p 1, O/p is conn to GND
Motor Connection for Clockwise:
I/p 1 ( O/p from uC)
I/p 2
I/p 3
I/p 4O/p 4
O/p 3
O/p 2
O/p 1
If uC send ‘1’ to I/p 2, O/p is conn to + VPPGND
+VPP
If uC send ‘0’ to I/p 1, O/p is conn to GND
Motor Connection for Anti-Clockwise:
SPEED CONTROL BY PWM