Obsah:

Arduino a integrovaný LED ovladač TLC5940 PWM LED: 7 kroků
Arduino a integrovaný LED ovladač TLC5940 PWM LED: 7 kroků

Video: Arduino a integrovaný LED ovladač TLC5940 PWM LED: 7 kroků

Video: Arduino a integrovaný LED ovladač TLC5940 PWM LED: 7 kroků
Video: Arduino RGB LED PWM Control using 2 TLC5940 2024, Červenec
Anonim
Arduino a integrovaný LED ovladač TLC5940 PWM LED
Arduino a integrovaný LED ovladač TLC5940 PWM LED

V tomto článku prozkoumáme 16kanálový LED ovladač Texas Instruments TLC5940. Naším důvodem je předvést jiný, jednodušší způsob řízení mnoha LED - a také serv. Nejprve je zde několik příkladů TLC5940. TLC5940 si můžete objednat u PMD Way s bezplatným doručením po celém světě.

TLC5940 je k dispozici ve verzi DIP a také pro povrchovou montáž. Je to opravdu praktická část, která vám umožňuje upravit jas šestnácti jednotlivých LED diod pomocí PWM (pulzně šířková modulace)-a můžete také řetězit více než jeden TLC5940, abyste mohli ovládat ještě více.

Během tohoto tutoriálu vysvětlíme, jak ovládat jeden nebo více integrovaných obvodů TLC5940 pomocí LED, a také se podíváme na ovládání serv. V tomto okamžiku si prosím stáhněte kopii TLC5940 (.pdf), jak jej budete v tomto procesu odkazovat. Dále si prosím stáhněte a nainstalujte knihovnu TLC5940 Arduino od Alex Leone, kterou najdete zde. Pokud si nejste jisti, jak nainstalovat knihovnu, klikněte sem.

Krok 1: Postavte demonstrační obvod TLC5940

Postavte demonstrační obvod TLC5940
Postavte demonstrační obvod TLC5940

Následující obvod je minimum potřebné k ovládání šestnácti LED diod z vašeho Arduina nebo kompatibilního. Můžete jej použít k experimentování s různými funkcemi a získat představu o tom, co je možné. Budete potřebovat:

  • Arduino Uno nebo kompatibilní deska
  • 16 normálních, každodenních LED diod, které mohou mít dopředný proud až 20 mA
  • odpor 2 kΩ (dát nebo odebrat 10%)
  • 0,1uF keramika a 4,7uF elektrolytický kondenzátor

Všimněte si orientace LED-a pamatujte si, že TLC5940 je ovladač LED se společnou anodou-takže všechny LED anody jsou spojeny dohromady a poté na 5V.

Krok 2:

Pro tento konkrétní obvod nebudete potřebovat externí 5V napájecí zdroj - ale v budoucnu jej možná budete potřebovat. Účelem rezistoru je řídit množství proudu, který může protékat LED diodami. Požadovaná hodnota odporu se vypočítá podle následujícího vzorce:

R = 39,06 / Imax, kde R (v ohmech) je hodnota odporu a Imax (v ampérech) je maximální množství proudu, které chcete protékat LED diodami.

Pokud například máte LED diody s dopředným proudem 20 mA - výpočet odporu by byl: R = 39,06 / 0,02 = 1803 ohmů. Jakmile máte obvod sestavený - otevřete Arduino IDE a nahrajte skicu BasicUse.pde, která je ve složce s ukázkami pro knihovnu TLC5940.

Měli byste mít k dispozici výstup podobný tomu, který je uveden ve videu.

Krok 3: Ovládání TLC5940

Nyní, když obvod funguje, jak ovládáme TLC5940? Za prvé, povinné funkce - zahrňte knihovnu na začátku skici pomocí:

#include "Tlc5940.h"

a poté inicializujte knihovnu tím, že do void setup () vložíte následující:

Tlc.init (x);

x je volitelný parametr - pokud chcete nastavit všechny kanály na určitý jas, jakmile začne skica, můžete do funkce Tlc.init () vložit hodnotu mezi 0 a 4095 pro x.

Nyní zapněte nebo vypněte kanál/LED. Každý kanál je očíslován od 0 do 15 a jas každého kanálu lze nastavit mezi 0 a 4095. Jedná se o dvoudílný proces … Nejprve-pomocí jedné nebo více z následujících funkcí nastavte požadované kanály a příslušný jas (PWM) úroveň):

Tlc.set (kanál, jas);

Pokud byste například chtěli mít zapnuté první tři kanály při plném jasu, použijte:

Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set (2, 4095);

Druhá část je použít následující k aktualizaci TLC5940 s požadovanými pokyny z první části:

Tlc.update ();

Pokud chcete vypnout všechny kanály najednou, jednoduše použijte:

Tlc.clear ();

Krok 4:

Po vymazání funkce nemusíte volat TLC.update (). Následuje rychlý příklad skici, který nastavuje hodnoty jasu/PWM všech kanálů na různé úrovně:

#include "Tlc5940.h" void setup () {Tlc.init (0); // inicializujte TLC5940 a vypněte všechny kanály}

prázdná smyčka ()

{for (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); zpoždění (1000); pro (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); zpoždění (1000); pro (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); zpoždění (1000); pro (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); zpoždění (1000); }

Možnost ovládání individuálního jasu pro každý kanál/LED může být také užitečná při ovládání RGB LED - poté můžete snadno vybrat požadované barvy prostřednictvím různých úrovní jasu pro každý prvek. Na videu je ukázka.

Krok 5: Použití dvou nebo více TLC5940s

Můžete zapojit několik TLC5940 dohromady a ovládat více LED diod. Nejprve - připojte další TLC5940 k Arduinu, jak ukazuje ukázkový obvod - kromě připojení kolíku SOUT (17) prvního TLC5940 ke kolíku SIN (26) druhého TLC5940 - jak data putují z Arduina, přes první TLC5940 na druhý a tak dále. Poté opakujte postup, pokud máte třetí atd. Nezapomeňte na resisotr, který nastavuje proud!

Dále otevřete soubor tlc_config.h umístěný ve složce knihovny TLC5940. Změňte hodnotu NUM_TLCS na počet TLC5940, které jste společně spojili, poté soubor uložte a také smažte soubor Tlc5940.o, který se také nachází ve stejné složce. Nakonec restartujte IDE. Poté můžete postupně odkazovat na kanály druhého a dalšího TLC5940 od prvního. To znamená, že první je 0 ~ 15, druhý je 16 ~ 29 atd.

Krok 6: Ovládání serva pomocí TLC5940

Jelikož TLC5940 generuje výstup PWM (pulzně šířková modulace), je skvělý i pro pohon serv. Stejně jako LED - můžete ovládat až šestnáct najednou. Ideální pro vytváření robotů podobných pavoukům, podivných hodin nebo vytváření hluku.

Při výběru servopohonu zajistěte, aby při provozu neodebíralo více než 120 mA (maximální proud na kanál), a také věnujte pozornost části „Správa proudu a tepla“na konci tohoto tutoriálu. A používejte externí napájení se servy, nespoléhejte na 5V linii Arduina.

Připojení serva je jednoduché - GND linka se připojí k GND, 5V (nebo přívodní napájecí kabel) se připojí k vašim 5v (nebo jinému vhodnému zdroji) a ovládací kolík serva se připojí k jednomu z výstupů TLC5940. Nakonec - a to je důležité - připojte odpor 2,2 kΩ mezi používané výstupní piny TLC5940 a 5 V. Ovládání serva se neliší od LED. Na začátku náčrtu potřebujete první dva řádky:

#include "Tlc5940.h" #include "tlc_servos.h"

pak následující v neplatném nastavení ():

tlc_initServos ();

Dále pomocí následující funkce vyberte, které servo (kanál) chcete ovládat a požadovaný úhel (úhel):

tlc_setServo (kanál, úhel);

Stejně jako diody LED můžete spojit několik z nich dohromady a poté spustit příkaz pomocí:

Tlc.update ();

Pojďme se tedy na vše podívat v akci. Následující příklad skici zametá čtyři serva o 90 stupňů:

#include "Tlc5940.h" #include "tlc_servos.h"

neplatné nastavení ()

{tlc_initServos (); // Poznámka: toto sníží frekvenci PWM až na 50 Hz. }

prázdná smyčka ()

{for (int angle = 0; angle = 0; angle--) {tlc_setServo (0, angle); tlc_setServo (1, úhel); tlc_setServo (2, úhel); tlc_setServo (3, úhel); Tlc.update (); zpoždění (5); }}

Video ukazuje tuto skicu v akci se čtyřmi servy.

Pokud se vaše serva netočí do správného úhlu - například požadujete 180 stupňů a otáčejí se pouze do 90 stupňů nebo kolem nich, je zapotřebí trochu práce navíc.

Musíte otevřít soubor tlc_servos.h umístěný ve složce knihovny TLC5940 Arduino a experimentovat s hodnotami pro SERVO_MIN_WIDTH a SERVO_MAX_WIDTH. Například změňte SERVO_MIN_WIDTH z 200 na 203 a SERVO_MAX_WIDTH ze 400 na 560.

Krok 7: Správa proudu a tepla

Jak již bylo zmíněno dříve, TLC5940 zvládne maximálně 120 mA na kanál. Po několika experimentech si můžete všimnout, že se TLC5940 zahřívá - a to je v pořádku.

Všimněte si, že existuje maximální limit množství energie, které může být rozptýleno před zničením součásti. Pokud používáte pouze běžné LED diody nebo menší serva, nebude problém s napájením. Pokud však plánujete používat TLC5940 na maximum - přečtěte si poznámky poskytnuté autory knihovny.

Závěr

Opět jste na cestě k ovládání neuvěřitelně užitečné části pomocí Arduina. Nyní s trochou představivosti můžete vytvářet nejrůznější vizuální displeje nebo se bavit s mnoha servy.

Tento příspěvek vám přináší pmdway.com - který nabízí produkty TLC5940 spolu se vším pro výrobce a nadšence do elektroniky, s doručením zdarma po celém světě.

Doporučuje: