Difference between revisions of "Jednoduché riadenie servomotorov cez USB"

From RoboWiki
Jump to: navigation, search
m
m
Line 51: Line 51:
 
Riadiaci program je navrhnutý ako jednoduchá konzolová (command-line) aplikácia (naprogramovaná v systéme Cygwin),  
 
Riadiaci program je navrhnutý ako jednoduchá konzolová (command-line) aplikácia (naprogramovaná v systéme Cygwin),  
 
ktorá sa riadi paramtrami príkazového riadku alebo aj klávesnicou cez terminál (v prípade, že máme nainštalovaný Cygwin).
 
ktorá sa riadi paramtrami príkazového riadku alebo aj klávesnicou cez terminál (v prípade, že máme nainštalovaný Cygwin).
Okrem toho sme vyrobili jednoduchý riadiaci program v jazyku Imagine Logo, ktorým môžeme motory riadiť myšou.
+
Okrem toho sme vyrobili jednoduchý riadiaci program v jazyku Imagine Logo, ktorým môžeme motory riadiť myšou. V dolnej
 +
časti okna sú pamäťové tlačidlá, ktoré dovolujú zapamätať a spätne vyvolať niekoľko konkrétnych polôh oboch motorov.
  
 
[[Image:usbservoimagine.png]]
 
[[Image:usbservoimagine.png]]

Revision as of 18:00, 14 July 2009

Autor: Paľo, ppetrovic Zavinac.gif acm.org

V niektorých prípadoch sa hodí riadiť jeden alebo dva malé servomotory s nízkou spotrebou priamo z PC. Možné príklady aplikácií sú horizontálne a vertikálne nasmerovanie web-kamery alebo fotoaparátu, kŕmenie rybičiek, regulácia zaclonenia citlivej rastliny a pod. Takéto zariadenie si ľahko a lacno môžeme zostrojiť sami, stačí k tomu náradie na pájkovanie a trochu trpezlivosti. Ide nám teda o klasické modelárske servá, ktoré sa riadia digitálnym PWM signálom na napäťovej úrovni TTL. Budeme potrebovať tieto súčiastky:

  • skúšobnú dosku plošného spoja
  • USB kábel
  • koncovka pre pripojenie USB kábla
  • jednočipový mikropočítač Atmel ATtiny2313 v puzdre PDIP (najlepšie aj 20-pinovú päticu)
  • 12MHz oscilátor (Q1)
  • Rezistory:
    • 150R (R5)
    • 1M (R1)
    • 1k5 (R2)
    • 68R (R3)
    • 68R (R4)
  • Kondenzátory:
    • elektrolytický 4u7 (C1)
    • 100n (C2)
    • 2x 18p (C3, C4)
  • indikačná LED (D3)
  • 2x usmerňujúca dióda napr. 1440 (D1,D2)


Schéma zapojenia je na nasledujúcom obrázku:

Usbservo.gif

Rozloženie súčiastok na testovacej doske necháme na konštruktéra, nasledujúci obrázok ukazuje výslednú dosku:

Usbservofinal.jpg

Servomotory sa pripájajú na dva trojkolíkové konektory. V našom prípade je na nich vyvedené priamo napájanie z USB portu počítača (musíme však dať pozor, aby odber motorčekov nebol veľký), alternatívne môžeme pridať baterkový modul a na servo konektory priviesť napájanie z bateriek.

Napokon potrebujeme naprogramovať jednočipový mikropočítač. Využijeme systém V-USB od Objective Development, konkrétne projekt PowerSwitch, ktorý modifikujeme pre naše potreby.

Softvér sa skladá z troch častí:

  • Firmware - program pre ATtiny2313, ktorý obsluhuje USB zbernicu a spracováva povely pre riadenie servomotorov
  • Driver - program pre PC, ktorý treba nainštalovať do Windows potom, ako zariadenie prvýkrát pripojíme k počítaču
  • Riadiaci program - pomocou ktorého cez driver vysielame povely na naše zariadenie a čítame jeho aktuálny stav

Riadiaci program je navrhnutý ako jednoduchá konzolová (command-line) aplikácia (naprogramovaná v systéme Cygwin), ktorá sa riadi paramtrami príkazového riadku alebo aj klávesnicou cez terminál (v prípade, že máme nainštalovaný Cygwin). Okrem toho sme vyrobili jednoduchý riadiaci program v jazyku Imagine Logo, ktorým môžeme motory riadiť myšou. V dolnej časti okna sú pamäťové tlačidlá, ktoré dovolujú zapamätať a spätne vyvolať niekoľko konkrétnych polôh oboch motorov.

Usbservoimagine.png

Všetky časti softvéru v rátane inštalačnej priručky a zdrojových kódov sú na stiahnutie k dispozícii tu:

Media:usbservo.zip