Mini-SumoBot

Autor: Gancea Ionatan
Grupa: 336CB

Email: Toni Gancea

Introducere

Documentatie pentru proiectul Mini-SumoBot - PM Fair 2019

Descriere generală

Robot-sumo, sau pepe-sumo, este un sport in care 2 roboti incearca sa se scoata unul pe altul din arena. Arena este de obicei un cerc negru delimitat de margini albe (in aceeasi idee ca sportul sumo original). Robotii folositi in astfel de competitii se numesc sumo-boti.

Proiectul Mini-SumoBot se va concentra pe construirea unui astfel de robot care va trebui să se ferească de marginea arenei și să își învingă adversarul. Acest robot se va alimenta de la niste baterii si se va deplasa cu ajutorul a doua motoare (la care sunt atasate roti).

Pentru a detecta marginea arenei, robotul va folosi un senzor IR. Odata ce acest senzor sesizeaza ca robotul e pe cale sa paraseasca arena, logica de control va comanda motoarelor o secventa de comenzi care va trebui sa intoarca robotul in arena.

Schema bloc

Schema porturilor:

Software Design

Cum trimitem semnal spre motoare?

Sunt folositi pinii PB3 & PB4 (de la timer 0) si pinii PD6 & PD7 (de la timer 2) prin care se trimite semnal folosind PWM.

Timerul trimite semnal '1' pe cele 2 canale (A si B) si '0' cand ajunge la prag.

Asadar, prin controlul pragului (registrele OCRxA & OCRxB) putem controla semnalul care ajunge la fiecare borna a fiecarui motor folosind doar pinii de directie (INT 1-4 de la driverul de motor).

Prin urmare, setarea pragului (OCR0A de exemplu) pe 0 va determina ca pe pinul corespunzator - OC0A (adica PB3) sa fie trimis '0' (asadar motorul oprit). Invers pentru '1' - setam un prag maxim (0xFF).

Senzorul IR

Cand senzorul IR detecteaza (aici avem un comportament putin nedeterminist) o zona alba, el trimite '1' pe pinul PA6.

Atunci, se alege la intamplare o metoda de a intoarce robotelul (prin stanga sau prin dreapta). Se aplica metoda aleasa timp de 0.8 secunde.

In caz ca sezorul IR nu detecteaza nimic (suntem in zona neagra), robotelul merge inainte.

Hardware Design

Listă de piese
Piesa Descriere
Placuța de bază PM 2019 Placuța pe care sunt lipite toate piesele
Microcontroller ATMEGA324A-PU Asigură logica de control
Driver de motoare Folosit pentru alimentarea motoarelor si pentru transformarea 6V → 5V
Motoare Folosite pentru mișcarea roților
Roți Rol în deplasare
Modul IR Senzor folosit pentru detectarea parasirii arenei
Baterii cele 4 baterii efective [1]
Suport baterii suport de plastic pentru 4 baterii AA de 1.5 V
Breadboard folosit pentru legarea in serie a unor fire [2]

Nota [1] Driverul este alimentat la 6V iar placuta la 5V.

Nota [2] Breadboard-ul este folosit ca o metoda mai eleganta de a lega firele in serie. Alternativa era lipirea acestora.

Download

Aceasta arhiva [1] contine fisierele generate pe parcursul implementarii proiectului:

  • cod sursa c.
  • Makefile
  • fisiere .elf si .hex generate din codul sursa
  • schema bloc (png si ppt)
  • schema electrica (png)
  • print-ul arenei
  • [alte fisiere .psd editabile]

[1] pm_prj2019_ionatan_gancea.zip

Bibliografie/Resurse

pm/prj2019/rbarbascu/mini-sumobot.txt · Last modified: 2021/04/14 17:07 (external edit)
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