+ All Categories
Home > Engineering > Self balancing bot

Self balancing bot

Date post: 09-Jan-2017
Category:
Upload: vishnu-sasikumar
View: 1,047 times
Download: 2 times
Share this document with a friend
16
SELF BALANCING BOT BY VISHNU T.S.(SC13B127) VIVEK BABU(SC13B128)
Transcript
Page 1: Self balancing bot

SELF BALANCING BOTBY

VISHNU T.S.(SC13B127)VIVEK BABU(SC13B128)

Page 2: Self balancing bot

CONTENTS

• INTRODUCTION• MECHANICAL STRUCTURE• ATMEGA32 & DEVELOPMENT BOARD• DC MOTOR CONTROL VIA PWM• IMU – MPU6050• PID CONTROL

Page 3: Self balancing bot

COMPONENTS USED

• ATMEGA32 DEVELOPMENT BOARD• INERTIAL MEASUREMENT UNIT (MPU – 6050)• L293D MOTOR DRIVER BOARD• DC MOTOR (100RPM) – 2BODY• ACRYLIC SHEET• L BRACKETS 2 FOR MOTOR• L HINGES• PLASTIC WHEEL(10 MM DIA) - 2

Page 4: Self balancing bot

BASIC AIM

• TO INTERFACE THE DC MOTOR TO THE MICROCONTROLLER AND CONTROL IT VIA PWM.

• TO INTERFACE THE IMU(INERTIAL MEASUREMENT UNIT) TO THE MICROCONTROLLER.

• TO IMPLEMENT THE PID CONTROL SYSTEM.

Page 5: Self balancing bot

HOW TO DO IT

IT WILL BE PREVENTED FROM FALLING BY GIVING ACCELERATION TO THE WHEELS ACCORDING TO ITS INCLINATION FROM THE VERTICAL. IF THE BOT GETS TILTS BY AN ANGLE, THAN IN THE FRAME OF THE WHEELS, THE CENTRE OF MASS OF THE BOT WILL EXPERIENCE A PSEUDO FORCE WHICH WILL APPLY A TORQUE OPPOSITE TO THE DIRECTION OF TILT

Page 6: Self balancing bot

MECHANICAL STRUCTURE

• A THREE PLATFORM BODY WAS MADE USING ACRYLIC AND JOINED TOGETHER USING L-BRACKETS

• TWO 100RPM DC MOTORS WERE ATTACHED TO THE BODY VIA 2 L BRACKETS.

• TWO 10MM DIA WHEELS WERE ATTACHED TO THE MOTORS

Page 7: Self balancing bot
Page 8: Self balancing bot

ATMEGA32

Page 9: Self balancing bot

DC MOTOR INTERFACING

Page 10: Self balancing bot

• L293D MOTOR DRIVER USED TO DRIVE BOTH THE MOTORS.• L293D CONSISTS OF AN H-BRIDGE , WHICH HELPS IN SWITCHING THE POWER

SUPPLIED TO THE MOTOR AND HELPS IN ROTATING THE MOTORS IN BOTH DIRECTIONS WITHOUT THE NEED OF CHANGING THE CONNECTION.

• IN OUR CASE THE MOTOR WAS CONNECTED TO PORT A , WHILE THE ENABLE PINS WERE GIVEN TO THE OCR0 AND OCR2 PINS.

• DEPENDING ON THE VALUE GIVEN TO PORTA THE MOTORS WILL TURN CLOCKWISE OR ANTICLOCKWISE.

• THROUGH THE OCR0 & OCR2 PINS A PWM OF VARYING DUTY CYCLE WERE GIVEN BY PROGRAMMING THE TIMER REGISTER.

Page 11: Self balancing bot

INERTIAL MEASUREMENT UNIT (IMU)-MPU6050

Page 12: Self balancing bot

• BASED ON I2C INTERFACING , 4 PINS WERE TAKEN FROM THE MODULE 1. VCC = 5V2. GROUND3. SCL – CLOCK LINE (INPUT TO THE IMU)4. SDA – SERIAL DATA LINE(INPUT/OUTPUT OF THE IMU)5. MAX FREQUENCY OF 400KHZ , USED ON 100KHZ• THE IMU HAS 117 REGISTERS , CAN DO BASIC PROCESSING ON IT.• THE ACCELEROMETER VALUES + GYROSCOPE VALUES WERE TAKEN

FROM IT.

Page 13: Self balancing bot
Page 14: Self balancing bot

I2C PROTOCOL

• I2C IS OFTEN REFERRED TO AS TWI OR 2-WIRE-SERIAL. • I2C TUTORIAL : I2C BASIC COMMAND SEQUENCE. 1. SEND THE START BIT (S). 2. SEND THE SLAVE ADDRESS (ADDR). 3. SEND THE READ(R)-1 / WRITE(W)-0 BIT. 4. WAIT FOR/SEND AN ACKNOWLEDGE BIT (A). 5. SEND/RECEIVE THE DATA BYTE (8 BITS) (DATA). 6. EXPECT/SEND ACKNOWLEDGE BIT (A). 7. SEND THE STOP BIT (P).

Page 15: Self balancing bot

PID CONTROL SYSTEM

• A DIGITAL PID CONTROLLER WAS IMPLEMENTED• THE BASIC IDEA OF A NEGATIVE FEEDBACK SYSTEM IS THAT IT MEASURES THE PROCESS

OUTPUT Y FROM A SENSOR .• THE INPUT TO THE CONTROLLER IS THE ERROR OR DEVIATION FROM THE SETPOINT.• THE ERROR WILL BE USED ON THE PID CONTROLLER TO EXECUTE THE PROPORTIONAL

TERM, INTEGRAL TERM FOR REDUCTION OF STEADY STATE ERRORS, AND THE DERIVATIVE TERM TO HANDLE OVERSHOOTS

• CORRECTION = KP*ERROR + KI* ∫ERROR + KD* D/DT(ERROR)• KP , KI AND KD WERE SET BY TRIAL AND ERROR

Page 16: Self balancing bot

Recommended