Obsah:

Arduino a IC ovládača LED TLC5940 PWM: 7 krokov
Arduino a IC ovládača LED TLC5940 PWM: 7 krokov

Video: Arduino a IC ovládača LED TLC5940 PWM: 7 krokov

Video: Arduino a IC ovládača LED TLC5940 PWM: 7 krokov
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Júl
Anonim
Arduino a integrovaný LED ovládač TLC5940 PWM LED
Arduino a integrovaný LED ovládač TLC5940 PWM LED

V tomto článku sa budeme zaoberať 16-kanálovým LED ovládačom LED Texas Instruments TLC5940. Našim dôvodom je predviesť iný, jednoduchší spôsob ovládania mnohých diód LED - a tiež serv. Najprv je tu niekoľko príkladov TLC5940. TLC5940 si môžete objednať u PMD Way s bezplatným doručením do celého sveta.

TLC5940 je k dispozícii vo verzii DIP a tiež na povrchovú montáž. Je to skutočne praktická časť, ktorá vám umožní nastaviť jas šestnástich jednotlivých diód LED pomocou PWM (modulácia šírky impulzov)-a taktiež môžete reťaziť viac ako jeden TLC5940, aby ste mohli ovládať ešte viac.

Počas tohto tutoriálu vysvetlíme, ako ovládať jeden alebo viac integrovaných obvodov TLC5940 pomocou diód LED, a tiež sa pozrieme na ovládanie serv. V tomto mieste si stiahnite kópiu dokumentu TLC5940 (.pdf), ako ho budete počas tohto procesu používať. Ďalej si stiahnite a nainštalujte knižnicu TLC5940 Arduino od Alexa Leoneho, ktorú nájdete tu. Ak si nie ste istí, ako nainštalovať knižnicu, kliknite sem.

Krok 1: Zostavte demonštračný obvod TLC5940

Postavte predvádzací obvod TLC5940
Postavte predvádzací obvod TLC5940

Nasledujúci obvod je minimum potrebné na ovládanie šestnástich diód LED z vášho Arduina alebo kompatibilného. Môžete ho použiť na experimentovanie s rôznymi funkciami a získať predstavu o tom, čo je možné. Budete potrebovať:

  • Arduino Uno alebo kompatibilná doska
  • 16 bežných, bežných LED diód, ktoré môžu mať dopredný prúd až 20 mA
  • odpor 2 kΩ (dajte alebo vezmite 10%)
  • 0,1uF keramický a 4,7uF elektrolytický kondenzátor

Všimnite si orientácie LED-a pamätajte, že TLC5940 je ovládač LED so spoločnou anódou-takže všetky LED anódy sú spojené dohromady a potom na 5V.

Krok 2:

Pre tento konkrétny obvod nebudete potrebovať externý napájací zdroj 5 V - v budúcnosti ho však môžete potrebovať. Účelom rezistora je ovládať množstvo prúdu, ktorý môže pretekať LED diódami. Požadovaná hodnota odporu sa vypočíta podľa nasledujúceho vzorca:

R = 39,06 / Imax, kde R (v ohmoch) je hodnota odporu a Imax (v ampéroch) je maximálne množstvo prúdu, ktoré chcete pretekať LED diódami.

Napríklad, ak máte LED diódy s prúdom dopredu 20 mA - výpočet odporu by bol: R = 39,06 / 0,02 = 1803 ohmov. Akonáhle máte obvod zostavený - otvorte Arduino IDE a nahrajte náčrt BasicUse.pde, ktorý je v priečinku s ukážkou pre knižnicu TLC5940.

Mali by ste mať k dispozícii výstup podobný tomu, ktorý je zobrazený vo videu.

Krok 3: Ovládanie TLC5940

Teraz, keď obvod funguje, ako ovládame TLC5940? Po prvé, povinné funkcie - zahrňte knižnicu na začiatku náčrtu pomocou:

#include "Tlc5940.h"

a potom inicializujte knižnicu umiestnením nasledujúceho do neplatného nastavenia ():

Tlc.init (x);

x je voliteľný parameter - ak chcete nastaviť všetky kanály na určitý jas hneď po spustení náčrtu, do funkcie Tlc.init () môžete pre x vložiť hodnotu medzi 0 a 4095.

Teraz zapnite alebo vypnite kanál/LED. Každý kanál je očíslovaný od 0 do 15 a jas každého kanála je možné nastaviť od 0 do 4095. Jedná sa o dvojdielny proces … Najprv-pomocou jednej alebo viacerých z nasledujúcich funkcií nastavte požadované kanály a príslušný jas (PWM) úroveň):

Tlc.set (kanál, jas);

Ak by ste napríklad chceli mať prvé tri kanály zapnuté pri plnom jase, použite:

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

Druhá časť je použiť nasledujúce položky na aktualizáciu TLC5940 podľa požadovaných pokynov z prvej časti:

Tlc.update ();

Ak chcete vypnúť všetky kanály naraz, jednoducho použite:

Tlc.clear ();

Krok 4:

Po vymazaní funkcie nemusíte volať TLC.update (). Nasleduje rýchly ukážkový náčrt, ktorý nastavuje hodnoty jasu/PWM všetkých kanálov na rôzne úrovne:

#include "Tlc5940.h" neplatné nastavenie () {Tlc.init (0); // inicializujte TLC5940 a vypnite všetky kanály}

