Rozhraní i9685C servo ovladače CNCU PCA2
Návod k použití produktu
- Když na stroji uvidíte ERR 40:
- Nechte stroj zapnutý, to je velmi důležité.
- Vyjměte baterie z živé pozice.
- Umístěte baterie z rezervované pozice do živé pozice.
- Restartujte stroj.
- Nezapomeňte si zakoupit dvě nové baterie, abyste je měli v rezervě pro příští výměnu baterie.
Pokud narazíte na potíže s výměnou baterie nebo pokud se během procesu posune poloha stroje, kontaktujte podporu AM.CO.ZA. Pro pomoc můžete také kontaktovat WhatsApp na čísle 060 600 6000.
Nadview
Řízení servomotorů pomocí knihovny servo Arduino je docela snadné, ale každý z nich spotřebovává drahocenný kolík – nemluvě o nějakém výkonu zpracování Arduino. Adafruit 16kanálový 12bitový PWM/Servo ovladač bude řídit až 16 serv přes I2C pouze se 2 piny. Integrovaný řadič PWM bude řídit všech 16 kanálů současně bez další režie zpracování Arduino. A co víc, můžete zřetězit až 62 z nich a ovládat až 992 serv – všechna se stejnými 2 piny!
Adafruit PWM/Servo Driver je perfektním řešením pro jakýkoli projekt, který vyžaduje hodně serv.
Pinouty
- Na obou stranách jsou dvě sady ovládacích vstupních kolíků. Obě strany kolíků jsou stejné! Použijte kteroukoli stranu, kterou chcete, můžete také snadno řetězit spojením dvou vedle sebe
Napájecí kolíky
- GND – Toto je napájecí a signální zemnící kolík, musí být připojen
- VCC – Toto je logický napájecí pin, připojte jej k logické úrovni, kterou chcete použít pro výstup PCA9685, měla by být max. 3 – 5V! Používá se také pro pullups 10K na SCL/SDA, takže pokud nemáte vlastní pullups, ať to odpovídá úrovni logiky mikrokontroléru!
- V+ – Toto je volitelný napájecí kolík, který bude dodávat distribuované napájení servům. Pokud nepoužíváte serva, můžete je nechat odpojené. Ten čip vůbec nepoužívá. Můžete také napájet ze 2pinové svorkovnice v horní části desky. Pokud používáte serva, měli byste poskytnout 5-6V DC. Pokud musíte, můžete jít výše na 12VDC, ale pokud to pokazíte a připojíte VCC k V+, můžete si poškodit desku!
Kontrolní kolíky
- SCL – I2C hodinový kolík, připojte se k hodinové lince I2C vašeho mikrokontroléru. Může používat 3V nebo 5V logiku a má slabý pullup na VCC
- SDA – datový kolík I2C, připojte se k datové lince I2C vašeho mikrokontroléru. Může používat 3V nebo 5V logiku a má slabý pullup na VCC
- OE – Povolení výstupu. Lze použít k rychlé deaktivaci všech výstupů. Když je tento pin nízký, všechny piny jsou povoleny. Když je kolík vysoký, výstupy jsou deaktivovány. Ve výchozím nastavení je vytažen nízko, takže je volitelný!
Výstupní porty
- K dispozici je 16 výstupních portů. Každý port má 3 piny: V+, GND a PWM výstup. Každá PWM běží zcela nezávisle, ale všechny musí mít stejnou frekvenci PWM.
- To znamená, že pro LED budete pravděpodobně chtít 1.0 KHz, ale serva potřebují 60 Hz – takže nemůžete použít polovinu pro LED @ 1.0 KHz a polovinu @ 60 Hz.
- Jsou nastaveny pro serva, ale můžete je použít pro LED! Maximální proud na pin je 25 mA.
- K dispozici jsou 220 ohmové odpory v sérii se všemi PWM piny a výstupní logika je stejná jako VCC, takže mějte na paměti, pokud používáte LED.
Shromáždění
Nainstalujte hlavičky serva
- Nainstalujte 4 3×4 kolíkové zástrčky na vyznačená místa podél okraje desky.
Zapájejte všechny kolíky
- Je jich hodně!
Přidat záhlaví pro ovládání
- Součástí je pásek mužského záhlaví. Kam chcete nainstalovat hlavičky a na jakou stranu trochu závisí na použití:
- Pro prkénko na krájení (http://adafru.it/239) použijte, nainstalujte záhlaví na spodní stranu desky.
- Pro použití s propojovací dráty (http://adafru.it/758), nainstalujte záhlaví na horní část desky.
- Pro použití s naším 6pinový kabel (http://adafru.it/206), nainstalujte záhlaví na horní část desky.
- Pokud řetězíte více desek ovladačů, budete chtít záhlaví na obou koncích.
Nainstalujte napájecí terminály
- Pokud řetězíte více desek ovladačů, potřebujete pouze napájecí svorku na první z nich.
Zapojování
Připojení k Arduinu
- Ovladač PWM/Servo Driver používá I2C, takže připojení k vašemu Arduinu vyžaduje pouze 4 vodiče:
„Klasické“ zapojení Arduino:
- +5v -> VCC (toto je napájení pouze pro BREAKOUT, NE napájení serva!)
- GND -> GND
- Analog 4 -> SDA
- Analog 5 -> SCL
Starší kabeláž Mega:
- +5v -> VCC (toto je napájení pouze pro BREAKOUT, NE napájení serva!)
- GND -> GND
- Digitální 20 -> SDA
- Digitální 21 -> SCL
Kabeláž R3 a novější Arduino (Uno, Mega & Leonardo):
(Tyto desky mají vyhrazené piny SDA a SCL na záhlaví nejblíže konektoru USB)
- +5v -> VCC (toto je napájení pouze pro BREAKOUT, NE napájení serva!)
- GND -> GND
- SDA -> SDA
- SCL -> SCL
Pin VCC je pouze napájení pro samotný čip. Pokud chcete připojit serva nebo LED, které používají piny V+, MUSÍTE připojit také pin V+. Pin V+ může být až 6V, i když je VCC 3.3V (čip je bezpečný pro 5V). Doporučujeme připojit napájení přes modrou svorkovnici, protože je chráněna proti polaritě.
Výkon pro serva
Většina serv je navržena tak, aby běžela na 5 nebo 6 V. Mějte na paměti, že mnoho serv pohybujících se současně (zvláště velkých výkonných) bude potřebovat hodně proudu. I mikroserva odeberou při pohybu několik stovek mA. Některá serva s vysokým točivým momentem odeberou při zatížení více než 1A.
Dobré možnosti napájení jsou:
- Spínaný zdroj 5V 2A (http://adafru.it/276)
- Spínaný zdroj 5V 10A (http://adafru.it/658)
- Držák na baterie 4xAA (http://adafru.it/830) – 6V s alkalickými články. 4.8 V s dobíjecími články NiMH.
- 4.8 nebo 6V dobíjecí RC baterie z hobby obchodu.
Není dobrý nápad používat k napájení serv Arduino 5v pin. Elektrický šum a „zhnědnutí“ z nadměrného odběru proudu mohou způsobit, že se vaše Arduino bude chovat nevyzpytatelně, resetuje se a/nebo se přehřeje.
Přidání kondenzátoru do slotu pro kondenzátor s průchozím otvorem
Na DPS máme místo pro pájení v elektrolytickém kondenzátoru. V závislosti na vašem použití můžete nebo nemusíte potřebovat kondenzátor. Pokud poháníte hodně serv ze zdroje, který se při pohybu serv hodně propadá, je dobré začít n * 100uF, kde n je počet serv – např. 470uF nebo více pro 5 serv. Vzhledem k tomu, že je to tak závislé na odběru proudu serva, točivém momentu na každém motoru a napájecím zdroji, neexistuje žádná „jedna magická hodnota kondenzátoru“, kterou bychom mohli navrhnout, a proto do sady kondenzátor nezahrnujeme.
Připojení serva
Většina serv je dodávána se standardním 3pinovým samičím konektorem, který se zasune přímo do hlaviček servo ovladače. Ujistěte se, že jste zarovnali zástrčku s uzemňovacím vodičem (obvykle černým nebo hnědým) se spodní řadou a signálním vodičem (obvykle žlutým nebo bílým) nahoře.
Přidání dalších serv
Na jednu desku lze připojit až 16 serv. Pokud potřebujete ovládat více než 16 serv, lze další desky zřetězit, jak je popsáno na další stránce.
Řetězové ovladače
- Více ovladačů (až 62) může být zřetězeno pro ovládání ještě více serv.
- Díky konektorům na obou koncích desky je zapojení stejně jednoduché jako připojení a 6pinový paralelní kabel (http://adafru.it/206) z jedné desky na druhou.
Oslovování správní rady
- Každé desce v řetězci musí být přiřazena jedinečná adresa. To se provádí pomocí adresových propojek na pravém horním okraji desky. Základní adresa I2C pro každou desku je 0x40. Binární adresa, kterou naprogramujete pomocí adresových propojek, se přidá k základní adrese I2C.
- Chcete-li naprogramovat offset adresy, použijte kapku pájky k přemostění odpovídající adresové propojky pro každou binární '1' v adrese.
- Deska 0: Adresa = 0x40 Offset = binární 00000 (nejsou vyžadovány žádné propojky)
- Deska 1: Adresa = 0x41 Offset = binární 00001 (můstek A0 jako na fotografii výše)
- Deska 2: Adresa = 0x42 Offset = binární 00010 (můstek A1)
- Deska 3: Adresa = 0x43 Offset = binární 00011 (můstek A0 a A1)
- Deska 4: Adresa = 0x44 Offset = binární 00100 (můstek A2)
atd.
Ve své skice budete muset deklarovat samostatný projekt pro každou desku. Hovor začíná na každém objektu a ovládá každé servo prostřednictvím objektu, ke kterému je připojeno. Napřampten:
Používání knihovny Adafruit
- Protože PWM Servo Driver je řízen přes I2C, jeho použití je velmi snadné s jakýmkoli mikrokontrolérem nebo mikropočítačem.
- V tomto demu si ukážeme jeho použití s Arduino IDE, ale kód C++ lze snadno přenést
Nainstalujte knihovnu Adafruit PCA9685
- Chcete-li začít číst data senzoru, budete muset nainstalujte knihovnu Adafruit_PWMServo (kód na našem úložišti github) (https://adafru.it/aQl). Je k dispozici od správce knihovny Arduino, takže jej doporučujeme používat.
- Z IDE otevřete správce knihovny…
- A zadejte adafruit pwm, abyste našli knihovnu. Klepněte na tlačítko Instalovat
- Máme také skvělý návod na instalaci knihovny Arduino na: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use (https://adafru.it/aYM)
Test s Example kód:
- Nejprve se ujistěte, že jsou všechny kopie Arduino IDE zavřené.
- Dále otevřete Arduino IDE a vyberte File-> Přamples->Adafruit_PWMServoDriver- >Servo. Tím se otevře example file v okně IDE.
Pokud používáte Breakout:
- Připojte desku ovladače a servo, jak je znázorněno na předchozí stránce. Nezapomeňte napájet Vin (logická úroveň 3-5V) a V+ (5V napájení serva). Zkontrolujte, zda svítí zelená LED!
Pokud používáte štít:
- Zapojte štít do svého Arduina. Nezapomeňte, že také budete muset poskytnout 5V na svorkovnici V+. Musí svítit červená i zelená LED.
Pokud používáte FeatherWing:
- Zapojte FeatherWing do vašeho Feather. Nezapomeňte, že také budete muset poskytnout 5V na svorkovnici V+. Zkontrolujte, zda svítí zelená LED!
Připojte servo
- Jedno servo by mělo být zapojeno do portu PWM #0, prvního portu. Měli byste vidět pohyb serva tam a zpět o přibližně 180 stupňů.
Kalibrace vašich serv
Časování pulsů serva se u různých značek a modelů liší. Vzhledem k tomu, že se jedná o analogový řídicí obvod, často existují určité rozdíly mezi sampvozy stejné značky a modelu. Pro přesné řízení polohy budete chtít zkalibrovat minimální a maximální šířku pulsu ve vašem kódu tak, aby odpovídala známým polohám serva.
Najděte minimum:
- Pomocí example kódu, upravujte SERVOMIN, dokud spodní bod rozmítání nedosáhne minimálního rozsahu pohybu. Nejlepší je přistupovat k tomu postupně a přestat před dosažením fyzické hranice cestování.
Najděte maximum:
- Opět pomocí example kódu, upravujte SERVOMAX, dokud nejvyšší bod rozmítání nedosáhne maximálního rozsahu pohybu. Opět je nejlepší k tomu přistupovat postupně a zastavit se před dosažením fyzické hranice cestování.
Při nastavování SERVOMIN a SERVOMAX buďte opatrní. Narazíte-li na fyzické limity pohybu, může dojít k vyřazení převodů a trvalému poškození vašeho serva.
Převod ze stupňů na délku pulzu
The Funkce Arduino „map()“. (https://adafru.it/aQm) je snadný způsob, jak převádět mezi stupni rotace a vašimi kalibrovanými délkami pulsů SERVOMIN a SERVOMAX. Za předpokladu typického serva se 180 stupni rotace; jakmile zkalibrujete SERVOMIN do polohy 0 stupňů a SERVOMAX do polohy 180 stupňů, můžete pomocí následujícího řádku kódu převést libovolný úhel mezi 0 a 180 stupni na odpovídající délku impulsu:
Reference knihovny setPWMFreq(freq)
Popis
- Tuto funkci lze použít k nastavení frekvence PWM, která určuje, kolik plných „pulzů“ za sekundu generuje integrovaný obvod. Jinak řečeno, frekvence určuje, jak „dlouho“ trvá každý puls od začátku do konce, přičemž se bere v úvahu jak horní, tak dolní segment pulsu.
- Frekvence je v PWM důležitá, protože nastavení příliš vysoké frekvence s velmi malým pracovním cyklem může způsobit problémy, protože „doba náběhu“ signálu (doba, kterou trvá přechod z 0V na VCC) může být delší než doba, po kterou je signál aktivní, a výstup PWM se bude jevit jako vyhlazený a nemusí dokonce dosáhnout VCC, což může způsobit řadu problémů.
Argumenty
- frekv: Číslo představující frekvenci v Hz, mezi 40 a 1600
Example
- Následující kód nastaví frekvenci PWM na 1000 Hz:
setPWM(kanál, zapnuto, vypnuto)
Popis
Tato funkce nastavuje začátek (zapnuto) a ukončení (vypnuto) horního segmentu pulzu PWM na konkrétním kanálu. Zadáte hodnotu 'tick' mezi 0..4095, kdy se signál zapne a kdy se vypne. Kanál označuje, který ze 16 výstupů PWM by měl být aktualizován novými hodnotami.
Argumenty
- kanál: Kanál, který by měl být aktualizován novými hodnotami (0..15)
- on: Tick (mezi 0..4095), kdy by měl signál přecházet z nízkého do vysokého
- vypnuto: zatržítko (mezi 0..4095), kdy by měl signál přejít z vysokého na nízký
Example
Následující example způsobí, že kanál 15 začne nízko, přejde vysoko kolem 25 % do pulzu (zaškrtněte 1024 z 4096), přejde zpět na nízkou 75 % do pulzu (zaškrtněte 3072) a zůstane nízký po posledních 25 % pulzu:
Použití jako GPIO
- K dispozici jsou také některá speciální nastavení pro úplné zapnutí nebo vypnutí kolíků
Dokumenty z knihovny Arduino
Python a CircuitPython
- Je snadné používat ovladač PCA9685 s Pythonem nebo CircuitPython a Adafruit CircuitPython PCA9685 (https://adafru.it/tZF) modul. Tento modul vám umožňuje snadno psát Python kód, který řídí serva a PWM s tímto breakoutem.
- Tuto desku ovladače můžete použít s jakoukoli deskou mikrokontroléru CircuitPython nebo s počítačem, který má GPIO a Python díky Adafruit_Blinka, naší knihovně kompatibility CircuitPython-for- Python (https://adafru.it/BSN).
Zapojení mikrokontroléru CircuitPython
Nejprve připojte PCA9685 k vaší desce přesně tak, jak je znázorněno na předchozích stránkách pro Arduino. Tady je bývalýample zapojení Feather M0 k desce ovladače s I2C:
Zapojení počítače Python
- Protože existují desítky linuxových počítačů/desek, které můžete použít, ukážeme zapojení pro Raspberry Pi. Pro jiné platformy, navštivte prosím průvodce pro CircuitPython na Linuxu a zjistěte, zda je vaše platforma podporována (https://adafru.it/BSN).
- Zde je Raspberry Pi propojené s I2C:
Nepokoušejte se napájet svá serva z 5V RasPi nebo linuxové desky, můžete snadno způsobit výpadek napájení a zkazit si Pi! Použijte samostatný adaptér 5V 2A nebo 4A
- 5V 2A (2000mA) spínaný zdroj – UL Listed
- Jedná se o napájecí zdroj s certifikací FCC/CE a UL. Potřebujete hodně 5V napájení?
- Tento spínací zdroj poskytuje čistý regulovaný výstup 5V až do 2000mA. 110 nebo 240 vstup, takže to funguje... https://www.adafruit.com/product/276
- 5V 4A (4000mA) spínaný zdroj – UL Listed
- Potřebujete hodně 5V napájení? Tento spínací zdroj poskytuje čistý regulovaný výstup 5V až do 4 Amps (4000 mA). 110 nebo 240 vstup, takže to funguje v jakékoli zemi. Zástrčky jsou „US… https://www.adafruit.com/product/1466
CircuitPython Instalace PCA9685 a knihoven ServoKit
- Budete muset nainstalovat Adafruit CircuitPython PCA9685 (https://adafru.it/tZF) knihovny na vaší desce CircuitPython.
- Nejprve se ujistěte, že používáte nejnovější verze Adafruit CircuitPython (https://adafru.it/Amd) pro vaši desku.
- Dále budete muset nainstalovat potřebné knihovny, abyste mohli používat hardware – pečlivě postupujte podle kroků k nalezení a instalaci těchto knihoven z Balíček knihovny CircuitPython společnosti Adafruit (https://adafru.it/uap). Naše úvodní příručka CircuitPython má skvělou stránku jak nainstalovat knihovnu bundle (https://adafru.it/ABU).
Pro neexpresní desky jako Trinket M0 nebo Gemma M0 budete muset ručně nainstalovat potřebné knihovny z balíčku:
- adafruit_pca9685.mpy
- adafruit_bus_device
- adafruit_register
- adafruit_motor
- adafruit_servokit.mpy
Než budete pokračovat, zkontrolujte lib složku nebo kořen vaší desky filesystém má adafruit_pca9685.mpy, adafruit_register a adafruit_servokit.mpy, adafruit_motor a adafruit_bus_device files a složky byly zkopírovány.
Další připojte k sériovému REPL desky (https://adafru.it/Awz), takže jste na řádku CircuitPython >>>.
Instalace PCA9685 a knihoven ServoKit v Pythonu
Budete si muset nainstalovat knihovnu Adafruit_Blinka, která poskytuje podporu CircuitPython v Pythonu. To může také vyžadovat povolení I2C na vaší platformě a ověření, že používáte Python 3. Vzhledem k tomu, že každá platforma je trochu jiná a Linux se často mění, navštivte prosím průvodce CircuitPython na Linuxu a připravte svůj počítač (https://adafru.it/BSN)!
- Jakmile to uděláte, spusťte z příkazového řádku následující příkazy:
- Pokud je váš výchozí Python verze 3, možná budete muset místo toho spustit 'pip'. Jen se ujistěte, že se nepokoušíte používat CircuitPython na Pythonu 2.x, není podporován!
CircuitPython a použití Pythonu
- Následující část ukáže, jak ovládat PCA9685 z Python prompt / REPL desky. Dozvíte se, jak interaktivně ovládat serva a stmívat LED diody zadáním kódu níže.
Stmívání LED
Spuštěním následujícího kódu importujte potřebné moduly a inicializujte I2C spojení s deskou ovladače:
- Každý kanál PCA9685 lze použít k ovládání jasu LED. PCA9685 generuje vysokorychlostní signál PWM, který velmi rychle zapíná a vypíná LED. Pokud je LED zapnutá déle než zhasnutá, bude vašim očím připadat jasnější.
- Nejprve připojte LED k desce následovně. Všimněte si, že k omezení proudu LED nemusíte používat rezistor, protože PCA9685 omezí proud na přibližně 10 mA:
LED katoda / kratší noha k PCA9685 kanálu GND / zem. LED anoda / delší noha k PCA9685 kanálu PWM.
- Třída PCA9685 poskytuje řízení frekvence PWM a pracovního cyklu každého kanálu. Podívejte se na Dokumentace třídy PCA9685 (https://adafru.it/C5n) Více podrobností.
- Pro stmívání LED obvykle nepotřebujete používat rychlou frekvenci signálu PWM a můžete nastavit frekvenci PWM desky na 60 Hz nastavením atributu frekvence:
- PCA9685 podporuje 16 samostatných kanálů, které sdílejí frekvenci, ale mohou mít nezávislé pracovní cykly. Tímto způsobem můžete stmívat 16 LED samostatně!
- Objekt PCA9685 má atribut channels, který má pro každý kanál objekt, který může řídit pracovní cyklus. Chcete-li získat jednotlivý kanál, použijte [] k indexování do kanálů.
- Nyní ovládejte jas LED ovládáním pracovního cyklu kanálu připojeného k LED. Hodnota pracovního cyklu by měla být 16bitová hodnota, tj. 0 až 0xffff, což představuje procento času, kdy je signál zapnutý nebo vypnutý. Hodnota 0xffff je 100 % jas, 0 je 0 % jas a mezi hodnotami se pohybuje od 0 % do 100 % jasu.
- NapřampNastavte LED zcela rozsvícenou s pracovním cyklem 0xffff:
- Po spuštění příkazu výše byste měli vidět, jak se LED rozsvítí na plný jas! Nyní vypněte LED s pracovním cyklem 0:
- Zkuste hodnotu mezi tím, například 1000:
- Měli byste vidět, že LED svítí slabě. Zkuste experimentovat s jinými hodnotami pracovního cyklu, abyste viděli, jak LED mění jas!
- NapřampZapněte a vypněte LED diodu nastavením duty_cycle ve smyčce:
- Tyto cykly for chvíli trvají, protože 16 bitů je hodně čísel. CTRL-C pro zastavení běhu smyčky a návrat do REPL.
Full Example Kód
Ovládání serv
- Napsali jsme praktickou knihovnu CircuitPython pro různé sady PWM/Servo nazvané Adafruit CircuitPython ServoKit (https://adafru.it/Dpu), který za vás zvládne veškeré složité nastavení. Vše, co musíte udělat, je importovat příslušnou třídu z knihovny a poté jsou k dispozici všechny funkce této třídy.
- Ukážeme vám, jak importovat třídu ServoKit a používat ji k ovládání servomotorů s 16kanálovým breakoutem Adafruit.
- Pokud nejste obeznámeni se servy, určitě si nejprve přečtěte toto úvod na stránku serva (https://adafru.it/scW) a toto stránka s podrobným průvodcem serva (https://adafru.it/scS).
- Nejprve připojte servo ke kanálu 0 na PCA9685. Tady je example serva připojeného ke kanálu 0:
- Ujistěte se, že jste také zapnuli nebo zapojili externí 5V napájecí zdroj k desce PCA9685!
- Nejprve budete muset importovat a inicializovat třídu ServoKit. Musíte zadat počet kanálů dostupných na vaší desce. Breakout má 16 kanálů, takže když vytvoříte objekt třídy, zadáte 16 .
- Nyní jste připraveni ovládat standardní i kontinuální rotační serva.
Standardní serva
- Chcete-li ovládat standardní servo, musíte určit kanál, ke kterému je servo připojeno. Poté můžete ovládat pohyb nastavením úhlu na několik stupňů.
- Ve výchozím nastavení bude třída Servo používat hodnoty rozsahu ovládání, minimální šířky pulzu a maximální šířky pulzu, které by měly fungovat pro většinu serv. Však, zkontrolujte dokumentaci třídy Servo (https://adafru.it/BNE) pro více podrobností o dalších parametrech pro přizpůsobení signálu generovaného pro vaše serva.
- Pomocí serva určíte polohu jako úhel. Úhel bude vždy mezi 0 a rozsahem aktivace daným při vytvoření serva. Výchozí hodnota je 180 stupňů, ale vaše servo může mít menší rozmítání – změňte celkový úhel zadáním parametru actuation_angle v inicializátoru třídy Servo výše.
- Nyní nastavte úhel na 180, jeden extrém rozsahu:
- Chcete-li vrátit servo na 0 stupňů:
- U standardního serva určíte polohu jako úhel. Úhel bude vždy mezi 0 a rozsahem aktivace. Výchozí hodnota je 180 stupňů, ale vaše servo může mít menší rozmítání. Celkový úhel můžete změnit nastavením akční_rozsah .
- Napřample, pro nastavení rozsahu ovládání na 160 stupňů:
- Často se rozsah, který jednotlivé servo rozpozná, trochu liší od ostatních serv. Pokud servo nedosáhlo celého očekávaného rozsahu, zkuste upravit minimální a maximální šířku pulzu pomocí set_pulse_width_range(min_pulse, max_pulse) .
- Chcete-li nastavit rozsah šířky pulzu na minimálně 1000 a maximálně na 2000:
- To je vše k ovládání standardních serv pomocí PCA9685 breakout, Python a ServoKit!
Nepřetržité rotační serva
- Chcete-li ovládat servo s nepřetržitým otáčením, musíte určit kanál, na kterém je servo zapnuto.
- Poté můžete ovládat pohyb pomocí plynu.
- Napřample, pro spuštění kontinuálního rotačního serva připojeného ke kanálu 1 na plný plyn vpřed:
- Chcete-li spustit servo pro plynulé otáčení připojené ke kanálu 1 na plný zpětný plyn:
- Chcete-li nastavit poloviční plyn, použijte desetinné číslo:
- A pro zastavení kontinuálního rotačního pohybu serva nastavte plyn na 0:
- To je vše k ovládání servopohonů s nepřetržitým otáčením pomocí 9685kanálového breakoutu PCA16, Python a ServoKit!
Full Example Kód
Dokumenty Python
Dokumenty Python: ServoKit
Stahování
Files
- Technický list PCA9685 (https://adafru.it/okB)
- Knihovna ovladačů arduino (https://adafru.it/aQl)
- PCB EagleCAD filena GitHubu (https://adafru.it/rME)
- 3D modely na GitHubu (https://adafru.it/19Bk)
- Fritzing objekt v knihovně Adafruit Fritzing (https://adafru.it/aP3)
Schematický a výrobní tisk
Otvory mají průměr 2.5 mm
FAQ
- Lze tuto desku použít pro LED nebo jen serva?
- Může být použit pro LED diody stejně jako jakékoli jiné zařízení s PWM!
- Mám zvláštní problémy při kombinování tohoto štítu s batohy Adafruit LED Matrix/7Seg
- Čip PCA9865 má adresu „All Call“ 0x70. Toto je dodatek k nakonfigurované adrese. Nastavte batohy na adresu 0x71 nebo cokoliv jiného než výchozí 0x70, aby problém zmizel.
- Jak to, že u LED diod nemůžu úplně vypnout LED?
- Pokud chcete LED diody úplně vypnout, použijte (v Arduinu) nastavte PWM(pin, 0, 4096); není nastaveno (pin, 0, 4095);
Dokumenty / zdroje
![]() |
Rozhraní i9685C servo ovladače CNCU PCA2 [pdfPokyny PCA9685 Servo Driver Rozhraní i2C, PCA9685, Servo Driver rozhraní i2C, Driver i2C Interface, i2C Interface, Interface |