Introducere

Am incercat sa fac un robotel cu 4 servomotoare analogice.

Descriere generală

Avem un servomotor analog ce poate fi controlat prin impulsuri. Un impuls variaza intre 0.1 si 2 ms

Hardware Design

Software Design

Descrierea codului aplicaţiei (firmware):

  • AVR Studio 4
  • ISIS

Vom folosii functia _delay_ms() pentru a trimite impulsurile corecte catre servomotoare:

Exemplu pentru a misca un servomotor 90 grade.

- shiftam bitul de pe PD7

PORTD |= (1 « PD7);

- facem un delay de 1.5 milisecunde

_delay_ms( 1.5);

- shiftam inapoi bitul de pe PD7

PORTD &= ~(1 « PD7);

- facem un delay pentru a incheia ciclul (1.5 + 7.5 = 20 ms)

_delay_ms(17.5);

Rezultate Obţinute

Prima versiune a robotului. Avea 2 picioare, 2 servomotoare fiecare.

Aceasta este a doua versiune. Patru picoare, un servomotor fiecare.

Pentru ca in timp ce servomotoarele sunt alimentate, microprocesorul sa nu moara, am facut un circuit separat de alimentare pentru cele 4 servomotoare.

Microprocesorul va di alimentat de la o baterie de 9V. Servomotoarele vor fi alimentate de la un set de 4 baterii de 1.5 V.

Concluzii

Din pacate nu am reusit sa sincronizam servomotoarele astfel incat robotul sa mearga. El da din picioare dar nu cum trebuie.

Am mai facut o modificare la structura robotului astfel incat picioarele sa nu se loveasca intre ele atunci cand se intersecteaza.

Download

In arhiva exista un proiect AVR studio 4 cu implemntarea miscarii celor patru servomotoarelor si o simulare a circuitului in ISIS 6.

robot.rar

Bibliografie/Resurse

pm/prj2010/mcarjaliu/robot.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