prázdna slučka ()

{for (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); oneskorenie (1000); pre (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); oneskorenie (1000); pre (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); oneskorenie (1000); pre (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); oneskorenie (1000); }

Schopnosť ovládať individuálny jas pre každý kanál/LED môže byť užitočná aj pri ovládaní RGB LED - potom môžete jednoducho vybrať požadované farby prostredníctvom rôznych úrovní jasu pre každý prvok. Ukážka je zobrazená na videu.

Krok 5: Použitie dvoch alebo viacerých TLC5940s

Môžete zapojiť niekoľko reťazcov TLC5940 dohromady a ovládať tak viac diód LED. Najprv - zapojte ďalší TLC5940 do Arduina, ako je znázornené na demonštračnom obvode - okrem toho, že prepojíte pól SOUT (17) prvého TLC5940 s kolíkom SIN (26) druhého TLC5940 - keď dáta putujú z Arduina, cez prvý TLC5940 na druhý a tak ďalej. Potom zopakujte postup, ak máte tretinu atď. Nezabudnite na resisotr, ktorý nastavuje prúd!

Potom otvorte súbor tlc_config.h umiestnený v priečinku knižnice TLC5940. Zmeňte hodnotu NUM_TLCS na počet TLC5940, ktoré ste spolu spojili, potom súbor uložte a tiež odstráňte súbor Tlc5940.o, ktorý sa tiež nachádza v rovnakom priečinku. Nakoniec reštartujte IDE. Potom sa môžete na kanály druhého a ďalšieho TLC5940 odkázať postupne od prvého. To znamená, že prvý má 0 ~ 15, druhý 16 až 29 atď.

Krok 6: Ovládanie serva pomocou TLC5940

Pretože TLC5940 generuje výstup PWM (modulácia šírky impulzov), je vynikajúci aj na pohon serva. Rovnako ako LED - môžete ovládať až šestnásť naraz. Ideálne na vytváranie robotov podobných pavúkom, podivných hodín alebo vytvárania hluku.

Pri výbere svojho serva dbajte na to, aby pri prevádzke neodoberalo viac ako 120 mA (maximálny prúd na kanál), a dbajte tiež na časť „Správa prúdu a tepla“na konci tohto tutoriálu. A používajte externé napájanie so servami, nespoliehajte sa na 5V linku Arduina.

Pripojenie serva je jednoduché - vedenie GND sa pripojí na GND, 5V (alebo napájací kábel) sa pripojí na 5V (alebo iné vhodné napájanie) a kolík ovládania serva sa pripojí na jeden z výstupov TLC5940. Nakoniec - a to je dôležité - zapojte odpor 2,2 kΩ medzi používané výstupné kolíky TLC5940 a 5 V. Ovládanie serva sa nelíši od LED diódy. Na začiatku náčrtu potrebujete prvé dva riadky:

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

potom nasledujúce v neplatnom nastavení ():

tlc_initServos ();

Potom pomocou nasledujúcej funkcie vyberte, ktoré servo (kanál) má fungovať a požadovaný uhol (uhol):

tlc_setServo (kanál, uhol);

Rovnako ako diódy LED, môžete ich spojiť niekoľko dohromady a potom príkaz vykonať pomocou:

Tlc.update ();

Pozrime sa teda na to všetko v akcii. Nasledujúci príklad náčrtu posúva štyri servá o 90 stupňov:

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

neplatné nastavenie ()

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

prázdna slučka ()

{for (int angle = 0; angle = 0; angle--) {tlc_setServo (0, angle); tlc_setServo (1, uhol); tlc_setServo (2, uhol); tlc_setServo (3, uhol); Tlc.update (); oneskorenie (5); }}

Video ukazuje tento náčrt v prevádzke so štyrmi servami.

Ak sa vaše servá neotáčajú do správneho uhla - napríklad sa pýtate na 180 stupňov a otáčajú sa iba do 90 stupňov alebo viac, je potrebná trocha práce navyše.

Musíte otvoriť súbor tlc_servos.h umiestnený v priečinku knižnice TLC5940 Arduino a experimentovať s hodnotami pre SERVO_MIN_WIDTH a SERVO_MAX_WIDTH. Napríklad zmeňte SERVO_MIN_WIDTH z 200 na 203 a SERVO_MAX_WIDTH zo 400 na 560.

Krok 7: Správa prúdu a tepla

Ako už bolo spomenuté, TLC5940 dokáže spracovať maximálne 120 mA na kanál. Po troche experimentov si môžete všimnúť, že sa TLC5940 zahrieva - a to je v poriadku.

Všimnite si toho, že existuje maximálny limit množstva energie, ktorú je možné rozptýliť pred zničením súčiastky. Ak používate iba bežné záhradné diódy LED alebo menšie serva, nebude problém s napájaním. Ak však plánujete používať TLC5940 na maximum - prečítajte si poznámky od autorov knižnice.

Záver

Opäť ste na ceste ovládať neuveriteľne užitočnú časť pomocou svojho Arduina. Teraz s trochou predstavivosti môžete vytvárať najrôznejšie vizuálne displeje alebo sa zabaviť na mnohých servách.

Tento príspevok vám prináša stránka pmdway.com - ktorá ponúka produkty TLC5940 spolu so všetkým pre výrobcov a nadšencov elektroniky s bezplatným doručením do celého sveta.

Odporúča: