جدول المحتويات:

Arduino و TLC5940 PWM LED Driver IC: 7 خطوات
Arduino و TLC5940 PWM LED Driver IC: 7 خطوات

فيديو: Arduino و TLC5940 PWM LED Driver IC: 7 خطوات

فيديو: Arduino و TLC5940 PWM LED Driver IC: 7 خطوات
فيديو: Electronics: How many LED's can a TLC5940 16-Channel LED Driver power? (2 Solutions!!) 2024, يوليو
Anonim
اردوينو و TLC5940 PWM LED Driver IC
اردوينو و TLC5940 PWM LED Driver IC

في هذه المقالة سنقوم بفحص برنامج تشغيل IC ذي 16 قناة من Texas Instruments TLC5940. سبب قيامنا بذلك هو إظهار طريقة أخرى أسهل لقيادة العديد من مصابيح LED - وكذلك الماكينات. أولاً ، إليك بعض الأمثلة على TLC5940. يمكنك طلب TLC5940 من PMD Way مع التوصيل المجاني في جميع أنحاء العالم.

يتوفر TLC5940 في إصدار DIP وأيضًا مثبت على السطح. إنه حقًا جزء مناسب ، يسمح لك بضبط سطوع ستة عشر مصباحًا فرديًا من خلال PWM (تعديل عرض النبضة) - ويمكنك أيضًا ربط أكثر من TLC5940 بسلسلة واحدة للتحكم أكثر.

خلال هذا البرنامج التعليمي ، سنشرح كيفية التحكم في واحد أو أكثر من أجهزة TLC5940 المرحلية باستخدام مصابيح LED وننظر أيضًا في التحكم في الماكينات. في هذه المرحلة ، يرجى تنزيل نسخة من TLC5940 (.pdf) حيث ستشير إليها خلال هذه العملية. علاوة على ذلك ، يرجى تنزيل وتثبيت مكتبة Arduino TLC5940 بواسطة Alex Leone والتي يمكن العثور عليها هنا. إذا لم تكن متأكدًا من كيفية تثبيت مكتبة ، فانقر هنا.

الخطوة 1: قم ببناء دائرة شرح TLC5940

قم ببناء دائرة عرض TLC5940
قم ببناء دائرة عرض TLC5940

الدائرة التالية هي الحد الأدنى المطلوب للتحكم في ستة عشر مصباح LED من Arduino أو متوافق. يمكنك استخدامه لتجربة وظائف مختلفة والحصول على فكرة عما هو ممكن. سوف تحتاج:

  • لوحة Arduino Uno أو لوحة متوافقة
  • 16 مصباح LED يومي عادي يمكن أن يكون لها تيار أمامي يصل إلى 20 مللي أمبير
  • 2 kΩ المقاوم (إعطاء أو أخذ 10٪)
  • سيراميك 0.1 فائق التوهج ومكثف كهربائى 4.7 فائق التوهج

لاحظ اتجاه 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"

ثم قم بتهيئة المكتبة بوضع ما يلي في إعداد باطل ():

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 () ،

الخطوة الرابعة:

