Micro:bit a serva 1

Modelářské servomechanismy (serva) byly původně určeny pro použití v radiem řízených (RC) modelech. Jsou však také velmi vhodné pro řadu experimentů v robotice, ovládání malých automatizačních a laboratorních zařízení, ovládání v domácnosti (např. polohování žaluzií) a pod.

Základem serva je stejnosměrný elektromotorek, vícestupňová převodovka sestavená z ozubených kol, zpětnovazební snímač polohy výstupního hřídele (potenciometr nebo bezkontaktní snímač) a řídící elektronika. Požadovaná pozice výstupní osy serva je přenášena do řídící elektroniky z nadřazeného řídícího systému pomocí pulzně šířkově (PWM) modulovaného řídícího signálu.

Servo je napájeno a řízeno po třech vodičích. Jako připojovací konektor je obvykle použit plochý trojpinový typ s roztečí dutinek 2,54 mm. Tvar pouzdra konektoru je závislý na výrobci, pokud je však jako protikus použita lišta s odpovídající roztečí pinů, lze na ni nasunout kterýkoli z běžných konektorů.

Poloha výstupního hřídele serva odpovídá proporcionálně šířce řídícího impulzu. Řídící impulz je pozitivní s amplitudou +3 až 6 V, aktivní dobou trvání proměnnou od 1 do 2 ms a opakovací frekvencí obvykle 50 Hz (Evropa) nebo 60 Hz (USA a Japonsko). Této době odpovídá rozsah polohy výstupního hřídele serva ±45°. Většina serv dovoluje zvětšit mechanický rozsah pohybu výstupní osy na ±90° zvětšením doby trvání řídících impulzů na 0,5 až 2,5 ms. Řídící impulzy doby trvání mimo uvedený rozsah, mohou způsobit najíždění serva na mechanický doraz a tím jeho poškození. Řídící impulz se obvykle opakuje 50x za sekundu (perioda 20 ms). Tato hodnota však není kritická, protože na ní závisí především dosažitelný točivý moment a klidový přídržný moment serva. Výstupní hřídel serva je možno do střední polohy nastavit impulzem o délce 1,5  ms.

Schéma připojení serva k micro:bitu:

Elektrické schéma na obrázku se proti jiným doporučovaným zapojení zdá dost složité. Optický izolační člen PC817 ale spolehlivě oddělí napájení micro:bitu a napájení serva, protože k přenosu informace (tedy řídících pulzů) mezi oběma elektrickými okruhy dochází uvnitř obvodu světlem. Mírné zvýšení složitosti zapojení a jen zcela nepatrné zvýšení ceny je ovšem bohatě  vyváženo tím, že při chybném připojení nebo při poruše serva zůstane váš micro:bit v bezpečí.

Servo samozřejmě můžete na vlastní nebezpečí připojit přímo k micro:bitu, ale je nutné dodržet jeho napájecí napětí v rozsahu 4,8 až 6 V, protože při nižším napětí je funkce serv již dost nejistá a servo se často bez příčiny chvěje nebo škubá.

A praktické provedení na nepájivém poli:

Nejprve si servo otestujeme…

V programovacím jazyku JavaScript Block editor jsou funkce pro ovládání modelářského serva přímo vestavěny.

Smyslem testu je především zjistit, zda je vaše servo správně zapojeno a zda skutečně zvládá rozsah otáčení o 180 stupňů. Pokud ne a v poloze 0 nebo 180 najíždí servo na mechanické dorazy, pak je třeba experimenálně (změnou čísla, určujícího požadovanou polohu serva) zjistit jeho možnosti.

Testovací program v JavaScript Block Editoru:

Testovací program v JavaScriptu:

basic.forever(() => {
    pins.servoWritePin(AnalogPin.P1, 0)
    basic.pause(1000)
    pins.servoWritePin(AnalogPin.P1, 90)
    basic.pause(1000)
    pins.servoWritePin(AnalogPin.P1, 180)
    basic.pause(1000)
    pins.servoWritePin(AnalogPin.P1, 90)
    basic.pause(1000)
})

Pokračování příště…