Bastlení
Atari Portfolio
zpět na předchozí stranu

Řadič pro řízení
8 modelářských serv s jednočipem

 
  Řadič  pro řízení modelářských serv z počítače - můžete s nimi rozhýbat například robota, manipulátor - mechanickou "ruku", nebo něco jiného podle vlastní fantazie.

Tento řadič se připojuje k řídícímu počítači přes sériové rozhraní, napěťové úrovně mohou být RS232 i TTL, takže je možno jej řídit nejen z PC, ale i osmibitovým nebo jednočipovým počítačem.
Výstupní signály z řadiče jsou impulsy s šířkovou modulací, stejné jako u modelářské soupravy pro dálkové ovládání. Modelářské servomechanismy obsahují malý elektromotor s několika stupňovou převodovkou se zpětnou vazbou z výstupní hřídele do řídící elektroniky. V současné době vyráběné typy jsou napájeny napětím 4,8V (maximálně 6V) a jako vstupní signál vyžadují kladný impuls o délce 1ms až 2ms s periodou 20ms (není kritická). Délce impulsu kolem 1,5ms odpovídá střední poloha serva, při kratším impulsu dojde k natočení výstupní hřídele na jednu stranu, při delším impulsu na druhou stranu od střední polohy. Poloha výstupní hřídele je přímo úměrná šířce impulsu, pohyb je plynulý. Perioda opakování impulsů není kritická, používá se většinou kolem 20ms, pokud bude výrazně delší, dojde pouze ke zpomalení reakce servomechanismu na změnu šířky impulsu.

Řadič je určen pro připojení více serv k jednomu sériovému rozhraní. Vstup řadiče je ve dvou verzích - s optočlenem, který zajistí galvanické oddělení, takže nehrozí zavlečení nějakého napětí do řídícího počítače. Druhá verze je s tranzistorem, takže vstup není galvanicky oddělen, má však velký vstupní odpor, takže je možno zapojit vstupy několika řadičů paralelně. Každý řadič má propojkami nastavitelnou čtyřbitovou adresu, takže může být na jednom sériovém rozhraní připojeno až 16 řadičů - což znamená možnost ovládat až 128 serv. Rychlost komunikace po sériovém rozhraní je nastavitelná propojkou - 2400Bd nebo 9600Bd. Další propojka slouží k nastavení rozsahu pohybu řízených serv - změnou šířky řídících impulsů v rozsahu 1-2ms nebo 0,5-2,5ms. Řadič je navržen tak, aby byl programově kompatibilní s výrobkem firmy SEETRON - řadičem SSC. Tato kompatibilita byla zvolena pro možnost využít k řízení již existující software.

Způsob ovládání:
Z řídícího počítače se vyšle sekvence tří bajtů - značkový bajt (255), bajt s číslem vybraného serva (0...7), bajt s požadovanou polohou vybraného serva (0...254).
Značkový bajt slouží k synchronizaci přenosu, proto žádný jiný bajt nesmí mít hodnotu 255.
Bajt s číslem serva je v rozsahu (0-7) + 8x adresa řadiče, nastavená propojkami. Takže pro řadič s adresou 0 je rozsah adres serv 0-7, pro řadič s adresou 1 je rozsah adres serv 8-15 ... atd. až pro řadič s adresou 15 je rozsah adres serv 120-127.
Bajt s požadovanou polohou serva - hodnota 0 nebo 1 mají speciální význam - v těchto případech se na patřičném výstupu přestává generovat impuls pro servo a místo toho je zde trvale 0, čili nulové napětí, nebo 1, čili téměř plné napájecí napětí. K takovému výstupu lze připojit místo serva tranzistorem spínané relé, žárovku, elektromotor. Pro ovládání serva se používá rozsah hodnot 2-254, přitom 128 je střední poloha, 2 a 254 jsou krajní polohy.

Poznámky ke schématu:
Napájení je z baterie nebo zdroje, napájející serva, napětí 4,8V, proud podle spotřeby serv. Samotný řadič má spotřebu jen několik mA. Při napájení ze síťového zdroje je nutno použít stabilizovaný zdroj. V takovém případě může někdy docházet k trhavému pohybu serv. Při napájení z akumulátorů s malým vnitřním odporem k tomuto jevu nedochází, jedině snad při použití dlouhých tenkých přívodních kabelů. Při napájení ze stabilizovaného zdroje dochází k poklesu napětí, způsobenému proudovými špičkami při pohybu serv. Pro odstranění je vhodné připojit k napájení serv paralelně elektrolytický kondenzátor např. 470uF/6V.
Optočlen na vstupu byl původně zamýšlen jako "čisté" řešení, jak galvanicky oddělit servořadič od připojeného počítače. V praxi se však bohužel ukázalo, že ne každý "běžný" optočlen je schopen přenést i tak relativně malou rychlost jako je použitých 2400 nebo 9600Bd. Takže jsem použil jako další variantu na vstupu tranzistor. Optočlen nakreslený ve schématu typu 6N136 nebo 137 je dostatečně rychlý. 
Na desce plošných spojů jsou osazeny ze strany spojů pod jednočipem dva odpory SMD - R5 a R6.
Ve verzi s optočlenem je k diodě v optočlenu připojena LED dioda jako ochrana a indikace správné polarity připojení. Pokud je servořadič připojen na sériový port PC, LED v klidu svítí, během přenosu dat pohasíná. Je-li to naopak, prohoďte přívody od PC k servořadiči.
Propojkou JP4 se nastavuje rozsah pohybu serv - při rozpojené propojce mají výstupní impulsy šířku 0,95-2,05ms, se spojenou propojkou je rozsah šířky výstupních impulsů 0,4-2,6ms. Pro běžná serva nedoporučuji používat širší rozsah, servo Hitec HS-303 při něm najíždělo na doraz při hodnotách 40 a 230. Užší rozsah 0,95-2,05ms je použitelný bez nebezpečí že nebude stačit mechanický rozsah pohybu serva.
Propojkou JP5 se nastavuje přenosová rychlost sériového rozhraní. Při rozpojené propojce je rychlost 9600Bd, při spojené propojce 2400Bd.
Propojky JP6, JP7, JP8 a JP9 slouží k nastavení adresy servořadiče. Pokud jsou všechny propojky spojené, adresa je 0. Rozpojená propojka má logickou hodnotu 1 - podle popisu mají jednotlivé adresové propojky hodnotu 1, 2, 4 a 8. Když sečteme hodnoty rozpojených propojek, dostaneme adresu.
JP9 JP8 JP7 JP6 Adresa
0 .. spoj 0 0 0 0
0 0 0 1 .. rozpoj 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15

Změna nastavení jakékoliv propojky se projeví až po vypnutí a zapnutí servořadiče!

Software pro jednočip ve formátu Intel HEX a ve formátu BIN.

Software pro PC na vyzkoušení : ovládání serv jednotlivě, i se zdrojovým kódem v Pascalu, posílání stejné hodnoty na všechna serva, rovněž se zdrojovým kódem v Pascalu. Software pro PC je pro sériový port 1 a přenosovou rychlost 2400Bd, ve zdrojovém kódu není problém tyto hodnoty změnit.

Propojovací kabel PC - servořadič
Na kabelu do PC nezapomeňte propojit mezi sebou DTR, DSR a DCD (vývody 4, 6 a 1) a RTS s CTS (vývody 7 a 8). Výstup TxD je na vývodu 3 a zem na vývodu 5.



Schéma zapojení verze s optočlenem na vstupu:


Schéma ve větším rozlišení (41kB)
Plošný spoj
Osazení plošného spoje


Schéma zapojení verze s tranzistorem na vstupu:


Schéma ve větším rozlišení (39kB)
Plošný spoj
Osazení plošného spoje


Změny v konstrukci:
 datum  změna
 22.7.2001 Došlo i ke změnám v zapojení :
1. vstup z počítače je ve dvou verzích - s optočlenem nebo s tranzistorem.
2. zapojení bylo zjednodušeno - byly odstraněny téměř všechny odpory na vývodech jednočipu. Původně byly všechny vývody jednočipu ošetřeny odporem na +5V a výstupy byly připojeny přes ochranné odpory.
15.7.2001  Změna software, nová verze má zlepšené časování, je zlepšena stabilita šířky generovaných impulsů a je doplněna další funkce - vypnutí generování impulsu a setrvání výstupu buď v log.0 nebo log.1 pro přímé připojení např. spínače relé, žárovky, motoru...

Reakce na tento popis.