Spisu treści:
- Krok 1: Zbuduj obwód demonstracyjny TLC5940
- Krok 2:
- Krok 3: Sterowanie TLC5940
- Krok 4:
- Krok 5: Korzystanie z dwóch lub więcej TLC5940
- Krok 6: Sterowanie serwami za pomocą TLC5940
- Krok 7: Zarządzanie prądem i ciepłem
Wideo: Arduino i układ scalony sterownika LED TLC5940 PWM: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
W tym artykule przyjrzymy się 16-kanałowemu układowi scalonemu sterownika LED Texas Instruments TLC5940. Powodem, dla którego to robimy, jest zademonstrowanie innego, łatwiejszego sposobu napędzania wielu diod LED – a także serw. Po pierwsze, oto kilka przykładów TLC5940. Możesz zamówić TLC5940 z PMD Way z bezpłatną dostawą na całym świecie.
TLC5940 jest dostępny w wersji DIP, a także do montażu powierzchniowego. To naprawdę wygodna część, umożliwiająca regulację jasności szesnastu pojedynczych diod LED za pomocą PWM (modulacja szerokości impulsu) – a także można połączyć szeregowo więcej niż jeden TLC5940, aby sterować jeszcze większą liczbą.
Podczas tego samouczka wyjaśnimy, jak kontrolować jeden lub więcej układów scalonych TLC5940 za pomocą diod LED, a także przyjrzymy się sterowaniu serwami. W tym momencie pobierz kopię TLC5940 (.pdf), ponieważ będziesz się do niej odwoływać w tym procesie. Ponadto pobierz i zainstaluj bibliotekę Arduino TLC5940 autorstwa Alexa Leone, którą można znaleźć tutaj. Jeśli nie wiesz, jak zainstalować bibliotekę, kliknij tutaj.
Krok 1: Zbuduj obwód demonstracyjny TLC5940
Poniższy obwód to minimum wymagane do sterowania szesnastoma diodami LED z Arduino lub kompatybilnego. Możesz go użyć do eksperymentowania z różnymi funkcjami i zorientowania się, co jest możliwe. Będziesz potrzebować:
- Arduino Uno lub kompatybilna płytka
- 16 zwykłych, codziennych diod LED, które mogą mieć prąd przewodzenia do 20 mA
- rezystor 2 kΩ (daj lub bierz 10%)
- kondensator ceramiczny 0,1 uF i kondensator elektrolityczny 4,7 uF;
Zwróć uwagę na orientację diody LED – i pamiętaj, że TLC5940 jest sterownikiem LED ze wspólną anodą – więc wszystkie anody LED są połączone razem, a następnie do 5V.
Krok 2:
W przypadku tego konkretnego obwodu nie będziesz potrzebować zewnętrznego zasilacza 5 V – jednak możesz go potrzebować w przyszłości. Zadaniem rezystora jest kontrolowanie ilości prądu, który może przepływać przez diody LED. Wymaganą wartość rezystora oblicza się według następującego wzoru:
R = 39,06 / Imax gdzie R (w omach) to wartość rezystora, a Imax (w amperach) to maksymalna ilość prądu, który chcesz przepłynąć przez diody LED.
Na przykład, jeśli masz diody LED z prądem przewodzenia 20 mA – obliczenie rezystora będzie następujące: R = 39,06 / 0,02 = 1803 Ohm. Po złożeniu obwodu otwórz Arduino IDE i prześlij szkic BasicUse.pde, który znajduje się w przykładowym folderze biblioteki TLC5940.
Powinieneś otrzymać wyjście podobne do tego, co pokazano na filmie.
Krok 3: Sterowanie TLC5940
Teraz, gdy obwód działa, jak sterujemy TLC5940? Po pierwsze, obowiązkowe funkcje – dołącz bibliotekę na początku szkicu z:
#include "Tlc5940.h"
a następnie zainicjuj bibliotekę, umieszczając następujące polecenie w void setup():
Tlc.init(x);
x jest parametrem opcjonalnym – jeśli chcesz ustawić wszystkie kanały na określoną jasność zaraz po rozpoczęciu szkicu, możesz wstawić wartość od 0 do 4095 dla x w funkcji Tlc.init().
Teraz, aby włączyć lub wyłączyć kanał/LED. Każdy kanał jest ponumerowany od 0 do 15, a jasność każdego kanału można regulować w zakresie od 0 do 4095. Jest to proces dwuczęściowy… Po pierwsze – użyj jednej lub więcej z poniższych funkcji, aby ustawić żądane kanały i odpowiednią jasność (PWM poziom):
Tlc.set(kanał, jasność);
Na przykład, jeśli chcesz, aby pierwsze trzy kanały były włączone z pełną jasnością, użyj:
Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set(2, 4095);
Druga część to użycie następujących elementów do aktualizacji TLC5940 o wymagane instrukcje z części pierwszej:
Tlc.aktualizacja();
Jeśli chcesz wyłączyć wszystkie kanały na raz, po prostu użyj:
Tlc.clear();
Krok 4:
Nie musisz wywoływać TLC.update() po funkcji clear. Poniżej znajduje się krótki przykładowy szkic, który ustawia wartości jasności/PWM wszystkich kanałów na różnych poziomach:
#include "Tlc5940.h"unieważnij konfigurację() { Tlc.init(0); // zainicjuj TLC5940 i wyłącz wszystkie kanały }
pusta pętla()
{ for (int i = 0; i < 16; i++) { Tlc.set(i, 1023); } Tlc.update(); opóźnienie (1000); for (int i = 0; i < 16; i++) { Tlc.set(i, 2046); } Tlc.update(); opóźnienie (1000); for (int i = 0; i < 16; i++) { Tlc.set(i, 3069); } Tlc.update(); opóźnienie (1000); for (int i = 0; i < 16; i++) { Tlc.set(i, 4095); } Tlc.update(); opóźnienie (1000); }
Możliwość kontrolowania indywidualnej jasności dla każdego kanału/LED może być również przydatna podczas sterowania diodami LED RGB – możesz wtedy łatwo wybrać żądane kolory za pomocą różnych poziomów jasności dla każdego elementu. Na filmie pokazana jest demonstracja.
Krok 5: Korzystanie z dwóch lub więcej TLC5940
Możesz połączyć szeregowo kilka TLC5940, aby kontrolować więcej diod LED. Po pierwsze – podłącz następny TLC5940 do Arduino, jak pokazano w obwodzie demonstracyjnym – z wyjątkiem podłączenia pinu SOUT (17) pierwszego TLC5940 do pinu SIN (26) drugiego TLC5940 – gdy dane są przesyłane z Arduino, przez od pierwszego TLC5940 do drugiego i tak dalej. Następnie powtórz proces, jeśli masz trzecią itd. Nie zapomnij o rezyzotrze, który ustawia prąd!
Następnie otwórz plik tlc_config.h znajdujący się w folderze biblioteki TLC5940. Zmień wartość NUM_TLCS na liczbę połączonych ze sobą TLC5940, a następnie zapisz plik, a także usuń plik Tlc5940.o również znajdujący się w tym samym folderze. Na koniec zrestartuj IDE. Następnie możesz odwoływać się do kanałów drugiego i kolejnych TLC5940 kolejno od pierwszego. Oznacza to, że pierwszy to 0~15, drugi to 16~29 i tak dalej.
Krok 6: Sterowanie serwami za pomocą TLC5940
Ponieważ TLC5940 generuje wyjście PWM (modulacja szerokości impulsu), doskonale nadaje się również do napędzania serw. Podobnie jak diody LED – możesz sterować nawet szesnastoma na raz. Idealny do tworzenia robotów podobnych do pająków, dziwnych zegarów lub robienia hałasu.
Wybierając serwo, upewnij się, że podczas pracy nie pobiera on więcej niż 120 mA (maksymalny prąd na kanał), a także zapoznaj się z sekcją „Zarządzanie prądem i ciepłem” na końcu tego samouczka. I używaj zewnętrznego zasilania z serwami, nie polegaj na linii 5 V Arduino.
Podłączenie serwomechanizmu jest proste – linia GND łączy się z GND, przewód 5 V (lub przewód napięcia zasilania) łączy się z twoim 5 V (lub innym odpowiednim zasilaniem), a pin sterujący serwomechanizmu łączy się z jednym z wyjść TLC5940. Na koniec – i to jest ważne – podłącz rezystor 2,2kΩ między używany pin(y) wyjściowy TLC5940 a napięciem 5V. Sterowanie serwomechanizmem nie różni się tak bardzo od diody LED. Potrzebujesz pierwszych dwóch linii na początku szkicu:
#include "Tlc5940.h"#include "tlc_servos.h"
następnie w void setup():
tlc_initServos();
Następnie użyj następującej funkcji, aby wybrać, który serwo (kanał) ma działać i wymagany kąt (kąt):
tlc_setServo(kanał, kąt);
Podobnie jak diody LED, możesz połączyć kilka z nich, a następnie wykonać polecenie za pomocą:
Tlc.aktualizacja();
Zobaczmy więc to wszystko w akcji. Poniższy przykładowy szkic obejmuje cztery serwa pod kątem 90 stopni:
#include "Tlc5940.h"#include "tlc_servos.h"
pusta konfiguracja()
{ tlc_initServos(); // Uwaga: to obniży częstotliwość PWM do 50 Hz. }
pusta pętla()
{ for (int kąt = 0; kąt = 0; kąt--) { tlc_setServo (0, kąt); tlc_setServo(1, kąt); tlc_setServo(2, kąt); tlc_setServo(3, kąt); Tlc.aktualizacja(); opóźnienie(5); } }
Film pokazuje ten szkic w akcji z czterema serwomechanizmami.
Jeśli serwa nie obracają się pod właściwym kątem – na przykład prosisz o 180 stopni, a one obracają się tylko do 90 lub mniej więcej, wymagana jest dodatkowa praca.
Musisz otworzyć plik tlc_servos.h znajdujący się w folderze biblioteki Arduino TLC5940 i poeksperymentować z wartościami SERVO_MIN_WIDTH i SERVO_MAX_WIDTH. Na przykład zmień SERVO_MIN_WIDTH z 200 na 203 i SERVO_MAX_WIDTH z 400 na 560.
Krok 7: Zarządzanie prądem i ciepłem
Jak wspomniano wcześniej, TLC5940 może obsłużyć maksymalnie 120 mA na kanał. Po kilku eksperymentach możesz zauważyć, że TLC5940 się nagrzewa – i to jest w porządku.
Zwróć uwagę, że istnieje maksymalny limit mocy, którą można rozproszyć przed zniszczeniem części. Jeśli używasz zwykłych diod LED do ogrodu lub mniejszych serw, zasilanie nie będzie problemem. Jeśli jednak planujesz maksymalne wykorzystanie TLC5940 – zapoznaj się z uwagami dostarczonymi przez autorów biblioteki.
Wniosek
Po raz kolejny jesteś na dobrej drodze do kontrolowania niezwykle przydatnej części za pomocą Arduino. Teraz przy odrobinie wyobraźni możesz tworzyć różnego rodzaju wyświetlacze wizualne lub bawić się wieloma serwami.
Ten post został wysłany przez pmdway.com – który oferuje produkty TLC5940 wraz ze wszystkim dla producentów i entuzjastów elektroniki, z bezpłatną dostawą na całym świecie.
Zalecana:
Obwód elektroniczny LED Chaser wykorzystujący układ scalony timera 555: 20 kroków
Układ elektroniczny ścigacza diod LED wykorzystujący układ scalony czasomierza 555: Układy ścigacza diod LED są najczęściej używanymi zintegrowanymi obwodami elektronicznymi. Są one niezmiernie używane w różnych aplikacjach, takich jak sygnały, system tworzenia słów, systemy wyświetlania itp. Układ scalony timera 555 jest skonfigurowany w trybie stanu astabilnego. NS
Arduino jako tani układ scalony FPGA: 5 kroków (ze zdjęciami)
Arduino jako tania płytka prototypowa FPGA: Projektowanie sprzętowych układów logicznych może być świetną zabawą. Starym szkolnym sposobem na to było użycie bramek NAND, na tabliczce do krojenia chleba, połączonej przewodami połączeniowymi. Jest to nadal możliwe, ale nie trzeba wiele czasu, zanim liczba bramek wymknie się spod kontroli. Nowsza opty
Automatyczny regulator poziomu wody wykorzystujący tranzystory lub układ scalony timera 555: 5 kroków
Automatyczny regulator poziomu wody za pomocą tranzystorów lub timera 555 IC: Wstęp: Cześć Wszyscy tutaj dowiemy się o efektywnym oszczędzaniu wody. więc dokładnie zapoznaj się z krokami i zdaniami. Przepełnienie zbiornika na wodę to powszechny problem, który prowadzi do marnowania wody. Chociaż istnieje ma
NODEMCU LUA ESP8266 Prowadzenie układu scalonego sterownika wyświetlacza LED M5450B7: 5 kroków (ze zdjęciami)
NODEMCU LUA ESP8266 Sterowanie IC sterownika wyświetlacza LED M5450B7: M5450B7 to 40-pinowy układ sterownika wyświetlacza LED DIP. Wygląda raczej jak bestia, ale jest stosunkowo łatwy do kontrolowania i programowania. Są 34 piny wyjściowe, do których można podłączyć diodę LED do każdego. Urządzenie raczej pobiera prąd niż go dostarcza, więc c
Obwody sterownika LED wysokiej mocy: 12 kroków (ze zdjęciami)
Obwody sterownika LED dużej mocy: Diody LED dużej mocy: przyszłość oświetlenia! ale… jak ich używasz? skąd je masz? 1-watowe i 3-watowe diody Power LED są teraz powszechnie dostępne w cenie od 3 do 5 USD, więc ostatnio pracowałem nad kilkoma projektami, które ich używają. w profesjonalnym