CNCU-LOGO

Rozhraní i9685C servo ovladače CNCU PCA2

CNCU-PCA9685-Servo-Driver-i2C-Interface-PRODUCT

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

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-1

Ří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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-2

Pinouty

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-3

  • 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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-4

Zapájejte všechny kolíky

  • Je jich hodně!

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-5

Přidat záhlaví pro ovládání

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-6

Nainstalujte napájecí terminály

  • Pokud řetězíte více desek ovladačů, potřebujete pouze napájecí svorku na první z nich.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-7

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

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-8

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:

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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-9

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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-10

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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-11

Ř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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-12

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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-13

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-14

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

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-15

  • A zadejte adafruit pwm, abyste našli knihovnu. Klepněte na tlačítko Instalovat

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-16

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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-17

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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-18

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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-19

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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-20

Použití jako GPIO

  • K dispozici jsou také některá speciální nastavení pro úplné zapnutí nebo vypnutí kolíků

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-21

Dokumenty z knihovny Arduino

Python a CircuitPython

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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-22

Zapojení počítače Python

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-23

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

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-24

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-25

CircuitPython Instalace PCA9685 a knihoven ServoKit

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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-26

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-27

  • 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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-28

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-29

  • 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ů.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-30

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-31

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-32

  • Zkuste hodnotu mezi tím, například 1000:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-33

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-34

  • 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

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-35

Ovládání serv

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-36

  • 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 .

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-37

  • 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.

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-38

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-39

  • Chcete-li vrátit servo na 0 stupňů:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-40

  • 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ňů:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-41

  • Č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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-42

  • 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:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-43

  • Chcete-li spustit servo pro plynulé otáčení připojené ke kanálu 1 na plný zpětný plyn:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-44

  • Chcete-li nastavit poloviční plyn, použijte desetinné číslo:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-45

  • A pro zastavení kontinuálního rotačního pohybu serva nastavte plyn na 0:

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-46

  • 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

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-47

Dokumenty Python

Dokumenty Python: ServoKit

Stahování

Files

Schematický a výrobní tisk

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-48 CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-49

Otvory mají průměr 2.5 mm

CNCU-PCA9685-ServoDriver-i2C-Interface-FIG-50

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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *