Beruflich Dokumente
Kultur Dokumente
ON
SUBMITTED BY
DEPARTMENT OF
ELECTRONICS ENGINEERING
Year 2009-2010
1. Aditya Mehta
2. Quresh Sutarwala
Students of Electronics Engineering have successfully completed their Project – A required for the
fulfillment of SEM VII as per the norms prescribed by the University of Mumbai during the second half
of the year 2009. The project report has been assessed and found to be satisfactory.
_______________ _______________
_______________ _______________
_______________
Internal Examiner
TABLE OF CONTENTS
1. INTRODUCTION
1.1 MOTIVATION
1.2 PROBLEM STATEMENT
2. THEORY
2.1 BLOCK DIAGRAM
2.2 WORKING PRINCIPLE
2.3 OVERVIEW OF BLOCK DIAGRAM
2.3.1 MICROCONTROLLER
2.3.4 MOTORS
3. SOFTWARE IMPLEMENTATION
4. WORK TO BE COMPLETED IN VIII SEMESTER
5. LITRETURE SURVEY
6. REFERENCES
1. INTRODUCTION
The aim of the project is to build a two wheeled autonomous balancing robot. This
robot will serve as a test bench to test various control algorithms for their
efficiency. The research on two wheeled robots has gained momentum over the
past decade. It is based on the inverted pendulum model. It needs a good control
algorithm to hold itself in an upright position. A number of different algorithms
can be used, which include Linear Quadratic Regulator, Proportional Integral
Derivative and Fuzzy Logic.
Through my project I intend to explore and exhibit the numerous features of the
AVR microcontroller. These features include interfacing the microcontroller to
sensors and actuators. Additionally I am interested in studying the PID controller,
in particular its application in balancing the robot. I would also like to develop a
control algorithm which would enable the robot to balance on a flat or sloping
terrain.
2. THEORY
The two wheeled autonomous balancing robot is based on the inverted pendulum
model. An inverted pendulum is an under actuated system. An under actuated
system is one in which. In order to balance the robot the motors must rotate in the
direction of the tilt. The balancing of the robot is achieved using feedback control.
The speed and direction of the motors is varied in accordance with the angle and
direction of tilt so as to ensure that the robot stays upright. Additionally feedback
from the shaft encoders will ensure that both the motors rotate at the same speed.
2.2 Block Diagram
2.3 Overview of Block Diagram
2.3.1 Microcontroller
The motor driver IC used is the L293D. It is based on the H-bridge architecture. It
can be used to control up to 2 DC motors at a time. The robot uses 2 L293D IC’s.
2.3.4 Motors
The robot has 2 110RPM DC motor which has been geared down to ___RPM. The
motors are mounted on the base of the robot. The shaft encoders mounted on the
motors are used to control motor speed and ensure that both the motors operate at
exactly the same speed.
3. SOFTWARE IMPLEMENTATION
The programming of the robot requires writing a code to control the speed of the
servo motors. The analog values obtained from the IMU must be filtered and
converted into digital form using the ADC converter of the microcontroller. The
PID control algorithm must be implemented. The PID constants must be
calculated. The system must be simulated, after which the algorithm can be tested
on the actual rob
A model of the robot will be made, which will be used to simulate the system.
Using the simulation the tuning of the PID controller will be carried out so as to
calculate the required constants. The program code to implement the PID
algorithm will be written. The code will be written in C language and loaded onto
the microcontroller. The code will process the values obtained from the IMU and
give the corresponding output to the motors.
4.2 Hardware
The circuit will be designed and built. It will include the microcontroller and
related circuitry. It will also include the motor drivers. The IMU unit will be
calibrated so as to obtain accurate readings. It will be interfaced with the ADC
ports of the microcontroller.
4.3 Actuators
The shaft encoders will be mounted on the motors. The shaft encoders will be
interfaced to the microcontroller and calibrated to provide accurate readings.