This is an old revision of the document!


Self-Balancing Robot

Introducere

Self-balancing robot capable of moving while avoiding obstacles. This is a small-sized robot based on the Arduino Pro Mini development board and the MPU6050 accelerometer-gyroscope module.

It will help me understand the concept of self-balancing for a future OFF-ROAD robot project. I will use the PID library for this purpose.

Descriere generală

 Block diagram of the system

MPU6050 (Accelerometer + Gyroscope Module)

  • Connected to the Arduino via I²C:
  • SCL → A5 (SCL)
  • SDA → A4 (SDA)
  • Provides motion and tilt data for balance control.

Arduino Pro Mini

  • Central microcontroller managing sensor input and motor control.
  • Receives data from MPU6050 and controls the motor driver.
  • Pins 2, 3, 4, 5, 6, 7, 8, and 9 are used for communication and control.

DRV8833 (Motor Driver Module)

  • Receives control signals from Arduino to drive the left and right motors.
  • Outputs:
  • BOUT1, BOUT2 → Left Motor
  • AOUT1, AOUT2 → Right Motor

US-020 (Ultrasonic Distance Sensor)

  • Connected to Arduino for obstacle detection.
  • Uses TRIG and ECHO pins for distance measurements.
  • Helps in obstacle avoidance while balancing.

5V Regulators (x2)

  • Regulate power from the battery to provide a stable 5V supply.
  • One likely powers the Arduino and sensors; the other may power motors or logic.
  • Connected to battery terminals via red (+) and black (–) lines.

Battery

  • Provides the primary power source for all components via terminals.
  • Positive and negative rails are color-coded: red for +, black for –.

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/cmoarcas/nichita_adrian.bunu.1746459696.txt.gz · Last modified: 2025/05/05 18:41 by nichita_adrian.bunu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0