Академический Документы
Профессиональный Документы
Культура Документы
NIT Warangal
ACKNOWLEDGEMENT
NIT Warangal
AGENDA
• Introduction
• Concept
• Stepper Motor Basics
• Parallel port programming
• Robocar – an application
Mobile robot
• Discussion
<http://frontier123.blogspot.com>/
Evolution
<http://frontier123.blogspot.com>/
Laws of Robotics
(Asimov, 1942)
First Law: A robot may not injure a human being, or, through
inaction, allow a human being to come to harm, unless this would
violate a higher order law.
<http://frontier123.blogspot.com>/
What is Robotics science?
<http://frontier123.blogspot.com>/
APPLICATION
Edutainment
¾ Educational Robots, Robot Toys, Entertainment, Robotic Art
Outdoor Robotics
¾ Land, Sea, Air, Space Æ Wheeled Mobile Robot
Advanced production systems
¾ Industrial robotics
Adaptive robot servants and intelligent homes
¾ Indoor Service Robots, Ubiquitous Robotics
Network Robotics
¾ Internet Robotics, Robot ecology
Health Care and Life Quality
¾ Surgical Robotics, Bio-Robotics, Assistive Technology
Military Robotics
¾ Intelligent Weapons, Robot Soldiers, Super-humans
<http://frontier123.blogspot.com>/
Wheeled Mobile Robot…
<http://frontier123.blogspot.com>/
AGENDA
• Introduction
• Concept
• Stepper Motor Basics
• Parallel port programming
• Robocar – an application
Mobile robot
• Discussion
<http://frontier123.blogspot.com>/
CONCEPT
¾ Mechanics (31%)
¾ Electronics (29%)
¾ Mathematical modeling
concepts (21%)
¾ Software (19%)
<http://frontier123.blogspot.com>/
MECHANICS
Selection of motor
¾ Brushed DC motor Æ Common
¾ Brushless DC motor Æ High speed requirement
¾ Servo motor Æ Feedback requirement
¾ Stepper Motor Æ Better control, but slow
<http://frontier123.blogspot.com>/
CONTINUED…
Requirements:
¾ Aluminum sheets
¾ Nuts and bolts
¾ Hacksaw (for cutting)
¾ File (for smoothening)
¾ Rubber wheels with better grips
¾ Front free wheel
Aluminum chasis
Front free wheel
Two back wheels controlled by motor
Wheels coupled to stepper motors
<http://frontier123.blogspot.com>/
electronics
Basic components
¾ Resistors (1/4 W, ½ W) (Fixed/Variable)
¾ Capacitors (Electrolytic, Ceramic)
¾ ICs, Transistors, Diodes, voltage regulator
¾ LEDs
Other requirements
¾ Power supply
¾ Connecting wires, cables
¾ Twisser, Stripper
¾ Bread board, Vero-board
<http://frontier123.blogspot.com>/
Identifying components
<http://frontier123.blogspot.com>/
TOOLS and Equipments
Twisser and stripper Soldering rod, flux and Lead Digital Multimeter
<http://frontier123.blogspot.com>/
CIRCUIT BUILDING
¾ First, test the circuit on bread-board if using first time.
<http://frontier123.blogspot.com>/
CONTINUED…
<http://frontier123.blogspot.com>/
Mathematical Modeling
<http://frontier123.blogspot.com>/
Algorithm For Turning
Fig. one wheel Fig. Two wheel turning Fig. One wheel
moving and the in forward and moving faster
other stopped backward direction than other
<http://frontier123.blogspot.com>/
… CONTINUED
yc=(200/2π * y) steps
<http://frontier123.blogspot.com>/
SOFTWARE
¾ C/C++
» Basic Linux environment
» Serial/Parallel port interfacing
¾ Assembly language
Emulator
Embedded software developer
» Keil
» EZ programmer
<http://frontier123.blogspot.com>/
AGENDA
• Introduction
• Concept
• Stepper Motor Basics
• Parallel port programming
• Robocar – an application
Mobile robot
• Discussion
<http://frontier123.blogspot.com>/
Stepper Motor
Modes of operation
Configurations ¾ Full step
¾ Bipolar ¾ Half step
¾ Unipolar ¾ Micro stepping
<http://frontier123.blogspot.com>/
Merits Stepper Motor
<http://frontier123.blogspot.com>/
Demerits of Stepper Motor
¾ Costly.
<http://frontier123.blogspot.com>/
Characteristics
<http://frontier123.blogspot.com>/
Modes of Operation
Stepping Sequence
a) Scheme-I b) Scheme-II
Fig. Full Stepping Mode
<http://frontier123.blogspot.com>/
Fundamental Operation
ÅCross-section
Stepper MotorÆ
<http://frontier123.blogspot.com>/
SEQUENCE FOR DRIVING STEPPER MOTOR
A sequence (A Æ 6 Æ 5 Æ 9) will
move the motor in one direction
and the reverse sequence will
change the direction.
Repeat the same 4 steps of
sequences, and a total of 200 (from
specification) steps will make one
revolution.
<http://frontier123.blogspot.com>/
STEPPER MOTOR INTERFACING DETAILS
<http://frontier123.blogspot.com>/
CIRCUIT CONNECTIONS
Vcc=12V is given to 10th pin and ground of SPP & Power supply is
together connected to 9th pin of driver IC ‘ULN 2803’.
Data pins are connected to driver IC, accordingly sequence of inputs
for clockwise/anti-clockwise movement is given.
Output of IC is given to data pins of motor.
Two common points of motor is connected to 12V RPS.
<http://frontier123.blogspot.com>/
…CIRCUIT CONNECTIONS
<http://frontier123.blogspot.com>/
AGENDA
• Introduction
• Concept
• Stepper Motor Basics
• Parallel port programming
• Robocar – an application
Mobile robot
• Discussion
<http://frontier123.blogspot.com>/
Parallel Port programming
<http://frontier123.blogspot.com>/
PARALLEL PORTS (DB-25)
<http://frontier123.blogspot.com>/
HARDWARE SETTING
To find the existing port in windows:
Click on control panel → system → hardware device
manager → ports → Printer port(LPT1) →
Resources
The parallel port’s hardware
includes the back-panel
connector and the circuits and
cabling between the connector
and the system’s expansion bus.
The PC’s microprocessor uses
the expansion bus’s data,
address, and control lines to
transfer information between the
parallel port and the CPU,
memory, and other system
components.
<http://frontier123.blogspot.com>/
DB25 CONNECTOR
<http://frontier123.blogspot.com>/
ADDRESSING
<http://frontier123.blogspot.com>/
PIN CONFIGURATIONS (DB25):
2 Data 0 11 Busy
4 Data 2 13 Select
6 Data 4 15 Error
7 Data 5 16 Init
8 Data 6 17 Select In
<http://frontier123.blogspot.com>/
PROGRAMMING SPP UNDER LINUX
• I/O port operations with Linux is simple. You should be root login to
access port.
<http://frontier123.blogspot.com>/
FUNCTIONS used…
outb writes the low byte of value to portid, the high byte to portid
+ 1, the function is defined as:
void outb(value, portid);
inb reads the low byte of a word from portid, the high byte from
portid + 2, the syntax is:
int inb(portid);
ioperm sets the port access permission bits for the process for num
bytes starting from port address from to the value turn_on. The
use of ioperm requires root privileges.
int ioperm(unsigned long from, unsigned long num, int turn_on);
<http://frontier123.blogspot.com>/
INITIALIZATION OF VARIABLES
#include <sys/io.h>
#include<stdio.h>
#define PORTADDRESS 0x378 /* Base Port Address */
#define DATA PORTADDRESS+0
#define STATUS PORTADDRESS+1
#define CONTROL PORTADDRESS+2
int main()
{
if(ioperm(0x378,3,1)) exit(1); //obtain hardware i/o access
…
return 0;
}
<http://frontier123.blogspot.com>/
AN EXAMPLE
Simple programs can be now written as such as can be tested by
glowing LED (Light Emitting Diode):
#include <sys/io.h>
#include <unistd.h>
int main()
{
char a; //store 8 bit data
if(ioperm(0x378,3,1)) exit(1);
outb(0xF0,0x378); //write 1111 0000 to data line
a = inb(0x378+1); //read data from input status register
cout<<“\nCharacter read : “<<a;
print(“\nHello parallel port\n”);
return 0;
}
<http://frontier123.blogspot.com>/
LEDs interfacing
<http://frontier123.blogspot.com>/
SAMPLE FUNCTION CODE FOR
STEPPER MOTOR CONTROL
<http://frontier123.blogspot.com>/
AGENDA
• Introduction
• Concept
• Stepper Motor Basics
• Parallel port programming
• Robocar – an application
Mobile robot
• Discussion
<http://frontier123.blogspot.com>/
Pre-programmed
LINE Follower Robot
<http://frontier123.blogspot.com>/
Video Demonstration
pre-programmed Line Follower
<http://frontier123.blogspot.com>/
Points to be noted…
<http://frontier123.blogspot.com>/
Remote controlled robot
<http://frontier123.blogspot.com>/
Video Demonstration
Remote controlled Roborace
<http://frontier123.blogspot.com>/
Points to be noted…
<http://frontier123.blogspot.com>/
What’s Ahead?
<http://frontier123.blogspot.com>/
AGENDA
• Introduction
• Concept
• Stepper Motor Basics
• Parallel port programming
• Robocar – an application Mobile
robot
• Discussion
<http://frontier123.blogspot.com>/
Conclusions
<http://frontier123.blogspot.com>/
Useful Links
1. Datasheets
MCU
http://www.atmel.com/dyn/resources/prod_documents/doc0265.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
Driver ICs
http://www.ortodoxism.ro/datasheets/motorola/ULN2804A.pdf
Voltage regulator
http://cache.national.com/ds/LM/LM341.pdf
Sensors
http://www.vishay.com/docs/82030/82030.pdf
2. Softwares
http://www.keil.com/dd/chip/2976.htm
http://www.electronics-lab.com/downloads/cnt/fclick.php?fid=21
<http://frontier123.blogspot.com>/
Thanks
"It's not that i am genius,
but i stay a little longer
with problems" - Einstein.
<http://frontier123.blogspot.com>/