Përmbajtje:

Arduino dhe IC i Shoferit TLC5940 PWM LED: 7 hapa
Arduino dhe IC i Shoferit TLC5940 PWM LED: 7 hapa

Video: Arduino dhe IC i Shoferit TLC5940 PWM LED: 7 hapa

Video: Arduino dhe IC i Shoferit TLC5940 PWM LED: 7 hapa
Video: Домашняя автоматизация: изменение направления вращения двигателя постоянного тока с помощью 2 реле и Arduino - Robojax 2024, Korrik
Anonim
Arduino dhe IC i Shoferit TLC5940 PWM LED
Arduino dhe IC i Shoferit TLC5940 PWM LED

Në këtë artikull ne do të shqyrtojmë IC-në e shoferit LED me 16 kanale të Texas Instruments TLC5940. Arsyeja jonë për ta bërë këtë është të demonstrojmë një mënyrë tjetër, më të lehtë për të drejtuar shumë LED - dhe gjithashtu servo. Së pari, këtu janë disa shembuj të TLC5940. Ju mund të porosisni TLC5940 nga PMD Way me shpërndarje falas në të gjithë botën.

TLC5940 është në dispozicion në versionin DIP, dhe gjithashtu montohet në sipërfaqe. Reallyshtë me të vërtetë një pjesë e përshtatshme, që ju lejon të rregulloni shkëlqimin e gjashtëmbëdhjetë LED-ve individualë përmes PWM (modulim i gjerësisë së pulsit)-dhe gjithashtu mund të lidhni zinxhirë më shumë se një TLC5940 për të kontrolluar edhe më shumë.

Gjatë këtij mësimi ne do të shpjegojmë se si të kontrollojmë një ose më shumë IC TLC5940 me LED dhe gjithashtu të shikojmë shërbimin kontrollues. Në këtë pikë, ju lutemi shkarkoni një kopje të TLC5940 (.pdf) siç do t'i referoheni gjatë këtij procesi. Për më tepër, ju lutemi shkarkoni dhe instaloni bibliotekën TLC5940 Arduino nga Alex Leone e cila mund të gjendet këtu. Nëse nuk jeni të sigurt se si të instaloni një bibliotekë, klikoni këtu.

Hapi 1: Ndërtoni një qark demonstrimi TLC5940

Ndërtoni një qark demonstrimi TLC5940
Ndërtoni një qark demonstrimi TLC5940

Qarku i mëposhtëm është minimumi i kërkuar për të kontrolluar gjashtëmbëdhjetë LED nga Arduino juaj ose i pajtueshëm. Mund ta përdorni për të eksperimentuar me funksione të ndryshme dhe për të marrë një ide se çfarë është e mundur. Do t'ju duhet:

  • Një bord Arduino Uno ose i pajtueshëm
  • 16 LED normale, të përditshme që mund të kenë një rrymë përpara deri në 20 mA
  • një rezistencë 2 kΩ (jep ose merr 10%)
  • një qeramike 0.1uF dhe një kondensator elektrolitik 4.7uF

Merrni parasysh orientimin LED-dhe mbani mend TLC5940 është një shofer LED me anodë të zakonshme-kështu që të gjitha anodat LED janë të lidhura së bashku dhe më pas në 5V.

Hapi 2:

Për këtë qark të veçantë, nuk do të keni nevojë për një furnizim me energji të jashtme 5V - megjithatë mund të keni nevojë për një në të ardhmen. Qëllimi i rezistencës është të kontrollojë sasinë e rrymës që mund të rrjedhë përmes LED -ve. Vlera e kërkuar e rezistencës llogaritet me formulën e mëposhtme:

R = 39.06 / Imax ku R (në Ohms) është vlera e rezistencës dhe Imax (në Amper) është sasia maksimale e rrymës që dëshironi të rrjedhë përmes LED -ve.

Për shembull, nëse keni LED me një rrymë përpara 20 mA - llogaritja e rezistencës do të ishte: R = 39.06 / 0.02 = 1803 Ohms. Pasi të keni montuar qarkun - hapni ID -në Arduino dhe ngarkoni skicën BasicUse.pde e cila gjendet në dosjen shembull për bibliotekën TLC5940.

