فهرست مطالب:

آردوینو و IC درایور TLC5940 PWM LED: 7 مرحله
آردوینو و IC درایور TLC5940 PWM LED: 7 مرحله

تصویری: آردوینو و IC درایور TLC5940 PWM LED: 7 مرحله

تصویری: آردوینو و IC درایور TLC5940 PWM LED: 7 مرحله
تصویری: 使用Arduino程式語言搭配簡易電路板,驅動LED點亮與熄滅 2024, جولای
Anonim
آردوینو و IC درایور LED TLC5940 PWM
آردوینو و IC درایور LED TLC5940 PWM

در این مقاله قصد داریم IC درایور LED 16 کاناله Texas Instruments TLC5940 را بررسی کنیم. دلیل ما برای انجام این کار نشان دادن راه راحت تر دیگری برای رانندگی بسیاری از LED ها - و همچنین سرویس ها است. در ابتدا ، چند نمونه از TLC5940 آورده شده است. شما می توانید TLC5940 را از PMD Way با ارسال رایگان به سراسر جهان سفارش دهید.

TLC5940 در نسخه DIP و همچنین روی سطح نصب می شود. این قسمت واقعاً مناسب است ، به شما امکان می دهد روشنایی شانزده LED جداگانه را از طریق PWM (مدولاسیون عرض پالس) تنظیم کنید-و همچنین می توانید بیش از یک TLC5940 را برای کنترل حتی بیشتر زنجیر کنید.

در طول این آموزش ما نحوه کنترل یک یا چند IC TLC5940 با LED را توضیح می دهیم و همچنین سرویس های کنترل را بررسی می کنیم. در این مرحله ، لطفاً یک کپی از TLC5940 (.pdf) را بارگیری کنید زیرا در این فرآیند به آن اشاره می کنید. علاوه بر این ، لطفاً کتابخانه TLC5940 Arduino توسط Alex Leone را بارگیری و نصب کنید که در اینجا یافت می شود. اگر از نحوه نصب کتابخانه مطمئن نیستید ، اینجا را کلیک کنید.

مرحله 1: یک مدار نمایشی TLC5940 بسازید

یک مدار نمایشی TLC5940 بسازید
یک مدار نمایشی TLC5940 بسازید

مدار زیر حداقل مورد نیاز برای کنترل شانزده LED از آردوینو یا سازگار است. می توانید از آن برای آزمایش عملکردهای مختلف و ایده گرفتن از آنچه ممکن است استفاده کنید. شما نیاز خواهید داشت:

  • Arduino Uno یا برد سازگار
  • 16 LED معمولی و روزمره که می توانند جریان رو به جلو تا 20 میلی آمپر داشته باشند
  • یک مقاومت 2 کیلو وات (10 give بدهید یا بگیرید)
  • یک سرامیک 0.1uF و یک خازن الکترولیتی 4.7uF

به جهت LED توجه داشته باشید-و به یاد داشته باشید که TLC5940 یک درایور LED با آند معمولی است-بنابراین تمام آندهای LED به هم متصل شده و سپس به 5 ولت متصل می شوند.

گام 2:

برای این مدار خاص ، نیازی به منبع تغذیه خارجی 5 ولت ندارید - هرچند ممکن است در آینده به آن نیاز داشته باشید. هدف مقاومت این است که میزان جریان قابل عبور از طریق LED ها را کنترل کند. مقدار مقاومت مورد نیاز با فرمول زیر محاسبه می شود:

R = 39.06 / Imax که R (در اهم) مقدار مقاومت و Imax (در آمپر) حداکثر مقدار جریانی است که می خواهید از طریق LED ها عبور کند.

به عنوان مثال ، اگر LED هایی با جریان جلو 20 میلی آمپر دارید - مقاومت محاسبه می شود: R = 39.06 / 0.02 = 1803 اهم. پس از مونتاژ مدار - Arduino IDE را باز کرده و طرح BasicUse.pde را که در پوشه نمونه کتابخانه TLC5940 موجود است بارگذاری کنید.

باید خروجی مشابه آنچه در ویدیو نشان داده شده است به شما ارائه شود.

مرحله 3: کنترل TLC5940

اکنون که مدار کار می کند ، چگونه TLC5940 را کنترل کنیم؟ اول ، توابع اجباری - شامل کتابخانه در ابتدای طرح با:

#شامل "Tlc5940.h"

و سپس کتابخانه را با قرار دادن موارد زیر در تنظیمات void () مقداردهی کنید:

Tlc.init (x) ؛

x یک پارامتر اختیاری است - اگر می خواهید همه کانالها را به محض شروع طرح روی روشنایی خاصی تنظیم کنید ، می توانید یک مقدار بین 0 تا 4095 را برای x در تابع () Tlc.init () وارد کنید.

حالا برای روشن یا خاموش کردن یک کانال/LED. هر کانال از 0 تا 15 شماره گذاری می شود و روشنایی هر کانال را می توان بین 0 تا 4095 تنظیم کرد. این یک فرایند دو قسمتی است … اول-از یک یا چند عملکرد زیر برای تنظیم کانال های مورد نیاز و روشنایی مربوطه (PWM مرحله):

Tlc.set (کانال ، روشنایی) ؛

به عنوان مثال ، اگر می خواهید سه کانال اول را با روشنایی کامل روشن کنید ، از موارد زیر استفاده کنید:

Tlc.set (0 ، 4095) ؛ Tlc.set (1 ، 4095) ؛ Tlc.set (2 ، 4095) ؛

بخش دوم استفاده از موارد زیر برای به روز رسانی TLC5940 با دستورالعمل های مورد نیاز از قسمت اول است:

Tlc.update ()؛

اگر می خواهید همه کانال ها را به طور همزمان خاموش کنید ، کافی است از موارد زیر استفاده کنید:

Tlc.clear ()؛

مرحله 4:

شما نیازی به فراخوانی TLC.update () بعد از تابع روشن ندارید. در زیر یک طرح سریع نمونه است که مقادیر روشنایی/PWM همه کانال ها را در سطوح مختلف تنظیم می کند:

#شامل "Tlc5940.h" void setup () {Tlc.init (0)؛ // TLC5940 را اولیه کنید و همه کانالها را خاموش کنید}

حلقه خالی ()

{برای (int i = 0 ؛ i <16؛ i ++) {Tlc.set (i ، 1023) ؛ } Tlc.update ()؛ تاخیر (1000) ؛ برای (int i = 0؛ i <16؛ i ++) {Tlc.set (i، 2046)؛ } Tlc.update ()؛ تاخیر (1000) ؛ برای (int i = 0؛ i <16؛ i ++) {Tlc.set (i، 3069)؛ } Tlc.update ()؛ تاخیر (1000) ؛ برای (int i = 0؛ i <16؛ i ++) {Tlc.set (i، 4095)؛ } Tlc.update ()؛ تاخیر (1000) ؛ }

توانایی کنترل روشنایی فردی برای هر کانال/LED نیز می تواند هنگام کنترل LED های RGB مفید باشد - سپس می توانید به راحتی رنگهای مورد نیاز را از طریق سطوح روشنایی مختلف برای هر عنصر انتخاب کنید. تظاهرات در فیلم نشان داده شده است.

مرحله 5: استفاده از دو یا چند TLC5940

برای کنترل LED های بیشتر می توانید چندین TLC5940 را با هم زنجیره کنید. اول - اتصال TLC5940 بعدی به آردوینو همانطور که در مدار نمایش داده شده است - به جز اتصال پین SOUT (17) اولین TLC5940 به پین SIN (26) TLC5940 دوم - هنگام انتقال داده ها از آردوینو ، از طریق اولین TLC5940 به دوم و غیره. سپس اگر سومی دارید این کار را تکرار کنید ، و غیره. resisotr که جریان را تنظیم می کند فراموش نکنید!

بعد ، فایل tlc_config.h واقع در پوشه کتابخانه TLC5940 را باز کنید. مقدار NUM_TLCS را به تعداد TLC5940 هایی که با هم وصل کرده اید تغییر دهید ، سپس فایل را ذخیره کرده و همچنین فایل Tlc5940.o را که در همان پوشه قرار دارد حذف کنید. در نهایت IDE را راه اندازی مجدد کنید. سپس می توانید به ترتیب کانالهای TLC5940 دوم و بعدی را از اول ردیف کنید. یعنی اولی 15 0 0 ، دومی 29 ~ 16 و غیره است.

مرحله 6: کنترل سرو با TLC5940

از آنجا که TLC5940 خروجی PWM (مدولاسیون عرض پالس) تولید می کند ، برای رانندگی سرویس ها نیز عالی است. درست مانند LED ها - می توانید همزمان شانزده عدد را کنترل کنید. ایده آل برای ایجاد روبات های شبیه عنکبوت ، ساعت های عجیب و غریب یا ایجاد سر و صدا.

هنگام انتخاب سروو ، اطمینان حاصل کنید که هنگام کار (حداکثر جریان در هر کانال) بیش از 120 میلی آمپر مصرف نکند و همچنین به بخش "مدیریت جریان و گرما" در پایان این آموزش توجه کنید. و از برق خارجی با سرووها استفاده کنید ، به خط 5 ولت آردوینو تکیه نکنید.

اتصال سروو ساده است - خط GND به GND متصل می شود ، 5V (یا منبع تغذیه ولتاژ) به 5 ولت (یا منبع مناسب دیگر) و پین کنترل سروو به یکی از خروجی های TLC5940 متصل می شود. در نهایت - و این مهم است - یک مقاومت 2.2kΩ بین پین (های) خروجی TLC5940 مورد استفاده و 5 ولت متصل کنید. کنترل سروو تفاوت چندانی با LED ندارد. در ابتدای طرح به دو خط اول نیاز دارید:

#شامل "Tlc5940.h"#شامل "tlc_servos.h"

سپس موارد زیر در void setup ():

tlc_initServos ()؛

در مرحله بعد ، از تابع زیر برای انتخاب سروو (کانال) و زاویه مورد نیاز (زاویه) استفاده کنید:

tlc_setServo (کانال ، زاویه) ؛

درست مانند LED ها می توانید چند مورد از آنها را با هم دسته بندی کرده و سپس دستور را با دستور زیر اجرا کنید:

Tlc.update ()؛

بنابراین بیایید همه اینها را در عمل ببینیم. مثال زیر ، چهار سرو را در 90 درجه جابجا می کند:

#شامل "Tlc5940.h"#شامل "tlc_servos.h"

void setup ()

{tlc_initServos ()؛ // توجه: با این کار فرکانس PWM به 50 هرتز کاهش می یابد. }

حلقه خالی ()

{for (int angle = 0؛ angle = 0؛ angle--) {tlc_setServo (0، angle)؛ tlc_setServo (1 ، زاویه) ؛ tlc_setServo (2 ، زاویه) ؛ tlc_setServo (3 ، زاویه) ؛ Tlc.update ()؛ تأخیر (5) ؛ }}

ویدئو این طرح را با چهار سرو در عمل نشان می دهد.

اگر سرووها به زاویه مناسب نمی چرخند - برای مثال 180 درجه می خواهید و آنها فقط تا 90 یا بیشتر می چرخند ، کمی کار اضافی لازم است.

شما باید فایل tlc_servos.h واقع در پوشه کتابخانه TLC5940 Arduino را باز کرده و مقادیر SERVO_MIN_WIDTH و SERVO_MAX_WIDTH را آزمایش کنید. برای مثال SERVO_MIN_WIDTH را از 200 به 203 و SERVO_MAX_WIDTH را از 400 به 560 تغییر دهید.

مرحله 7: مدیریت جریان و حرارت

همانطور که قبلاً ذکر شد ، TLC5940 می تواند حداکثر 120 میلی آمپر در هر کانال را اداره کند. پس از آزمایش ، ممکن است متوجه شوید که TLC5940 گرم می شود - و این خوب است.

توجه داشته باشید که حداکثر محدودیتی برای میزان توان قابل مصرف قبل از تخریب قطعه وجود دارد. اگر فقط از LED های معمولی باغی یا سروهای کوچکتر استفاده می کنید ، برق مشکلی نخواهد بود. اما اگر قصد دارید حداکثر از TLC5940 استفاده کنید - لطفاً یادداشت های ارائه شده توسط نویسندگان کتابخانه را مرور کنید.

نتیجه

بار دیگر در راه کنترل بخش فوق العاده مفید با آردوینو هستید. در حال حاضر با کمی تخیل می توانید انواع نمایش های بصری را ایجاد کنید یا با سرویس های مختلف سرگرم شوید.

این پست توسط pmdway.com - که محصولات TLC5940 را به همراه همه چیز برای سازندگان و علاقمندان به لوازم الکترونیکی ارائه می دهد ، با ارسال رایگان در سراسر جهان به شما ارائه می دهد.

توصیه شده: