Difference between revisions of "Jednoduché riadenie servomotorov cez USB"
m |
m |
||
(3 intermediate revisions by the same user not shown) | |||
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) | ||
Line 24: | Line 25: | ||
** 2x 18p (C3, C4) | ** 2x 18p (C3, C4) | ||
* indikačná LED (D3) | * indikačná LED (D3) | ||
− | * 2x usmerňujúca dióda napr. | + | * 2x usmerňujúca dióda napr. 1N4007 (D1,D2) |
Line 56: | Line 57: | ||
[[Image:usbservoimagine.png]] | [[Image:usbservoimagine.png]] | ||
− | Všetky časti softvéru | + | Všetky časti softvéru vrátane inštalačnej priručky a zdrojových kódov sú na stiahnutie k dispozícii tu: |
− | [[Media:usbservo.zip]] | + | [[Media:usbservo.zip|usbservo.zip]] (996 KB) |
__notoc__ | __notoc__ |
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)