لا تحتاج إلى استدعاء 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) ؛ لـ (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 مفيدة أيضًا عند التحكم في RGB LEDs - يمكنك بعد ذلك بسهولة تحديد الألوان المطلوبة عبر مستويات سطوع مختلفة لكل عنصر. يظهر عرض توضيحي في الفيديو.

الخطوة 5: استخدام اثنين أو أكثر من TLC5940s

يمكنك ربط عدد قليل جدًا من TLC5940s معًا للتحكم في المزيد من مصابيح LED. أولاً - قم بتوصيل TLC5940 التالي بـ Arduino كما هو موضح في دائرة العرض التوضيحي - باستثناء توصيل دبوس SOUT (17) من TLC5940 الأول بدبوس SIN (26) من TLC5940 الثاني - حيث تنتقل البيانات من Arduino ، من خلال أول TLC5940 إلى الثاني وما إلى ذلك. ثم كرر العملية إذا كان لديك ثالث ، وما إلى ذلك. لا تنس resisotr الذي يضبط التيار!

بعد ذلك ، افتح الملف tlc_config.h الموجود في مجلد مكتبة TLC5940. قم بتغيير قيمة NUM_TLCS إلى عدد TLC5940s التي قمت بتوصيلها معًا ، ثم احفظ الملف واحذف أيضًا الملف Tlc5940.o الموجود أيضًا في نفس المجلد. أخيرًا أعد تشغيل IDE. يمكنك بعد ذلك الرجوع إلى قنوات TLC5940 الثانية والإضافية بالتتابع من الأولى. أي ، الأول هو 0 ~ 15 ، والثاني هو 16 ~ 29 ، وهكذا.

الخطوة 6: التحكم في الماكينات باستخدام TLC5940

نظرًا لأن TLC5940 يولد إخراج PWM (تعديل عرض النبض) ، فهو رائع لقيادة الماكينات أيضًا. تمامًا مثل مصابيح LED - يمكنك التحكم في ما يصل إلى ستة عشر مرة واحدة. مثالية لإنشاء روبوتات تشبه العنكبوت ، أو ساعات غريبة ، أو إحداث بعض الضوضاء.

عند اختيار المؤازرة الخاصة بك ، تأكد من أنها لا تجذب أكثر من 120 مللي أمبير عند التشغيل (الحد الأقصى الحالي لكل قناة) وانتبه أيضًا إلى قسم "إدارة التيار والحرارة" في نهاية هذا البرنامج التعليمي. واستخدم الطاقة الخارجية مع الماكينات ، ولا تعتمد على خط Arduino 5V.

لتوصيل المؤازرة أمر بسيط - يتصل خط GND بـ GND ، ويتصل 5V (أو مصدر جهد الإمداد) بجهد 5 فولت (أو مزود آخر مناسب) ويتصل دبوس التحكم المؤازر بأحد مخرجات TLC5940. أخيرًا - وهذا أمر مهم - قم بتوصيل المقاوم 2.2kΩ بين دبوس (دبابيس) الإخراج TLC5940 المستخدمة و 5 V. لا يختلف التحكم في المؤازرة عن LED. تحتاج إلى أول سطرين في بداية الرسم التخطيطي:

# تضمين "Tlc5940.h" # تضمين "tlc_servos.h"

ثم ما يلي في الإعداد الباطل ():

tlc_initServos () ،

بعد ذلك ، استخدم الوظيفة التالية لتحديد المؤازرة (القناة) المراد تشغيلها والزاوية المطلوبة (الزاوية):

tlc_setServo (قناة ، زاوية) ؛

تمامًا مثل مصابيح LED ، يمكنك تجميع عدد قليل منها معًا ، ثم تنفيذ الأمر باستخدام:

Tlc.update () ،

لذلك دعونا نرى كل ذلك في العمل. يكتسح الرسم التخطيطي المثال التالي أربع مؤازرات بزاوية 90 درجة:

# تضمين "Tlc5940.h" # تضمين "tlc_servos.h"

الإعداد باطل()

{tlc_initServos () ، // ملاحظة: سيؤدي هذا إلى خفض تردد PWM إلى 50 هرتز. }

حلقة فارغة()

{من أجل (زاوية int = 0 ؛ زاوية = 0 ؛ زاوية -) {tlc_setServo (0 ، زاوية) ؛ tlc_setServo (1 ، زاوية) ؛ tlc_setServo (2 ، زاوية) ؛ tlc_setServo (3 ، زاوية) ؛ Tlc.update () ، تأخير (5) ؛ }}

يُظهر الفيديو هذا الرسم التخطيطي في العمل بأربعة أجهزة.

إذا كانت الماكينات الخاصة بك لا تدور إلى الزاوية الصحيحة - على سبيل المثال تطلب 180 درجة وتدور فقط إلى 90 أو ما يقرب من ذلك ، فإن الأمر يتطلب القليل من العمل الإضافي.

تحتاج إلى فتح ملف tlc_servos.h الموجود في مجلد مكتبة Arduino TLC5940 وتجربة قيم SERVO_MIN_WIDTH و SERVO_MAX_WIDTH. على سبيل المثال ، قم بتغيير SERVO_MIN_WIDTH من 200 إلى 203 و SERVO_MAX_WIDTH من 400 إلى 560.

الخطوة 7: إدارة التيار والحرارة

كما ذكرنا سابقًا ، يمكن لـ TLC5940 معالجة 120 مللي أمبير كحد أقصى لكل قناة. بعد إجراء بعض التجارب ، قد تلاحظ أن TLC5940 يسخن بالفعل - ولا بأس بذلك.

لاحظ أن هناك حدًا أقصى لمقدار الطاقة التي يمكن تبديدها قبل تدمير الجزء. إذا كنت تستخدم فقط مصابيح LED من نوع الحديقة العادية أو أجهزة أصغر ، فلن تكون الطاقة مشكلة. ومع ذلك ، إذا كنت تخطط لاستخدام TLC5940 إلى أقصى حد - يرجى مراجعة الملاحظات التي قدمها مؤلفو المكتبة.

استنتاج

مرة أخرى ، أنت في طريقك للتحكم في جزء مفيد للغاية باستخدام Arduino. الآن مع بعض الخيال ، يمكنك إنشاء جميع أنواع العروض المرئية أو الاستمتاع بالعديد من الماكينات.

هذا المنشور مقدم إليك من pmdway.com - الذي يقدم منتجات TLC5940 جنبًا إلى جنب مع كل شيء للصانعين وعشاق الإلكترونيات ، مع التوصيل المجاني في جميع أنحاء العالم.

موصى به: