Szoftverkönyvtár öt szervó vezérléséhez a microcontrolleren attiny45

A könyvtár neve Servo8Bit. az ATtiny45 és az ATtiny85 mikrokontrollerrel ellátott 5 szervó segítségével támogatja a munkát, a mikrokontroller forrásokból csak 8 bites időzítőt használ. 512-től 2560 μs-ig 8 bites felbontással (256 érték) képes szervo vezérlő impulzusokat generálni, és ami a legfontosabb, ez a könyvtár nagyon egyszerűen használható.
Az ATtiny85 8 pólusú, olcsó mikrokontroller gazdag perifériákkal. Az interneten számos megoldás létezik a szervo vezérléshez, de némelyiknek nincs elegendő felbontása, mások pedig nagy számú kimenettel rendelkező mikrovezérlőkhöz vannak tervezve, és 16 bites időzítést használnak munkájuk során.
A könyvtár a szervo vezérlésű Arduino könyvtár után van modellezve, és azonos felületet tartalmaz. A fordításhoz használja a WinAVR-t.
Íme egy rövid példa egy olyan programról, amely bemutatja a Servo8Bit könyvtár használatát.
Ebben a példában a késleltetés () függvény meghatározása elmarad. ami azért szükséges, mert A program szövegében késlelteti a késleltetést. A letöltés szakaszban van egy könyvtár és egy teljes példaprogram a szervomotor vezérléséhez.
A könyvtár számos funkciót tartalmaz. Fontolja meg céljukat.
- A function attach () függvény egy függvény, amely a szervo változót a szerver vezérléséhez a mikrokontroller kimenetéhez hozzárendeli. Például a myServo.attach (1) - a PB1 mikrokontroller portját a szervo vezérléséhez használják;
- function write () - írja be az értéket fokban a szervo felé, vagy irányítsa a szervo működtetőjét, azaz. a szervoszap elforgatása előre meghatározott értékkel;
- function writeMicroseconds () - írja be az értéket a mikrófázisban a szervo felé, ill. irányítsa a szervo tengelyt;
- function read () - funkció a szervo tengely aktuális pozíciójára vonatkozó információ megszerzésére szolgál (ez az érték az utolsó hívásból a write () függvényhez nyer;
- függvény csatolt () - ellenőrizze, hogy a szervo változó a mikrokontrollerhez van-e rendelve;
- function detach () - kikapcsolja a Servo változót a mikrokontroller kimenetéből.
Amikor a mikrokontroller kimenete a szervo hajtás vezérléséhez van rendelve, a attach () függvény. a mikrokontroller ezen pinján a PWM vezérlőjelet generálják. A detach () függvény leállítja a PWM jel generációját, i. A funkció végrehajtása után a meghatározott mikrokontroller-port nem használható a szervo vezérléséhez. Ha engedélyezni szeretné újra, meg kell hívnia a attach () függvényt.
A vezérlőjel PWM (impulzusszélesség-moduláció) impulzusjel, amely 3 V-5 V amplitúdójú, téglalap alakú impulzusok és 0,9-2,2 ms időtartamú sorozat. Valójában az impulzusszélesség a PWM jelben határozza meg a működtető helyzetét. A minimális érték azt jelenti, hogy a fordulatot a bal szélső pozíció, a középső - a rúd központi helyzete és a maximális érték - a jobb szélső pozíció. Azonban a vezérlő paraméterek között vannak különbségek a szervo modelltől függően.
Alapértelmezés szerint ez a parancs a szervó számára a középső pozícióba való áthelyezéshez. A szerver a write () függvénnyel 0-tól 180-ig terjedő számmal működik. Ez a szám a szervo szár helyzetben van. A mikrokontroller ezzel az értékkel generálja a kívánt PWM jelet.
Mivel különböző szervo hajtások modellek készülnek, és paramétereik eltérnek egymástól, mindenképpen konfigurálni kell - a PWM jel impulzusszélességének megváltoztatását. Erre a célra lehet használni a funkciót write () több érv: write (pin, min, max), ahol, pin - kimenete a mikrokontroller szabályozására a hajtómű, min - minimális impulzus időtartama generáló szár setup parancs a 0 fok, A max az impulzusszélesség maximális értéke a parancs létrehozásához, hogy a szárat 180 fokosra állítsuk. Az alapértelmezett értékek 544 μs és 2400 μs. Ezenkívül a writeMicroseconds () függvény használatával manuálisan beállíthatja az impulzus szélességét.
A könyvtár jelenlegi verziójának korlátozása:
- különböző órajel-sebességek támogatása;
- támogatja az időzítő beállítását a szervo illesztőprogram számára.
letöltését
Servo8bit szoftverkönyvtár, makefile, mintaprogram - letöltés