Ovládání pro jedno servo

Zaujalo mě zapojení Petera Gilinga GCA115 . Tento obvod je určen pro ovládání standardního 5V modelářského servomotoru. Slouží k vytvoření opakujících se pohybů, nebo jen přejezdu servomotoru z jedné krajní polohy do druhé, v závislosti na sepnutí propojek. Obvod může pracovat zcela autonomně, proto je možné jej použít i na "analogovém" kolejišti. Napájení lze použít střídavé i stejnosměrné. Kvůli použitému zapojení stabilizátoru LM317, by mělo být 10V nebo vyšší. Zapojení GCA115 obsahuje mikroprocesor a tři nastavitelné trimry pro ovládání servomotoru. S těmito trimry lze nastavit rychlost pohybu, maximální výchylku a interval mezi pohyby. Propojky (jumpery) na vstupech procesoru umožňují spuštění pohybu a volbu polohy zastavení servomotoru. Místo jumperů lze samozřejmě použít tlačítka (přepínače) na ovládacím panelu, nebo výstupy spínacího dekodéru (pokud mají společnou zem zdroje, nebo které galvanicky oddělíte). Tak lze rozpohybovat spoustu objektů v modelu. Použití nechám na vás.

Při připojení napájení (zapnutí) mi v původním zapojení levné servo z Číny nepříjemně škublo a změnilo polohu. To se mi nelíbilo, proto bylo zapojení upraveno pro pomalý nárůst napětí, který toto škubnutí potlačuje.

Upozornění: Procesor si neukládá polohu servomotoru při vypnutí napájení. To znamená, že pokud při vypnutí napájení zůstane servomotor v jiné než výchozí (levé) poloze, tak se při následném zapnutí, vrátí do výchozí polohy a to plnou rychlostí. Je proto vhodné zajistit, aby byl servomotor před vypnutím ve výchozí (levé) poloze.

Protože jsem oproti originálu přidal na desku obvod pro pomalý nárůst napětí napájení servomotoru, bylo potřeba upravit program (počkat až bude mít servomotor napájení). Opravil jsem zároveň i další chyby. Upravený program je ke stažení níže.

Edit: Podařilo se mi do programu přidat i ukládání poslední polohy po dojetí servomotoru do koncové polohy. Pokud nyní dojde k vypnutí napájení v jedné z koncových poloh, servomotor zůstane v této poloze i při dalším zapnutí. Pokud necháte servo rychle přejíždět do krajních poloh (kmitat), je použití této verze nutno zvážit, protože v každé krajní poloze dochází k zápisu do paměti (a počet zápisů do EPROM je omezen).