Мазмұны:
- 1 -қадам: TLC5940 демонстрациялық схемасын құрыңыз
- 2 -қадам:
- 3 -қадам: TLC5940 басқару
- 4 -қадам:
- 5 -қадам: Екі немесе одан да көп TLC5940 пайдалану
- 6 -қадам: TLC5940 көмегімен сервистерді басқару
- 7 -қадам: ток пен жылуды басқару
Бейне: Arduino және TLC5940 PWM жарықдиодты драйвері IC: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл мақалада біз Texas Instruments TLC5940 16 каналды жарықдиодты драйвері IC қарастырамыз. Мұны істеудің себебі - көптеген светодиодтарды, сонымен қатар сервоприводтарды басқарудың басқа оңай жолын көрсету. Біріншіден, мұнда TLC5940 бірнеше мысалдары келтірілген. Сіз TLC5940 -ке PMD Way -ден бүкіл әлем бойынша ақысыз жеткізілімге тапсырыс бере аласыз.
TLC5940 DIP нұсқасында, сонымен қатар бетіне бекітілген. Бұл шын мәнінде PWM (импульстік енді модуляция) арқылы он алты жеке жарықдиодты жарықтандыруды реттеуге мүмкіндік беретін ыңғайлы бөлік, сонымен қатар одан да көп басқару үшін бірнеше TLC5940 тізбегінен тұратын болады.
Бұл оқулықта біз бір немесе бірнеше TLC5940 IC -ті светодиодымен қалай басқаруға болатынын түсіндіреміз, сонымен қатар басқару сервосын қарастырамыз. Осы сәтте TLC5940 (.pdf) көшірмесін жүктеп алыңыз, себебі сіз осы процесте оған сілтеме жасайсыз. Сонымен қатар, Алекс Леонаның TLC5940 Arduino кітапханасын жүктеп, орнатыңыз. Егер сіз кітапхананы қалай орнату керектігін білмесеңіз, мына жерді басыңыз.
1 -қадам: TLC5940 демонстрациялық схемасын құрыңыз
Келесі схема Arduino немесе үйлесімді он алты жарықдиодты басқару үшін қажет минимум болып табылады. Сіз оны әртүрлі функциялармен тәжірибе жасау үшін және мүмкін болатын нәрсе туралы түсінік алу үшін пайдалана аласыз. Саған қажет болады:
- Arduino Uno немесе үйлесімді тақта
- 16 қалыпты, күнделікті светодиодтар, олар 20 мА дейінгі токқа ие болуы мүмкін
- 2 кОм резистор (10%беріңіз немесе алыңыз)
- 0,1uF керамика және 4,7uF электролиттік конденсатор
Жарықдиодты бағдарға назар аударыңыз-және TLC5940-жалпы анодты жарықдиодты драйвер екенін ұмытпаңыз, сондықтан барлық жарықдиодты анодтар бір-біріне қосылады, содан кейін 5В.
2 -қадам:
Бұл схема үшін сізге сыртқы 5В қуат көзі қажет емес, бірақ болашақта сізге қажет болуы мүмкін. Резистордың мақсаты - светодиодтар арқылы өтетін ток мөлшерін бақылау. Резистордың қажетті мәні келесі формуламен есептеледі:
R = 39.06 / Imax, мұнда R (Оммен) - резистордың мәні, ал Imax (амперде) - жарық диодтар арқылы өткіңіз келетін токтың максималды мөлшері.
Мысалы, егер сізде 20 мА тура ток бар светодиодтар болса - резисторды есептеу: R = 39.06 / 0.02 = 1803 Ом болады. Схема құрастырылғаннан кейін - Arduino IDE ашыңыз және TLC5940 кітапханасының мысал қалтасында орналасқан BasicUse.pde нобайын жүктеңіз.
Сізге бейнеде көрсетілгендей нәтиже ұсынылуы керек.
3 -қадам: TLC5940 басқару
Енді схема жұмыс істейді, біз TLC5940 қалай басқарамыз? Біріншіден, міндетті функциялар - эскиздің басында кітапхананы қамтиды:
#«Tlc5940.h» қосыңыз
содан кейін келесілерді void setup () орналастыру арқылы кітапхананы инициализациялаңыз:
Tlc.init (x);
x - қосымша параметр - егер сіз барлық арналарды эскиз бастала салысымен белгілі бір жарықтылыққа орнатқыңыз келсе, Tlc.init () функциясына x үшін 0 мен 4095 аралығындағы мәнді енгізуге болады.
Енді арнаны/жарық диодты қосу немесе өшіру. Әр арна 0-ден 15-ке дейін нөмірленеді және әр арнаның жарықтығын 0-ден 4095-ке дейін реттеуге болады. Бұл екі бөліктен тұратын процесс … Біріншіден-қажетті арналар мен сәйкес жарықтылықты орнату үшін келесі функцияларды қолданыңыз. деңгей):
Tlc.set (арна, жарықтық);
Мысалы, егер сіз алғашқы үш арнаны толық жарықтықта қосқыңыз келсе, мына әрекеттерді қолданыңыз:
Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set (2, 4095);
Екінші бөлім - TLC5940 -ты бірінші бөлімнің қажетті нұсқауларымен жаңарту үшін келесіні қолдану:
Tlc.update ();
Егер сіз барлық арналарды бірден өшіргіңіз келсе:
Tlc.clear ();
4 -қадам:
Таза функциядан кейін TLC.update () шақырудың қажеті жоқ. Төменде барлық арналардың жарықтық/PWM мәндерін әр түрлі деңгейлерге орнататын жылдам мысал эскизі берілген:
#include «Tlc5940.h» void setup () {Tlc.init (0); // TLC5940 инициализациясын және барлық арналарды өшір}
бос цикл ()
{for (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); кешіктіру (1000); for (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); кешіктіру (1000); for (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); кешіктіру (1000); for (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); кешіктіру (1000); }
Әр арна/жарық диодының жеке жарықтығын басқару мүмкіндігі RGB светодиодтарын басқару кезінде де пайдалы болуы мүмкін - содан кейін әр элементтің әр түрлі жарықтық деңгейлері арқылы қажетті түстерді оңай таңдауға болады. Бейнеде демонстрация көрсетілген.
5 -қадам: Екі немесе одан да көп TLC5940 пайдалану
Қосымша жарықдиодты басқару үшін сіз бірнеше TLC5940 телефондарын тізбектей аласыз. Біріншіден, келесі TLC5940 -ты Arduino -ға демонстрациялық схемада көрсетілгендей қосыңыз - бірінші TLC5940 -тың SOUT түйреуішін (17) екінші TLC5940 -тың SIN істігіне (26) қосудан басқа - деректер Arduino -дан өтетін кезде бірінші TLC5940 екіншісіне және т.б. Егер сізде үштен бірі болса, процедураны қайталаңыз және т.
Содан кейін TLC5940 кітапхана қалтасында орналасқан tlc_config.h файлын ашыңыз. NUM_TLCS мәнін бірге қосылған TLC5940 санына өзгертіңіз, содан кейін файлды сақтаңыз және сол қалтада орналасқан Tlc5940.o файлын жойыңыз. Соңында IDE қайта іске қосыңыз. Содан кейін сіз бірінші және одан кейінгі TLC5940 арналарына сілтеме жасай аласыз. Яғни, біріншісі 0 ~ 15, екіншісі 16 ~ 29 және т.б.
6 -қадам: TLC5940 көмегімен сервистерді басқару
TLC5940 PWM (импульстік енді модуляция) шығысын шығаратындықтан, бұл серво жүргізуге де жақсы. Жарықдиодты шамдар сияқты - сіз бірден он алтыға дейін басқара аласыз. Өрмекші тәрізді роботтарды, оғаш сағаттарды немесе шу шығаруға өте ыңғайлы.
Серво таңдағанда, оның жұмыс кезінде 120 мА -тан аспайтынына көз жеткізіңіз (бір арнаға максималды ток), сонымен қатар осы оқулықтың соңындағы «Ток пен жылуды басқару» бөліміне назар аударыңыз. Сыртқы қуатты серво көмегімен пайдаланыңыз, Arduino 5V желісіне сенбеңіз.
Сервоны қосу қарапайым - GND желісі GND -ге қосылады, 5В (немесе кернеудің кернеуі) сіздің 5v -ке (немесе басқа сәйкес келетін қуат көзіне), ал серво -басқару түйрегіші TLC5940 шығысының біріне қосылады. Соңында - және бұл маңызды - қолданылатын TLC5940 шығыс түйреуіштері мен 5В арасындағы 2,2 кОм резисторды қосыңыз. Сервоны басқару жарықдиодты шамадан өзгеше емес. Эскиздің басында сізге бірінші екі жол қажет:
#«Tlc5940.h» қосу#«tlc_servos.h» қосу
содан кейін жарамсыз баптауда ():
tlc_initServos ();
Әрі қарай, келесі сервисті (арнаны) және қажетті бұрышты (бұрышты) таңдауды таңдаңыз:
tlc_setServo (арна, бұрыш);
Светодиодтар сияқты, сіз олардың бірнешеуін біріктіре аласыз, содан кейін пәрменді орындай аласыз:
Tlc.update ();
Ендеше осының бәрін іс жүзінде көрейік. Келесі мысал эскиз 90 градус бойынша төрт серводы сыпырады:
#«Tlc5940.h» қосу#«tlc_servos.h» қосу
жарамсыз орнату ()
{tlc_initServos (); // Ескерту: бұл PWM жиілігін 50 Гц -ке дейін төмендетеді. }
бос цикл ()
{for (int бұрышы = 0; бұрыш = 0; бұрыш--) {tlc_setServo (0, бұрыш); tlc_setServo (1, бұрыш); tlc_setServo (2, бұрыш); tlc_setServo (3, бұрыш); Tlc.update (); кешіктіру (5); }}
Бейнеде бұл эскиз төрт серво көмегімен әрекет етеді.
Егер сіз сервоприводтар дұрыс бұрышқа бұрылмасаңыз - мысалы, сіз 180 градусқа талап етсеңіз, олар тек 90 градусқа немесе сол жаққа бұрылады, қосымша жұмыс қажет.
TLC5940 Arduino кітапхана қалтасында орналасқан tlc_servos.h файлын ашып, SERVO_MIN_WIDTH және SERVO_MAX_WIDTH мәндерімен тәжірибе жасау қажет. Мысалы, SERVO_MIN_WIDTH 200 -ден 203 -ке және SERVO_MAX_WIDTH 400 -ден 560 -қа өзгертіңіз.
7 -қадам: ток пен жылуды басқару
Бұрын айтылғандай, TLC5940 бір арнаға максимум 120 мА сыйымдылығын қолдана алады. Бірнеше тәжірибеден кейін сіз TLC5940 жылынатынын байқайсыз - бұл жақсы.
Бөлікті бұзар алдында таратылатын қуат мөлшерінің максималды шегі бар екенін ескеріңіз. Егер сіз жай ғана түрлі-түсті диодты немесе кішігірім серводты қолдансаңыз, қуат мәселесі болмайды. Егер сіз TLC5940 мүмкіндігінше пайдалануды жоспарлап отырсаңыз - кітапхана авторлары берген ескертулерді қарап шығыңыз.
Қорытынды
Тағы да сіз Arduino -мен керемет пайдалы бөлікті басқаруға бара жатырсыз. Енді кейбір қиялмен сіз көрнекі дисплейлердің барлық түрін жасай аласыз немесе көптеген серверлермен көңілді бола аласыз.
Бұл хабарламаны сізге pmdway.com ұсынады - ол TLC5940 өнімдерін, сонымен қатар өндірушілер мен электроникаға әуесқойларға арналған, бүкіл әлем бойынша ақысыз жеткізуді ұсынады.
Ұсынылған:
Raspberry Pi, Python және TB6600 қадамдық мотор драйвері: 9 қадам
Raspberry Pi, Python және TB6600 қадамдық қозғалтқыш драйвері: Бұл нұсқаулық Raspberry Pi 3b -ді TB6600 қадамдық қозғалтқыш контроллеріне, 24 VDC қуат көзіне және 6 сымды қадамдық қозғалтқышқа қосу үшін жасаған қадамдарды орындады. Мүмкін мен сендердің көпшілігіңе ұқсайтын шығарсыңдар, менде " сөмке " қалған номиналды
28BYJ-48 5В қадамдық қозғалтқыш және A4988 драйвері: 4 қадам
28BYJ-48 5V қадамдық қозғалтқышы мен A4988 драйвері: Сіз Arduino немесе micro: bit-тің бірнеше шығысын қолдана отырып, роботты дәл бұрышпен бұруды алғыңыз келді ме? Мұның бәрі арзанға ма? Бұл сізге нұсқаулық! Бұл нұсқаулықта біз өте арзан сатылы қозғалтқышты қалай басқаруға болатынын көреміз
4017 IC және RGB жарықдиодты жарықдиодты жарықдиодты қалай жасауға болады: 13 қадам
Жарық диодты машинаны 4017 IC және RGB светодиод арқылы қалай жасауға болады: Сәлем досым, бүгін мен 4017 IC және RGB LED светодиодты қолданып светодиодты іздеу схемасын жасаймын
Микроскоптарға арналған жарықдиодты жарықдиодты жарықдиодты жарықдиодты тақта!: 6 қадам (суреттермен)
Микроскоптар үшін DIY жарықдиодты жарықдиодты PCB! Мен электрониканы қолдануға арналған екінші микроскопты сатып алдым және сіз
ESP32 Thing және TB6612FNG драйвері бар жылжымалы робот, Android басқаратын BLE: 11 қадам
ESP32 Thing және TB6612FNG драйвері бар жылжымалы робот, Android басқаратын BLE: Барлығына сәлем Бұл менің бірінші нұсқаулығым. ESP32 Thing, TB6612 FNG және BLE негізіндегі айналмалы робот (Райдо лақап аты - қозғалыспен байланысты). Бір ерекшелігі, бұл фотосуреттер дайын емес