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

معايرة سطوع LED: 5 خطوات
معايرة سطوع LED: 5 خطوات

فيديو: معايرة سطوع LED: 5 خطوات

فيديو: معايرة سطوع LED: 5 خطوات
فيديو: 5 اشياء ان فعلتها ستضاعف قوة الاضاءة فى السيارة 2024, شهر نوفمبر
Anonim
معايرة سطوع LED
معايرة سطوع LED

بينما كنت أصنع ضوءًا خرافيًا ، أدركت أن قيمة PWM غير متناسبة خطيًا مع سطوع LED. ببساطة ، إذا كانت قيمة PWM مضاعفة ، فإن السطوع لا يتضاعف ؛ خاصة عندما يكون PWM قريبًا من الحد الأقصى ، لا يمكن التعرف على أي تغيير من قبل عيني. اعتقدت أنه يجب أن تكون مشكلة معايرة بسيطة! وكانت الطريقة التي صنعت بها هذا المشروع! تكمن الفكرة في قياس سطوع LED مع بعض الأجهزة (مستشعر الإضاءة أو المقاوم الضوئي) وإيجاد علاقة بين قيمة PWM والسطوع. ثم لاحقًا ، إذا قمت بضبط السطوع على 50 ٪ ، فسيقوم Arduino بحساب PWM المقابل وتخفيت مؤشر LED وفقًا لذلك.

لذلك ، أحتاج إلى مستشعر إضاءة ومصباح LED لقياس السطوع. باستخدام بطاقة SD ، سأحفظ البيانات لإجراء مناسب لاحقًا. سيتم إجراء التركيب في برنامج Excel (أو أي برنامج آخر). سيتم استخدام الإخراج في كود Arduino ، وهذا كل شيء! يجب أن يتم ذلك مرة واحدة. ثم يمكنك استخدام معلمة المعايرة إلى الأبد!

الخطوة 1: الأجزاء

1- WEMOS mini D1: Aliexpress 3 يورو

2- TSL 2561 (مستشعر الإضاءة): Aliexpress 3 يورو

3- وحدة بطاقة SD: Aliexpress 1 يورو

4- LED

5- مقاوم 220 اوم

6- أسلاك

التكلفة الإجمالية: 8-10 يورو

الخطوة 2: الأسلاك

الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك

لا ينبغي تغيير وحدة بطاقة SD وأسلاك مستشعر الإضاءة (معظمها). يجب أن يكون الصمام متصلاً بدبوس PWM.

الخطوة 3: الكود

الشفرة
الشفرة

لقد جمعت ثلاثة أجزاء من الرموز:

بطاقة SD: مثال مستخدم> SD> ReadWrite في Arduino IDE

TSL 2561: مثال على مكتبة Adafruit TSL2561 (sensorapi) ؛ ستجده في أمثلة ، إذا قمت بتثبيت المكتبة (أفترض أنك تعرف كيفية تثبيت مكتبة في Arduino IDE).

يتلاشى مؤشر LED: أمثلة مستخدمة> تناظري> تلاشي

يقوم الكود ، بعد تهيئة الوحدات ، بتعتيم المصباح وقراءة السطوع وحفظه في بطاقة SD. بهذه الطريقة سأجمع بعض البيانات للمعايرة.

لقد غيرت كل رمز وفقًا لاحتياجاتي. الكود النهائي المرفق.

يجب أن تبدو الإشارة مثل الصورة المرفقة. لسوء الحظ ، نسيت أن ألتقط صورة ، لذا أعدتها في التفوق لأوضح لك كيف ينبغي أن تكون.

ملاحظة: أنا أستخدم wemo mini D1 بدلاً من Arduino. لسبب ما لا أعرفه ، يكون PWM بين 0 و 1023. في Arduino يجب أن يكون بين 0-255. إذا كنت تريد استخدام كود اردوينو ، فيجب عليك الاهتمام به (السطر 90).

