Satura rādītājs:
- 1. darbība: izveidojiet demonstrācijas shēmu TLC5940
- 2. darbība:
- 3. darbība. TLC5940 kontrole
- 4. solis:
- 5. darbība: divu vai vairāku TLC5940 izmantošana
- 6. darbība: Servo vadīšana ar TLC5940
- 7. darbība: strāvas un siltuma pārvaldība
Video: Arduino un TLC5940 PWM LED draivera IC: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šajā rakstā mēs izskatīsim Texas Instruments TLC5940 16 kanālu LED draivera IC. Mūsu iemesls to darīt ir demonstrēt citu, vieglāku veidu, kā vadīt daudzas gaismas diodes - un arī servos. Vispirms šeit ir daži TLC5940 piemēri. Jūs varat pasūtīt TLC5940 no PMD Way ar bezmaksas piegādi visā pasaulē.
TLC5940 ir pieejams DIP versijā, kā arī uz virsmas montējams. Tā patiešām ir ērta daļa, kas ļauj regulēt sešpadsmit atsevišķu gaismas diodes spilgtumu, izmantojot PWM (impulsa platuma modulācija)-un jūs varat arī savienot vairāk nekā vienu TLC5940, lai kontrolētu vēl vairāk.
Šīs apmācības laikā mēs izskaidrosim, kā kontrolēt vienu vai vairākus TLC5940 IC ar gaismas diodēm, kā arī apskatīsim servo vadību. Šajā brīdī, lūdzu, lejupielādējiet TLC5940 kopiju (.pdf), jo jūs uz to atsaucīsieties, veicot šo procesu. Turklāt, lūdzu, lejupielādējiet un instalējiet Alex Leone TLC5940 Arduino bibliotēku, kas atrodama šeit. Ja neesat pārliecināts, kā instalēt bibliotēku, noklikšķiniet šeit.
1. darbība: izveidojiet demonstrācijas shēmu TLC5940
Šī shēma ir minimums, kas nepieciešams, lai kontrolētu sešpadsmit gaismas diodes no jūsu Arduino vai saderīga. Jūs varat to izmantot, lai eksperimentētu ar dažādām funkcijām un gūtu priekšstatu par iespējamo. Jums būs nepieciešams:
- Arduino Uno vai saderīga tāfele
- 16 parastas, ikdienas gaismas diodes, kuru strāvas stiprums var būt līdz 20 mA
- 2 kΩ rezistors (dodiet vai ņemiet 10%)
- 0.1uF keramikas un 4.7uF elektrolītiskais kondensators
Ņemiet vērā LED orientāciju-un atcerieties, ka TLC5940 ir parasto anodu LED draiveris-tāpēc visi LED anodi ir savienoti kopā un pēc tam pie 5 V.
2. darbība:
Šai konkrētajai shēmai jums nebūs nepieciešams ārējs 5 V barošanas avots - tomēr nākotnē tas var būt vajadzīgs. Rezistora mērķis ir kontrolēt strāvas daudzumu, kas var plūst caur gaismas diodēm. Nepieciešamo rezistora vērtību aprēķina pēc šādas formulas:
R = 39,06 / Imax, kur R (omos) ir rezistora vērtība un Imax (ampēros) ir maksimālais strāvas daudzums, ko vēlaties plūst caur gaismas diodēm.
Piemēram, ja jums ir gaismas diodes ar 20 mA priekšējo strāvu - rezistora aprēķins būtu šāds: R = 39,06 / 0,02 = 1803 omi. Kad ķēde ir samontēta, atveriet Arduino IDE un augšupielādējiet skici BasicUse.pde, kas atrodas TLC5940 bibliotēkas piemēru mapē.
Jums vajadzētu parādīt rezultātu, kas ir līdzīgs video parādītajam.
3. darbība. TLC5940 kontrole
Tagad, kad ķēde darbojas, kā mēs kontrolējam TLC5940? Pirmkārt, obligātās funkcijas - iekļaujiet bibliotēku skices sākumā ar:
#include "Tlc5940.h"
un pēc tam inicializējiet bibliotēku, ievietojot spēkā neesošajā iestatījumā ():
Tlc.init (x);
x ir neobligāts parametrs - ja vēlaties iestatīt visus kanālus noteiktā spilgtumā, tiklīdz skice ir sākta, funkcijā Tlc.init () varat ievietot vērtību no 0 līdz 4095 x.
Tagad ieslēdziet vai izslēdziet kanālu/gaismas diodi. Katrs kanāls ir numurēts no 0 līdz 15, un katra kanāla spilgtumu var regulēt no 0 līdz 4095. Šis process sastāv no divām daļām … Vispirms izmantojiet vienu vai vairākas no šīm funkcijām, lai iestatītu vajadzīgos kanālus un atbilstošo spilgtumu (PWM līmenis):
Tlc.set (kanāls, spilgtums);
Piemēram, ja vēlaties, lai pirmie trīs kanāli būtu ieslēgti ar pilnu spilgtumu, izmantojiet:
Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set (2, 4095);
Otrā daļa ir izmantot sekojošo, lai atjauninātu TLC5940 ar nepieciešamajiem norādījumiem no pirmās daļas:
Tlc.update ();
Ja vēlaties izslēgt visus kanālus vienlaikus, vienkārši izmantojiet:
Tlc.clear ();
4. solis:
Pēc dzēšanas funkcijas jums nav jāizsauc TLC.update (). Tālāk ir sniegts ātrs skices piemērs, kurā visu kanālu spilgtuma/PWM vērtības tiek iestatītas dažādos līmeņos:
#include "Tlc5940.h" void setup () {Tlc.init (0); // inicializēt TLC5940 un izslēgt visus kanālus}
tukša cilpa ()
{par (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); kavēšanās (1000); par (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); kavēšanās (1000); par (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); kavēšanās (1000); par (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); kavēšanās (1000); }
Spēja kontrolēt katra kanāla/gaismas diodes individuālo spilgtumu var būt noderīga arī, kontrolējot RGB gaismas diodes - pēc tam varat viegli izvēlēties vajadzīgās krāsas, izmantojot dažādus katra elementa spilgtuma līmeņus. Demonstrācija ir parādīta videoklipā.
5. darbība: divu vai vairāku TLC5940 izmantošana
Jūs varat sasaistīt virkni TLC5940s kopā, lai kontrolētu vairāk gaismas diožu. Vispirms pievienojiet nākamo TLC5940 Arduino, kā parādīts demonstrācijas shēmā, izņemot pirmā TLC5940 SOUT tapu (17) ar otrā TLC5940 SIN tapu (26), kad dati pārvietojas no Arduino caur pirmais TLC5940 uz otro un tā tālāk. Pēc tam atkārtojiet procesu, ja jums ir trešais utt. Neaizmirstiet par rezizotoru, kas nosaka strāvu!
Pēc tam atveriet failu tlc_config.h, kas atrodas TLC5940 bibliotēkas mapē. Mainiet NUM_TLCS vērtību uz to TLC5940 skaitu, kurus esat savienojis kopā, pēc tam saglabājiet failu un izdzēsiet arī failu Tlc5940.o, kas atrodas tajā pašā mapē. Visbeidzot restartējiet IDE. Pēc tam jūs varat atsaukties uz otrā un turpmākā TLC5940 kanāliem secīgi no pirmā. Tas ir, pirmais ir 0 ~ 15, otrais ir 16 ~ 29 utt.
6. darbība: Servo vadīšana ar TLC5940
Tā kā TLC5940 ģenerē PWM (impulsa platuma modulācijas) izvadi, tas ir lieliski piemērots arī servo vadīšanai. Tāpat kā gaismas diodes - jūs varat vienlaikus kontrolēt līdz sešpadsmit. Ideāli piemērots zirneklim līdzīgu robotu, dīvainu pulksteņu vai trokšņa radīšanai.
Izvēloties servo, pārliecinieties, ka tas darbības laikā neizraisa vairāk par 120 mA (maksimālā strāva vienam kanālam), kā arī ievērojiet sadaļu “Strāvas un siltuma pārvaldība” šīs apmācības beigās. Un izmantojiet ārēju barošanu ar servos, nepaļaujieties uz Arduino 5V līniju.
Servo pieslēgšana ir vienkārša - GND līnija savienojas ar GND, 5V (vai barošanas sprieguma vads) tiek pievienots jūsu 5v (vai citam piemērotam barošanas avotam), un servo vadības tapa pieslēdzas pie vienas no TLC5940 izejām. Visbeidzot - un tas ir svarīgi - pievienojiet 2,2 kΩ rezistoru starp izmantoto (-ām) TLC5940 izejas tapu (-ām) un 5V. Servo vadība neatšķiras no gaismas diodes. Skices sākumā jums ir nepieciešamas pirmās divas rindas:
#include "Tlc5940.h" #include "tlc_servos.h"
tad spēkā neesošā iestatīšanā ():
tlc_initServos ();
Pēc tam izmantojiet šo funkciju, lai atlasītu darbināmo servo (kanālu) un vajadzīgo leņķi (leņķi):
tlc_setServo (kanāls, leņķis);
Tāpat kā gaismas diodes, varat apvienot dažus no tiem un pēc tam izpildīt komandu ar:
Tlc.update ();
Tāpēc redzēsim visu to darbībā. Šis skices piemērs aptver četrus servos 90 grādos:
#include "Tlc5940.h" #include "tlc_servos.h"
anulēts iestatījums ()
{tlc_initServos (); // Piezīme: tas samazinās PWM frekvenci līdz 50 Hz. }
tukša cilpa ()
{par (int leņķis = 0; leņķis = 0; leņķis-) {tlc_setServo (0, leņķis); tlc_setServo (1, leņķis); tlc_setServo (2, leņķis); tlc_setServo (3, leņķis); Tlc.update (); kavēšanās (5); }}
Video parāda šo skici darbībā ar četriem servos.
Ja servos negriežas pareizajā leņķī - piemēram, jūs lūdzat 180 grādus un tie griežas tikai līdz 90 vai ap to, ir nepieciešams nedaudz strādāt.
Jums ir jāatver tlc_servos.h fails, kas atrodas TLC5940 Arduino bibliotēkas mapē, un eksperimentējiet ar SERVO_MIN_WIDTH un SERVO_MAX_WIDTH vērtībām. Piemēram, mainiet SERVO_MIN_WIDTH no 200 uz 203 un SERVO_MAX_WIDTH no 400 uz 560.
7. darbība: strāvas un siltuma pārvaldība
Kā minēts iepriekš, TLC5940 var apstrādāt ne vairāk kā 120 mA vienā kanālā. Pēc dažiem eksperimentiem jūs varat pamanīt, ka TLC5940 patiešām sasilst - un tas ir labi.
Ņemiet vērā, ka ir noteikts maksimālais jaudas daudzums, ko var izkliedēt pirms detaļas iznīcināšanas. Ja izmantojat tikai parastas dārza gaismas diodes vai mazākus servos, jauda nebūs problēma. Tomēr, ja plānojat maksimāli izmantot TLC5940 - lūdzu, pārskatiet bibliotēkas autoru sniegtās piezīmes.
Secinājums
Atkal esat ceļā uz neticami noderīgas daļas vadīšanu ar savu Arduino. Tagad ar nelielu iztēli jūs varat izveidot visu veidu vizuālos displejus vai izklaidēties ar daudziem servos.
Šo ziņu jums sniedz pmdway.com, kas piedāvā TLC5940 produktus kopā ar visu, kas paredzēts ražotājiem un elektronikas entuziastiem, ar bezmaksas piegādi visā pasaulē.
Ieteicams:
Mac Lilypad USB seriālā porta/draivera problēmas novēršana: 10 soļi (ar attēliem)
Mac Lilypad USB seriālā porta/draivera problēmas novēršana: Vai kopš 2016. gada jūsu Mac ir jaunāks par 2 gadiem? Vai nesen esat jauninājis uz jaunāko OS (Yosemite vai kaut ko jaunāku)? Vai jūsu Lilypad USB/MP3 vairs nedarbojas? apmācība parādīs, kā es laboju savus Lilypad USB. Kļūda, ar kuru es saskāros, bija saistīta
Pakāpju motora un draivera izvēle Arduino automatizētajam ekrāna ekrāna projektam: 12 soļi (ar attēliem)
Pakāpju motora un draivera izvēle Arduino automatizētā ēnas ekrāna projektam: Šajā pamācībā es veicu darbības, ko veicu, lai izvēlētos pakāpju motoru un draiveri automatizēta ēnu ekrāna projekta prototipam. Toni ekrāni ir populārie un lētie Coolaroo ar roku kloķētie modeļi, un es gribēju nomainīt t
NODEMCU LUA ESP8266 M5450B7 LED displeja draivera IC vadīšana: 5 soļi (ar attēliem)
NODEMCU LUA ESP8266 M5450B7 LED displeja draivera vadīšana katram. Ierīce nogremdē strāvu, nevis to piegādā, tāpēc c
Apmācība L298 2Amp motora draivera vairogam Arduino: 6 soļi
Apmācība L298 2Amp motora draivera vairogam Arduino: Apraksts L298 2Amp motora draivera vairogs Arduino pamatā ir L298 motora draivera integrētā shēma, pilna tilta motora draiveris. Tas var vadīt divus atsevišķus 2A līdzstrāvas motorus vai 1 2A pakāpju motoru. Motora ātrumu un virzienus var kontrolēt atsevišķi
Lieljaudas LED draivera shēmas: 12 soļi (ar attēliem)
Lieljaudas LED draivera shēmas: Lieljaudas gaismas diodes: apgaismojuma nākotne! bet … kā jūs tos izmantojat? kur tu tās ņem? 1 vatu un 3 vatu jaudas gaismas diodes tagad ir plaši pieejamas diapazonā no 3 līdz 5 USD, tāpēc pēdējā laikā esmu strādājis pie daudziem projektiem, kuros tie tiek izmantoti. profesionālajā jomā