Ju duhet të paraqiteni me dalje të ngjashme me atë që tregohet në video.

Hapi 3: Kontrolli i TLC5940

Tani që qarku funksionon, si e kontrollojmë TLC5940? Së pari, funksionet e detyrueshme - përfshijnë bibliotekën në fillim të skicës me:

#përfshi "Tlc5940.h"

dhe pastaj inicializoni bibliotekën duke vendosur sa më poshtë në void setup ():

Tlc.init (x);

x është një parametër opsional - nëse doni të vendosni të gjitha kanalet në një shkëlqim të caktuar sapo të fillojë skica, mund të futni një vlerë midis 0 dhe 4095 për x në funksionin Tlc.init ().

Tani për të ndezur ose fikur një kanal/LED. Çdo kanal është i numëruar nga 0 në 15 dhe shkëlqimi i secilit kanal mund të rregullohet midis 0 dhe 4095. Ky është një proces me dy pjesë… Së pari-përdorni një ose më shumë nga funksionet e mëposhtëm për të vendosur kanalet e kërkuara dhe shkëlqimin përkatës (PWM niveli):

Tlc.set (kanali, shkëlqimi);

Për shembull, nëse dëshironi të keni tre kanalet e para të ndezura me shkëlqim të plotë, përdorni:

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

Pjesa e dytë është të përdorni sa më poshtë për të azhurnuar TLC5940 me udhëzimet e kërkuara nga pjesa e parë:

Tlc.update ();

Nëse doni të fikni të gjitha kanalet menjëherë, thjesht përdorni:

Tlc.qartë ();

Hapi 4:

Nuk keni nevojë të telefononi një TLC.update () pas funksionit të qartë. Më poshtë është një skicë shembull i shpejtë që vendos vlerat e shkëlqimit/PWM të të gjitha kanaleve në nivele të ndryshme:

#include "Tlc5940.h" void setup () {Tlc.init (0); // inicializoni TLC5940 dhe fikni të gjitha kanalet}

lak void ()

{për (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); vonesa (1000); për (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); vonesa (1000); për (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); vonesa (1000); për (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); vonesa (1000); }

Aftësia për të kontrolluar ndriçimin individual për secilin kanal/LED mund të jetë gjithashtu e dobishme kur kontrolloni LED RGB - atëherë mund të zgjidhni me lehtësi ngjyrat e kërkuara përmes niveleve të ndryshme të shkëlqimit për secilin element. Një demonstrim tregohet në video.

Hapi 5: Përdorimi i dy ose më shumë TLC5940

Ju mund të lidhni disa zinxhirë TLC5940 së bashku për të kontrolluar më shumë LED. Së pari - lidhni TLC5940 tjetër në Arduino siç tregohet në qarkun demonstrues - përveç lidhjes së kunjit SOUT (17) të TLC5940 të parë me kunjin SIN (26) të TLC5940 të dytë - ndërsa të dhënat udhëtojnë nga Arduino, përmes TLC5940 e parë tek e dyta dhe kështu me radhë. Pastaj përsëriteni procesin nëse keni një të tretë, etj. Mos harroni resizotrin që vendos rrymën!

Tjetra, hapni skedarin tlc_config.h të vendosur në dosjen e bibliotekës TLC5940. Ndryshoni vlerën e NUM_TLCS në numrin e TLC5940 që keni lidhur së bashku, pastaj ruani skedarin dhe gjithashtu fshini skedarin Tlc5940.o gjithashtu të vendosur në të njëjtën dosje. Më në fund rinisni IDE. Pastaj mund t'i referoheni kanaleve të TLC5940 të dytë dhe të mëtejshëm në mënyrë radhazi nga e para. Kjo do të thotë, e para është 0 ~ 15, e dyta është 16 ~ 29, dhe kështu me radhë.

Hapi 6: Kontrollimi i shërbimeve me TLC5940

Ndërsa TLC5940 gjeneron dalje PWM (modulim i gjerësisë së pulsit), është i shkëlqyeshëm edhe për drejtimin e servove gjithashtu. Ashtu si LEDs - ju mund të kontrolloni deri në gjashtëmbëdhjetë menjëherë. Ideale për krijimin e robotëve të ngjashëm me merimangën, orë të çuditshme ose për të bërë zhurmë.

Kur zgjidhni servo -në tuaj, sigurohuni që të mos tërheq më shumë se 120 mA kur punoni (rryma maksimale për kanal) dhe gjithashtu kushtojini vëmendje seksionit "Menaxhimi i rrymës dhe nxehtësisë" në fund të këtij mësimi. Dhe përdorni energjinë e jashtme me servos, mos u mbështetni në linjën 5V të Arduino.

Lidhja e një servo është e thjeshtë - linja GND lidhet me GND, 5V (ose rryma e tensionit të furnizimit) lidhet me 5v tuaj (ose furnizim tjetër i përshtatshëm) dhe kunja e kontrollit servo lidhet me një nga daljet e TLC5940. Së fundi - dhe kjo është e rëndësishme - lidhni një rezistencë 2.2kΩ midis kunjave (ve) dalës TLC5940 dhe 5V. Kontrolli i një servo nuk është aq i ndryshëm nga një LED. Ju duhen dy rreshtat e parë në fillim të skicës:

#përfshi "Tlc5940.h" #include "tlc_servos.h"

pastaj në void setup ():

tlc_initServos ();

Tjetra, përdorni funksionin e mëposhtëm për të zgjedhur cilin servo (kanal) për të vepruar dhe këndin (këndin) e kërkuar:

tlc_setServo (kanali, këndi);

Ashtu si LED -të mund të grumbulloni disa prej tyre së bashku, dhe pastaj të ekzekutoni komandën me:

Tlc.update ();

Pra, le t'i shohim të gjitha ato në veprim. Shembulli i mëposhtëm i skicës spastron katër servos në 90 gradë:

#përfshi "Tlc5940.h" #include "tlc_servos.h"

void setup ()

{tlc_initServos (); // Shënim: kjo do të ulë frekuencën PWM në 50 Hz. }

lak void ()

{për (int kënd = 0; kënd = 0; kënd--) {tlc_setServo (0, kënd); tlc_setServo (1, kënd); tlc_setServo (2, kënd); tlc_setServo (3, kënd); Tlc.update (); vonesa (5); }}

Video tregon këtë skicë në veprim me katër servos.

Nëse servosët nuk rrotullohen në këndin e duhur - për shembull ju kërkoni 180 gradë dhe ato rrotullohen vetëm në 90 ose aty, kërkohet pak punë shtesë.

Ju duhet të hapni skedarin tlc_servos.h të vendosur në dosjen e bibliotekës TLC5940 Arduino dhe të eksperimentoni me vlerat për SERVO_MIN_WIDTH dhe SERVO_MAX_WIDTH. Për shembull ndryshoni SERVO_MIN_WIDTH nga 200 në 203 dhe SERVO_MAX_WIDTH nga 400 në 560.

Hapi 7: Menaxhimi i rrymës dhe nxehtësisë

Siç u përmend më herët, TLC5940 mund të trajtojë një maksimum prej 120 mA për kanal. Pas disa eksperimenteve mund të vini re se TLC5940 nxehet - dhe kjo është në rregull.

Vini re se ekziston një kufi maksimal për sasinë e energjisë që mund të shpërndahet para se të shkatërroni pjesën. Nëse jeni duke përdorur LED të zakonshëm të varieteteve të kopshtit ose servo më të vegjël, fuqia nuk do të jetë problem. Sidoqoftë, nëse planifikoni të përdorni TLC5940 në maksimum - ju lutemi rishikoni shënimet e dhëna nga autorët e bibliotekës.

Përfundim

Edhe një herë jeni në rrugën tuaj për të kontrolluar një pjesë tepër të dobishme me Arduino -n tuaj. Tani me pak imagjinatë mund të krijoni të gjitha llojet e ekraneve vizuale ose të argëtoheni me shumë servos.

Ky postim ju është sjellë nga pmdway.com - i cili ofron produkte TLC5940 së bashku me gjithçka për prodhuesit dhe entuziastët e elektronikës, me shpërndarje falas në të gjithë botën.

Recommended: