Orodha ya maudhui:
- Hatua ya 1: Jenga Mzunguko wa Maonyesho wa TLC5940
- Hatua ya 2:
- Hatua ya 3: Kudhibiti TLC5940
- Hatua ya 4:
- Hatua ya 5: Kutumia TLC5940s mbili au zaidi
- Hatua ya 6: Kudhibiti Servos na TLC5940
- Hatua ya 7: Kusimamia Sasa na Joto
Video: Arduino na TLC5940 PWM LED Dereva IC: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Katika nakala hii tutaenda kuchunguza Vyombo vya Texas TLC5940 16-channel LED driver IC. Sababu yetu ya kufanya hivyo ni kuonyesha njia nyingine rahisi ya kuendesha LED nyingi - na pia servos. Kwanza, hapa kuna mifano michache ya TLC5940. Unaweza kuagiza TLC5940 kutoka kwa PMD Way na uwasilishaji wa bure ulimwenguni.
TLC5940 inapatikana katika toleo la DIP, na pia upandaji wa uso. Kwa kweli ni sehemu inayofaa, hukuruhusu kurekebisha mwangaza wa LED kumi na sita za kibinafsi kupitia PWM (mpigo wa upanaji wa mapigo) - na unaweza pia kushikilia mnyororo zaidi ya moja TLC5940 kudhibiti hata zaidi.
Wakati wa mafunzo haya tutaelezea jinsi ya kudhibiti moja au zaidi ya TLC5940 ICs zilizo na LED na pia angalia kudhibiti servos. Kwa wakati huu, tafadhali pakua nakala ya TLC5940 (.pdf) kama utakavyorejelea kupitia mchakato huu. Zaidi ya hayo, tafadhali pakua na usakinishe maktaba ya TLC5940 Arduino na Alex Leone ambayo inaweza kupatikana hapa. Ikiwa hauna hakika jinsi ya kusanikisha maktaba, bonyeza hapa.
Hatua ya 1: Jenga Mzunguko wa Maonyesho wa TLC5940
Mzunguko ufuatao ndio kiwango cha chini kinachohitajika kudhibiti LED kumi na sita kutoka kwa Arduino yako au inayoendana. Unaweza kuitumia kujaribu kazi anuwai na kupata wazo la nini kinawezekana. Utahitaji:
- Bodi ya Arduino Uno au bodi inayoendana
- 16 za kawaida, LED za kila siku ambazo zinaweza kuwa na mbele ya hadi 20 mA
- kipinga 2 kΩ (toa au chukua 10%)
- kauri ya 0.1uF na capacitor ya elektroni ya 4.7uF
Kumbuka mwelekeo wa LED - na kumbuka TLC5940 ni dereva wa kawaida wa anode LED - kwa hivyo anode zote za LED zimeunganishwa pamoja na kisha kwa 5V.
Hatua ya 2:
Kwa mzunguko huu, hautahitaji usambazaji wa nje wa 5V - hata hivyo unaweza kuhitaji moja baadaye. Madhumuni ya kupinga ni kudhibiti kiwango cha sasa ambacho kinaweza kutiririka kupitia LED. Thamani ya kupinga inayotakiwa imehesabiwa na fomula ifuatayo:
R = 39.06 / Imax ambapo R (katika Ohms) ni thamani ya kupinga na Imax (katika Amps) ni kiwango cha juu cha sasa unachotaka kupita kupitia LED.
Kwa mfano, ikiwa una LED zilizo na mA 20 mbele - hesabu ya kontena itakuwa: R = 39.06 / 0.02 = 1803 Ohms. Mara baada ya mzunguko kukusanyika - fungua Arduino IDE na upakie mchoro BasicUse.pde ulio kwenye folda ya mfano kwa maktaba ya TLC5940.
Unapaswa kuwasilishwa na pato sawa na ile inayoonyeshwa kwenye video.
Hatua ya 3: Kudhibiti TLC5940
Sasa kwa kuwa mzunguko unafanya kazi, je! Tunadhibitije TLC5940? Kwanza, kazi za lazima - ni pamoja na maktaba mwanzoni mwa mchoro na:
# pamoja na "Tlc5940.h"
na kisha anzisha maktaba kwa kuweka yafuatayo katika usanidi batili ():
Tlc.init (x);
x ni kigezo cha hiari - ikiwa unataka kuweka chaneli zote kwa mwangaza fulani mara tu mchoro unapoanza, unaweza kuingiza thamani kati ya 0 na 4095 kwa x katika kazi ya Tlc.init ().
Sasa kuwasha au kuzima kituo / LED. Kila kituo kinahesabiwa kutoka 0 hadi 15, na mwangaza wa kila kituo unaweza kubadilishwa kati ya 0 na 4095. Hii ni mchakato wa sehemu mbili… Kwanza - tumia moja au zaidi ya kazi zifuatazo kuanzisha vituo vinavyohitajika na mwangaza husika (PWM kiwango):
Seti ya Tlc (kituo, mwangaza);
Kwa mfano, ikiwa ungependa kuwasha chaneli tatu za kwanza kwa mwangaza kamili, tumia:
Seti ya Tlc (0, 4095); seti ya Tlc (1, 4095); Seti ya Tlc (2, 4095);
Sehemu ya pili ni kutumia yafuatayo kusasisha TLC5940 na maagizo yanayotakiwa kutoka sehemu ya kwanza:
Tlc.sasisha ();
Ikiwa unataka kuzima vituo vyote mara moja, tumia tu:
Tlc. Wazi ();
Hatua ya 4:
Huna haja ya kupiga TLC.update () baada ya kazi wazi. Ufuatao ni mfano wa haraka mchoro ambao huweka mwangaza / maadili ya PWM ya vituo vyote kwa viwango tofauti:
# pamoja na "Tlc5940.h" usanidi batili () {Tlc.init (0); // anzisha TLC5940 na uzime vituo vyote}
kitanzi batili ()
{kwa (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.sasisha (); kuchelewesha (1000); kwa (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.sasisha (); kuchelewesha (1000); kwa (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.sasisha (); kuchelewesha (1000); kwa (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.sasisha (); kuchelewesha (1000); }
Uwezo wa kudhibiti mwangaza wa kila mtu kwa kila kituo / LED pia inaweza kuwa muhimu wakati wa kudhibiti RGB za LED - unaweza kuchagua kwa urahisi rangi zinazohitajika kupitia viwango tofauti vya mwangaza kwa kila kitu. Maonyesho yanaonyeshwa kwenye video.
Hatua ya 5: Kutumia TLC5940s mbili au zaidi
Unaweza kubana mnyororo TLC5940s kadhaa pamoja kudhibiti LED nyingi. Kwanza - waya juu ya TLC5940 inayofuata hadi Arduino kama inavyoonyeshwa kwenye mzunguko wa maandamano - isipokuwa unganisha pini ya SOUT (17) ya TLC5940 ya kwanza na pini ya SIN (26) ya TLC5940 ya pili - wakati data inasafiri kutoka Arduino, kupitia TLC5940 ya kwanza hadi ya pili na kadhalika. Kisha kurudia mchakato ikiwa una theluthi, nk Usisahau resisotr ambayo inaweka sasa!
Ifuatayo, fungua faili tlc_config.h iliyoko kwenye folda ya maktaba ya TLC5940. Badilisha thamani ya NUM_TLCS kuwa idadi ya TLC5940s ambazo umeunganisha pamoja, kisha uhifadhi faili na pia ufute faili Tlc5940.o pia iliyoko kwenye folda moja. Mwishowe anzisha tena IDE. Basi unaweza kutaja njia za TLC5940 ya pili na zaidi kwa mtiririko huo kutoka kwa ya kwanza. Hiyo ni, ya kwanza ni 0 ~ 15, ya pili ni 16 ~ 29, na kadhalika.
Hatua ya 6: Kudhibiti Servos na TLC5940
Kwa kuwa TLC5940 inazalisha PWM (mpigo wa upanaji wa mpigo), ni nzuri kwa kuendesha servos pia. Kama vile LED - unaweza kudhibiti hadi kumi na sita mara moja. Bora kwa kuunda roboti kama buibui, saa za ajabu au kufanya kelele.
Wakati wa kuchagua servo yako, hakikisha kwamba haitoi zaidi ya 120 mA wakati wa kufanya kazi (kiwango cha juu kwa kila kituo) na pia uzingatie sehemu ya "Kusimamia sasa na joto" mwishoni mwa mafunzo haya. Na tumia nguvu ya nje na servos, usitegemee laini ya 5V ya Arduino.
Kuunganisha servo ni rahisi - laini ya GND inaunganisha na GND, 5V (au mwongozo wa usambazaji wa voltage) inaunganisha kwenye 5v yako (au usambazaji mwingine unaofaa) na pini ya kudhibiti servo inaunganisha na moja ya matokeo ya TLC5940. Mwishowe - na hii ni muhimu - unganisha kipinga cha 2.2kΩ kati ya pini (s) za pato za TLC5940 zinazotumiwa na 5V. Kudhibiti servo sio tofauti na LED. Unahitaji mistari miwili ya kwanza mwanzoni mwa mchoro:
# pamoja na "Tlc5940.h" # pamoja na "tlc_servos.h"
kisha yafuatayo katika usanidi batili ():
tlc_initServos ();
Ifuatayo, tumia kazi ifuatayo kuchagua ni servo gani (idhaa) ya kufanya kazi na pembe inayohitajika (pembe):
tlc_setServo (kituo, pembe);
Kama vile LEDs unaweza kukusanya kadhaa hizi pamoja, kisha utekeleze amri na:
Tlc.sasisha ();
Basi hebu tuone hayo yote kwa vitendo. Mchoro ufuatao unafagia servos nne kwa digrii 90:
# pamoja na "Tlc5940.h" # pamoja na "tlc_servos.h"
kuanzisha batili ()
{tlc_initServos (); // Kumbuka: hii itashusha freqency ya PWM chini hadi 50Hz. }
kitanzi batili ()
{kwa (int angle = 0; angle = 0; angle--) {tlc_setServo (0, angle); tlc_setServo (1, pembe); tlc_setServo (2, pembe); tlc_setServo (3, pembe); Tlc.sasisha (); kuchelewesha (5); }}
Video inaonyesha mchoro huu ukifanya kazi na servos nne.
Ikiwa servos hazizunguki kwa pembe sahihi - kwa mfano unauliza digrii 180 na huzunguka tu hadi 90 au hapo, kazi ya ziada kidogo inahitajika.
Unahitaji kufungua faili ya tlc_servos.h iliyoko kwenye folda ya maktaba ya TLC5940 Arduino na ujaribu maadili ya SERVO_MIN_WIDTH na SERVO_MAX_WIDTH. Kwa mfano badilisha SERVO_MIN_WIDTH kutoka 200 hadi 203 na SERVO_MAX_WIDTH kutoka 400 hadi 560.
Hatua ya 7: Kusimamia Sasa na Joto
Kama ilivyoelezwa hapo awali, TLC5940 inaweza kushughulikia kiwango cha juu cha 120 mA kwa kila kituo. Baada ya kujaribu kadhaa unaweza kugundua kuwa TLC5940 inapata joto - na hiyo ni sawa.
Kumbuka kuwa kuna kikomo cha juu kwa kiwango cha nguvu ambacho kinaweza kufutwa kabla ya kuharibu sehemu hiyo. Ikiwa unatumia tu LED za kawaida za bustani au servos ndogo, nguvu haitakuwa shida. Walakini ikiwa unapanga kutumia TLC5940 kwa kiwango cha juu - tafadhali kagua maandishi yaliyotolewa na waandishi wa maktaba.
Hitimisho
Kwa mara nyingine uko njiani kudhibiti sehemu muhimu sana na Arduino yako. Sasa na mawazo kadhaa unaweza kuunda kila aina ya maonyesho ya kuona au kufurahiya na servos nyingi.
Chapisho hili linaletwa kwako na pmdway.com - ambayo inatoa bidhaa za TLC5940 pamoja na kila kitu kwa watengenezaji na wapenda umeme, na uwasilishaji wa bure ulimwenguni.
Ilipendekeza:
Dereva wa Laser Diode Dereva -- Chanzo cha Sasa cha Sasa: Hatua 6 (na Picha)
Dereva wa Lodi ya diodi ya DIY || Chanzo cha Sasa cha Mara kwa Mara: Katika mradi huu nitakuonyesha jinsi nilivyoondoa diode ya laser kutoka kwa Burner ya DVD ambayo inapaswa kuwa na nguvu ya kuwasha mechi. Ili kuwezesha diode kwa usahihi nitaonyesha pia jinsi ninavyounda chanzo cha sasa cha kila wakati ambacho kinatoa dhamana
MOSTER FET - Dual 500Amp 40 Volt MOSFET 3d Printer Moto Moto Dereva Dereva: Hatua 7 (na Picha)
MOSTER FET - Dual 500Amp 40 Volt MOSFET 3d Printer Inapokanzwa Dereva za Kitanda: Labda ulibonyeza ng'ombe hii takatifu ya kufikiria, 500 AMPS !!!!!. Kuwa waaminifu, bodi ya MOSFET niliyounda haitaweza kufanya salama 500Amps. Inaweza kwa muda mfupi, kabla tu ya kupasuka kwa moto.Hii haikuundwa kuwa ujanja
Kuchagua Magari ya Dereva na Dereva kwa Mradi wa Skrini ya Kiotomatiki ya Kivuli cha Arduino: Hatua 12 (na Picha)
Kuchagua Magari ya Dereva na Dereva kwa Mradi wa Skrini ya Kiotomatiki ya Arduino: Katika hii Inayoweza Kuelekezwa, nitapitia hatua ambazo nilichukua kuchagua Step Motor na Dereva kwa mfano wa mradi wa Screen Shade Screen. Skrini za kivuli ni mifano maarufu na isiyo na gharama kubwa ya mikono iliyofifia ya Coolaroo, na nilitaka kuchukua nafasi ya
Dereva wa Pikipiki wa DC Kutumia Mosfets za Umeme [Kudhibitiwa kwa PWM, Daraja la nusu 30A]: Hatua 10
Dereva wa Magari wa DC Kutumia Mosfets za Umeme [Kudhibitiwa kwa PWM, Daraja la Nne la 30A: Chanzo kikuu (Pakua Gerber / Agiza PCB): http://bit.ly/2LRBYXH
Kuunganisha mbali Dereva ya Dereva ya Kompyuta ili Kupata Sumaku adimu za Ardhi .: Hatua 8
Kuunganisha Hifadhi ya Dereva ya Kompyuta ili kupata Sumaku adimu za Ardhi. Katika hii nitafundishwa nitakuonyesha hatua za kuchukua gari ngumu ya kompyuta na kupata sumaku za nadra kutoka kwake