الخطوة 4: التركيب والاستخدام

التركيب والاستخدام
التركيب والاستخدام
التركيب والاستخدام
التركيب والاستخدام

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

لتلائم الخط اتبع ما يلي:

1- ارسم البيانات (insert> scatter plot) أفترض أنك تعرف كيف.

2- انقر بزر الماوس الأيمن على البيانات المرسومة

3- انقر فوق خط الاتجاه.

4- (في Excel 2013) على الجانب الأيمن تنبثق لوحة. اختر الخطي. في الجزء السفلي ، اختر "عرض المعادلة على الرسم البياني".

العلاقة الخطية مختلفة عن تصوري. لذلك أعتقد أنه يجب أن تكون هناك علاقة لوغاريتمية بين إدراكي والسطوع (هذه هي أبسط طريقة خطرت في بالي!). لذلك أخذت منحدر الملاءمة. الاعتراض ليس مهما ، لأنه يعتمد على التلوث الضوئي المحيط! بدلاً من ذلك ، أضفت 1. لأن Log10 (0) لا نهائي. لذلك أنا بحاجة إلى اعتراض لحل المشكلة. في حالتي ، تبدو المعادلة كما يلي:

y = Log10 (0.08 x +1) ، y هي السطوع و x هي قيمة PWM (0-1023)

قمت بتطبيع المعادلة إلى أقصى قيمة. ثم يكون ران الإخراج دائمًا بين 0-100. بهذه الطريقة يمكنني أن أطلب من اردوينو سطوعًا نسبيًا معينًا ، دون القلق من السطوع المطلق الأقصى.

ص = Log10 (0.08 × +1) * 100 / 1.914

نظرًا لأن المدخلات الخاصة بي في arduino هي السطوع النسبي ، فأنا بحاجة إلى إعادة ترتيب معادلة x (PWM):

س = (10 ^ (ص * 1.914 / 100) - 1) / 0.08

باستخدام هذه المعادلة في الكود ، يمكننا الحصول على تغيير سطوع خطي. لذلك تطلب من arduino الحصول على سطوع (y) بين 0-100 ، ويحسب Arduino قيمة PWM المقابلة. بهذه الطريقة ، إذا ضاعف السطوع ، فإن إدراكك هو نفسه أيضًا.

إذا كنت تريد استخدامه في التعليمات البرمجية الخاصة بك ، فمن الأفضل إضافة هذه الأسطر:

سطوع = 50 ؛ // بالنسبة المئوية

PWM = الأسرى (10 ، السطوع * 1.914 / 100) -1) /0.0793 ؛

analogWrite (ليدبين ، PWM) ؛

ملاحظة: يتم إجراء التطبيع لـ PWM بحد أقصى 1023 (لـ Wemos mini D1). بالنسبة إلى Arduino PWM يتراوح ما بين 0-255. تحتاج إلى حسابها وفقًا لذلك.

NOTE2: لقد أضفت مخططًا لوغاريتميًا خطيًا لإظهار كيفية ارتباط إدراكنا وقيمة PWM. يجب عدم استخدامه للتركيب!

الخطوة 5: الخاتمة

المعايرة تعمل بشكل جيد بالنسبة لي. عندما تكون قيم PWM كبيرة ، يمكنني رؤية الفرق. من قبل كقيم كبيرة لم أستطع رؤية تأثير التعتيم. تم إجراء معظم التغييرات في نطاق صغير من PWM. الآن يتم معايرتها!

يجب أن يكون لكل مصباح LED ، بألوان مختلفة بشكل خاص ، معلمات معايرة خاصة به. ومع ذلك ، قمت بمعايرة مؤشر LED أزرق واستخدمت المعلمة لمصباح LED أبيض وكانت النتيجة مقبولة. لذلك ربما يمكنك استخدام معلمة المعايرة الخاصة بي دون أن تزعج نفسك !!

موصى به: