Introducere

În primul rând aș dori să menționez că proiectul a fost realizat de o echipă formată din Mircea Urse, Valentin Goșu și mine pentru concursul RoboChallenge - Sumo.

Ideea inițială a proiectului a fost realizarea unui robot de sumo, capabil să detecteze alți roboți și să-i împingă în afara unui ring circular. Funcționalitățile de bază ce trebuiau să fie asigurate de robot sunt:

  • detecția de obiecte apropiate
  • detecția de culori (ringul era negru, delimitat cu alb)

Deoarece aveam deja partea de detectie de culori facută, m-am gândit să-l transform într-un line follower.

Descriere generală

Schema bloc hardware a robotului este:

Descriere pe blocuri:

  • Alimentare 12V: necesară pentru motoare; este formată din 8 baterii de 1.5V dispuse în două suporturi
  • Driver motor: L298N (schema electrică este mai jos)
  • Două motoare (unul pentru roata stângă și unul pentru cea dreaptă): Pololu 50:1 Metal Gearmotor 37Dx54L mm
  • Alimentare 9V: alimentarea pentru microcontroller, formată dintr-o singură baterie de 9V. Tensiunea este coborâtă la 5 volti prin regulatorul de pe placă.
  • 4 senzori de culoare, legați la masă și 5 volți → un semnal între 0 și 5 volți ce indică suprafața
  • 1 senzor de distanță, nefolosit pentru line follower (a fost folosit pentru detecția adversarului la sumo)

Comanda motoarelor este făcută prin PWM.

Hardware Design

Listă de piese:

  • 2 x Pololu 50:1 Metal Gearmotor 37Dx54L mm
  • 1 x Tamiya 70145 Narrow Tire Set (2 tires)
  • 1 x Tamiya 70144 Ball Caster Kit (2 casters)
  • 1 x Pololu Universal Aluminum Mounting Hub for 6mm Shaft Pair
  • 1 x L298N Dual Full-Bridge Motor Driver
  • 1 x Maxbotix LV-MaxSonar-EZ4 Sonar Range Finder MB1040
  • 4 x led infraroșu
  • 4 x fototranzistor
  • 4 x rezistență 330 ohmi
  • 4 x rezistență 20K ohmi
  • 8 x diodă 1N4004
  • 8 x baterie 1.5V
  • 1 x baterie 9V
  • 2 x suport 4 baterii 1.5V
  • 2 x buton (start/reset)
  • 1 x întrepător
  • 1 x placă Atmega16 cu interfețe serială și USB

Pentru cadru am folosit carcasa de la un cd-rom vechi și parchet.

Schemă driver:

Schemă senzor culoare:

Schemă interconexiuni:

Software Design

Partea de software este destul de simplă. Majoritatea funcționalităților necesare sunt asigurate direct de hardware-ul atmega16 și din aceasta cauză nu a fost nevoie de biblioteci third-party. Din funcționalitățile atmega16 robotul folosește:

  • PWM pentru cele două motoare
  • ADC pentru colectarea informației de la senzori
  • USART pentru debugging

Dezvoltarea codului a fost realizată în AVRStudio. Codul include inițializarea modulelor folosite (PWM si ADC) și căutarea adversarului într-o buclă infinită.

Rezultate Obţinute

Proiectul este funcțional și a reușit să treacă de prima rundă de la concurs, după care i s-a ars driverul.

.

.

.

Concluzii

În final mi-am dat seama că robotul este destul de masiv și senzorii nu sunt foarte preciși deci nu ar face un line follower foarte bun. Am lăsat hardware-ul de la concurs neschimbat.

O problemă este răcirea pe drivere (problemă pe care am simțit-o și la concurs când s-a ars unul dintre ele - inițial erau două - , chiar dacă avea heatsink 8-O).

O altă problemă este că inițial aveam o masă pentru senzori și o masă pentru controller și rezultatele ADC-ului erau total aleatoare; până la urmă ne-am dat seama care era problema și le-am pus la masă comună.

Download

Bibliografie/Resurse

teft4300.pdf (Datasheet fototranzistor)

1773.pdf (Datasheet L298)

lv-maxsonar-ez4-datasheet.pdf (Datasheet sonar)

pm/prj2010/rtataroiu/slf.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