Difference between revisions of "Jednoduché riadenie servomotorov cez USB"
m  | 
				m  | 
				||
| Line 1: | Line 1: | ||
''Autor: Paľo, ppetrovic [[Image:zavinac.gif]] acm.org''  | ''Autor: Paľo, ppetrovic [[Image:zavinac.gif]] acm.org''  | ||
| + | |||
| + | [[Simple servomotor control over USB|English version]]  | ||
V niektorých prípadoch sa hodí riadiť jeden alebo dva malé servomotory s nízkou spotrebou  | V niektorých prípadoch sa hodí riadiť jeden alebo dva malé servomotory s nízkou spotrebou  | ||
| Line 17: | Line 19: | ||
** 1M  (R1)  | ** 1M  (R1)  | ||
** 1k5 (R2)  | ** 1k5 (R2)  | ||
| − | ** 68R (R3  | + | ** 2x 68R (R3,R4)  | 
| − | |||
* Kondenzátory:  | * Kondenzátory:  | ||
** elektrolytický 4u7 (C1)  | ** elektrolytický 4u7 (C1)  | ||
Latest revision as of 19:10, 14 July 2009
Autor: Paľo, ppetrovic 
 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)
 - 2x 68R (R3,R4)
 
 -  Kondenzátory:
- elektrolytický 4u7 (C1)
 - 100n (C2)
 - 2x 18p (C3, C4)
 
 - indikačná LED (D3)
 - 2x usmerňujúca dióda napr. 1N4007 (D1,D2)
 
Schéma zapojenia je na nasledujúcom obrázku:
Rozloženie súčiastok na testovacej doske necháme na konštruktéra, nasledujúci obrázok ukazuje výslednú dosku:
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.
Všetky časti softvéru vrátane inštalačnej priručky a zdrojových kódov sú na stiahnutie k dispozícii tu:
usbservo.zip (996 KB)


