विषयसूची:

एलईडी चमक को कैलिब्रेट करना: 5 कदम
एलईडी चमक को कैलिब्रेट करना: 5 कदम

वीडियो: एलईडी चमक को कैलिब्रेट करना: 5 कदम

वीडियो: एलईडी चमक को कैलिब्रेट करना: 5 कदम
वीडियो: कोई भी बल्ब अपने आप ON - OFF होगा | Automatic on-off led bulb | how to make on off led bulb 2024, नवंबर
Anonim
एलईडी चमक को कैलिब्रेट करना
एलईडी चमक को कैलिब्रेट करना

जब मैं एक परी प्रकाश बना रहा था, मुझे एहसास हुआ कि पीडब्लूएम मूल्य एलईडी की चमक के लिए गैर-रैखिक रूप से आनुपातिक है। सीधे शब्दों में कहें, यदि पीडब्लूएम मान दोगुना है तो चमक दोगुनी नहीं है; विशेष रूप से जब पीडब्लूएम अधिकतम के करीब होता है, तो मेरी आंखों से किसी भी बदलाव को पहचाना नहीं जा सकता है। मैंने सोचा कि यह एक साधारण अंशांकन मुद्दा होना चाहिए! और इस तरह मैंने यह प्रोजेक्ट बनाया! विचार कुछ डिवाइस (चमकदार सेंसर या फोटोरेसिस्टर) के साथ एक एलईडी की चमक को मापने और पीडब्लूएम मूल्य और चमक के बीच एक संबंध खोजने के लिए है। फिर बाद में अगर मैं चमक को 50% पर सेट करता हूं, तो Arduino संबंधित PWM की गणना करेगा और उसी के अनुसार एलईडी को मंद करेगा।

इसलिए, मुझे चमक को मापने के लिए एक चमकदार सेंसर और एक एलईडी की आवश्यकता है। एसडी कार्ड का उपयोग करके, मैं बाद में फिटिंग प्रक्रिया के लिए डेटा को सहेज लूंगा। फिटिंग एक्सेल (या किसी अन्य प्रोग्राम) में की जाएगी। आउट पुट का उपयोग Arduino कोड में किया जाएगा, और वह यह है! इसे एक बार किया जाना चाहिए। तब आप हमेशा के लिए अंशांकन पैरामीटर का उपयोग कर सकते हैं!

चरण 1: भाग

1- WEMOS मिनी D1: Aliexpress 3€

2- TSL 2561 (चमकदार सेंसर): Aliexpress 3€

3- एसडी कार्ड मॉड्यूल: Aliexpress 1€

4- एलईडी

5- प्रतिरोधी 220 ओम

6- तार

कुल लागत: 8 -10 €

चरण 2: वायरिंग

तारों
तारों
तारों
तारों
तारों
तारों

एसडी कार्ड मॉड्यूल और चमकदार सेंसर तारों को नहीं बदला जाना चाहिए (उनमें से अधिकतर)। एलईडी को पीडब्लूएम पिन से जोड़ा जाना चाहिए।

चरण 3: कोड

कोड
कोड

मैंने कोड के तीन टुकड़े संयुक्त किए:

एसडी कार्ड: प्रयुक्त उदाहरण> एसडी> Arduino IDE में ReadWrite

टीएसएल २५६१: प्रयुक्त एडफ्रूट टीएसएल२५६१ पुस्तकालय उदाहरण (सेंसोरापी); आप इसे उदाहरणों में पाएंगे, यदि आप पुस्तकालय स्थापित करते हैं (मुझे लगता है कि आप जानते हैं कि Arduino IDE में पुस्तकालय कैसे स्थापित किया जाए)।

एलईडी लुप्त होती: प्रयुक्त उदाहरण> एनालॉग> लुप्त होती

कोड, मॉड्यूल को इनिशियलाइज़ करने के बाद, एलईडी को मंद कर देगा और ब्राइटनेस को पढ़ेगा और इसे एसडी कार्ड में सेव करेगा। इस तरह मैं अंशांकन के लिए कुछ डेटा एकत्र करूंगा।

मैंने अपनी आवश्यकताओं के अनुसार प्रत्येक कोड को बदल दिया। अंतिम कोड संलग्न है।

संकेत संलग्न चित्र की तरह दिखना चाहिए। दुर्भाग्य से मैं एक फोटो लेना भूल गया था इसलिए मैं आपको यह दिखाने के लिए एक्सेल में फिर से लिखता हूं कि यह कैसा होना चाहिए।

नोट: मैं Arduino के बजाय wemo mini D1 का उपयोग कर रहा हूं। किसी कारण से जो मुझे नहीं पता, PWM 0 और 1023 के बीच है। Arduino में यह 0-255 के बीच होना चाहिए। यदि आप arduino के लिए कोड का उपयोग करना चाहते हैं, तो आपको इसका ध्यान रखना चाहिए (पंक्ति 90)।

चरण 4: फिटिंग और उपयोग करना

फिटिंग, और उपयोग
फिटिंग, और उपयोग
फिटिंग, और उपयोग
फिटिंग, और उपयोग

डेटा एकत्र करने के बाद, मैंने एक्सेल में फ़ाइल खोली और डेटा को प्लॉट किया (चित्र को देखें)। पहला कॉलम पीडब्लूएम वैल्यू है और दूसरा लक्स है (सेंसर की रीडिंग, यूनिट ज्यादा मायने नहीं रखती)। इसलिए, प्लॉट लक्स (y-अक्ष) बनाम PWM (x-अक्ष)। जैसा कि आप देख सकते हैं कि चमक PWM मान के रैखिक रूप से आनुपातिक है। मैंने इसके लिए एक लाइन फिट की।

एक लाइन फिट करने के लिए इस प्रकार अनुसरण करें:

1- डेटा प्लॉट करें (सम्मिलित करें> स्कैटर प्लॉट) मुझे लगता है कि आप जानते हैं कि कैसे।

2- प्लॉट किए गए डेटा पर राइट क्लिक करें

3- ट्रेंडलाइन पर क्लिक करें।

4- (एक्सेल 2013 में) दाईं ओर एक पैनल पॉप अप होता है। रैखिक चुनें। नीचे "चार्ट पर प्रदर्शन समीकरण" चुनें।

रैखिक संबंध मेरी धारणा से अलग है। इसलिए मुझे लगता है कि मेरी धारणा और चमक के बीच लॉगरिदमिक संबंध होना चाहिए (यह मेरे दिमाग में आया सबसे आसान तरीका है!)। इसलिए मैंने फिट का स्लोप लिया। अवरोधन महत्वपूर्ण नहीं है, क्योंकि यह आसपास के प्रकाश प्रदूषण पर निर्भर करता है! इसके बजाय, मैंने 1 जोड़ा। क्योंकि Log10(0) अनंत है। इसलिए मुझे समस्या को हल करने के लिए एक अवरोधन की आवश्यकता है। मेरे मामले में समीकरण इस तरह दिखता है:

y =Log10 (0.08 x +1), y चमक है और x PWM मान (0-1023) है

मैंने समीकरण को अधिकतम मान के लिए सामान्यीकृत किया। तब आउटपुट रेंज हमेशा 0-100 के बीच होती है। इस तरह मैं अधिकतम पूर्ण चमक के बिना, एक निश्चित सापेक्ष चमक के लिए arduino से पूछ सकता हूं।

y =लॉग10(0.08 x +1)*100/1.914

क्योंकि arduino में मेरा इनपुट सापेक्ष चमक है, मुझे x (PWM) के लिए समीकरण को फिर से व्यवस्थित करने की आवश्यकता है:

x = (10^(y*1.914/100) - 1) / 0.08

कोड में इस समीकरण का उपयोग करके हम एक रैखिक चमक परिवर्तन प्राप्त करने में सक्षम हैं। तो आप 0-100 के बीच की चमक (y) के लिए arduino से पूछते हैं, और arduino संबंधित PWM मान की गणना करता है। इस तरह अगर ब्राइटनेस दुगनी हो जाए तो आपका बोध भी वैसा ही हो जाता है।

यदि आप इसे अपने कोड में उपयोग करना चाहते हैं तो आप इन पंक्तियों को जोड़ना बेहतर समझते हैं:

चमक = ५०; // प्रतिशत में

पीडब्लूएम = पाउ(10, चमक*1.914/100)-1)/0.0793;

एनालॉगवर्इट (एलईडीपिन, पीडब्लूएम);

नोट: सामान्यीकरण १०२३ के अधिकतम पीडब्लूएम के लिए किया जाता है (वेमोस मिनी डी१ के लिए)। Arduino के लिए PWM 0-255 के बीच है। आपको तदनुसार इसकी गणना करने की आवश्यकता है।

नोट 2: मैंने यह दिखाने के लिए एक लॉग-लीनियर प्लॉट जोड़ा कि हमारी धारणा और पीडब्लूएम मूल्य कैसे संबंधित हैं। आपको इसे फिटिंग के लिए उपयोग नहीं करना चाहिए!

चरण 5: निष्कर्ष

अंशांकन मेरे लिए ठीक काम करता है। जब PWM मान बड़ा होता है, तो मैं अंतर देख सकता हूं। पहले बड़े मूल्यों के रूप में मैं डिमिंग का प्रभाव नहीं देख सकता था। मूल रूप से अधिकांश परिवर्तन PWM की एक छोटी सी सीमा में किए गए थे। अब इसे कैलिब्रेट किया गया है!

प्रत्येक एलईडी, विशेष रूप से अलग-अलग रंगों में, इसका अपना अंशांकन पैरामीटर होना चाहिए। हालाँकि मैंने एक नीली एलईडी को कैलिब्रेट किया और एक सफेद एलईडी के लिए पैरामीटर का उपयोग किया और परिणाम स्वीकार्य था। तो हो सकता है कि आप खुद को परेशान किए बिना मेरे अंशांकन पैरामीटर का उपयोग कर सकें !!

सिफारिश की: