एक Arduino पर 16x2 एलसीडी डिस्प्ले डिबगिंग


9

मेरे पास एक मानक 16x2 एलसीडी डिस्प्ले है (मेरा मानना ​​है कि यह हिताची एचडी 44780 संगत है - नीचे सारांश और विनिर्देश देखें), 4 डेटा पिन का उपयोग करके एक अरुडिनो यूनो के लिए झुका हुआ है, जैसा कि यहां वर्णित है , हालांकि मैंने समानांतर में 2x 220 मिलीमीटर प्रतिरोधों को जोड़ा है (अर्थात पिन 16 (बैकलाइट ग्राउंड) पर 110ohm रेसिस्टर), और Vo पर 4V बनाने के लिए स्टैटिक रेसिस्टर्स के साथ पॉट की जगह।

संक्षेप में, आरडब्ल्यू को जमीन पर तार दिया गया है, और आरएस, इनेबल्ड, और डेटा 4-7 को Arduino पिन से जोड़ा गया है, जबकि डेटा 0-3 तैर रहे हैं।

मेरे पास अन्य चीजें हैं (सेंसर, एक ऑप्टियोसोलेटेड एसएसआर के साथ एक ट्रांजिस्टर और अरडिनो पर अलग-अलग पिनों से जुड़े एक रिले, कुछ बटन)। मैं जिस कोड का उपयोग करता हूं वह एक सेकंड में कई बार डिस्प्ले को टेक्स्ट लिखता है, और आम तौर पर, डिस्प्ले पूरी तरह से काम करता है।

हालांकि, जब रिले बंद हो जाता है (यह लगभग 10ma लगता है, और एक ट्रांजिस्टर द्वारा नियंत्रित किया जाता है जो बारी-बारी से एक Arduino पिन से नियंत्रित होता है), तो कभी-कभी एलसीडी विकृत हो जाता है। यह आमतौर पर तब तक रहता है जब तक कि रिले अगले बंद नहीं हो जाता, लेकिन कभी-कभी जब रिले खुलता है, या रीसेट करने के बाद कुछ और चक्र खुलते / बंद होते हैं। गारबिंग हमेशा शुरू होता है और उसी समय बंद हो जाता है जब रिले या तो खुल जाता है या बंद हो जाता है।

"गार्बल्ड" से मेरा मतलब है कि हर बार जब मैं इसे लिखता हूं, तो यह विकृत हो जाता है, अंग्रेजी वर्ण लिखने के बजाय, मुझे वर्णों का एक तार मिलता है, जिसे मैं आमतौर पर डेटशीट में नहीं पहचान सकता (हालांकि कुछ मैं कर सकता हूं)। जैसे ही मैं एलसीडी पर नया पाठ लिखता हूं, गार्बल्ड अक्षरों का यह तार स्क्रीन पर बाईं ओर चला जाता है।

मुझे विश्वास है कि यह स्वयं Arduino भ्रमित नहीं हो रहा है, क्योंकि मैं एक ही समय में सीरियल मॉनिटर को एक ही टेक्स्ट लिखता हूं, और यह विकृत नहीं है।

जब से मैंने आरड्यूइन आउटपुट के लिए आरडब्ल्यू पिन को वायरिंग के साथ प्रयोग किया है, और डेटा0-3 को ग्राउंड करने के लिए, लेकिन यह मदद नहीं करता है। मैंने पूरी डिवाइस को 9V बैटरी या USB के साथ संचालित किया है, और यह मदद नहीं करता है। मैंने बैटरी बदल दी है ... कोई बदलाव नहीं।

केवल एक चीज जो काम करने लगती है वह रिले में प्लग नहीं है, लेकिन यह उद्देश्य को हरा देता है :-)

मेरे पास सिग्नल एनालाइज़र या मल्टीमीटर, लैपटॉप और अर्दीनो की तुलना में अधिक परिष्कृत कुछ भी नहीं है ... क्या किसी ने मुझे इस डिबग में मदद करने के लिए कोई संकेत दिया है?

एलसीडी सारांश शीट: http://oomlout.com/LCDD/LCDD-SUMM-BC1602A.pdf

एलसीडी विशिष्टता: http://oomlout.com/LCDD/LCDD-DATA-BC1602A.pdf

गारबल्ड पाठ का उदाहरण: गढ़ा हुआ पाठ


1
अपनी पॉवर रेल में कम से कम 1 uF कैपेसिटर जोड़ने की कोशिश करें, जो Vcc के कैपेसिटर का एक छोर है और अन्य GND के लिए है। अगर यह इलेक्ट्रोलाइटिक है तो संधारित्र की दिशा से सावधान रहें :)
अब्दुल्लाह कहरामन

1
यह वास्तव में विचित्र है। आप उस बड़े रिले को सीधे नहीं चला रहे हैं, आपके द्वारा खरीदे गए रिले बॉक्स में वास्तव में एक छोटा DIP SSR है जो बिजली को बड़े रिले में बदल रहा है, और बड़ा रिले एसी लाइन से दूर चला जाता है। इस प्रकार, वास्तव में आपके सर्किट में आने के लिए रिले एक्ट्यूएटिंग द्वारा उत्पन्न बैक-ईएमएफ के लिए कोई रास्ता नहीं होना चाहिए।
कॉनर वुल्फ

यह एक ग्राउंडिंग / डिकम्प्लिंग समस्या की तरह बदबू आ रही है। ब्रेडबोर्ड पर आपके पावर रेल के पार कितना समाई है?
कॉनर वुल्फ

इसके अलावा, ब्रेडबोर्डेड सर्किट के लिए रिले बॉक्स कितना करीब है? क्या आप रिले बॉक्स और बाकी सर्किट के बीच कुछ फीट तार डाल सकते हैं? यह किसी भी चुंबकीय युग्मन के अधिभोग को हटा देगा।
कॉनर वुल्फ

प्रतिक्रियाओं के लिए धन्यवाद। आप सही हैं कि रिले को SSR और विभिन्न अन्य घटकों के साथ डिकॉय किया गया है। मैंने एक डायोड की कोशिश की, और बाद में मैंने एलसीडी के पास पावर रेल पर 5V और GND के बीच 220uF इलेक्ट्रोलाइटिक कैपेसिटर की कोशिश की। न तो इन पर कोई असर पड़ता दिख रहा था। मैंने (अभी तक) दोनों को एक साथ करने की कोशिश नहीं की।
रिचर्ड रसेल

जवाबों:


5

क्या आपके पास अपने रिले में एक डायोड है? यदि बंद / खोलने पर आगमनात्मक स्पाइक की संभावना नहीं है, तो समस्याएं पैदा होंगी।

जब आप उदाहरण के लिए एक रिले के माध्यम से बहने वाले प्रवाह को रोकते हैं, तो यह इसे चालू रखने की कोशिश करता है, अगर निर्वहन का कोई मार्ग नहीं है, तो यह एक बड़ा वोल्टेज बनाएगा (अनिवार्य रूप से यह तब तक उठता रहेगा जब तक कि यह एक मार्ग न मिल जाए)।
विशेष रूप से सूत्र V = L (dI / dT) है। इसका अर्थ है कि प्रारंभ करनेवाला इसके माध्यम से वर्तमान में परिवर्तन का विरोध करता है, इसके पार एक वोल्टेज विकसित करके वर्तमान के परिवर्तन की दर के समानुपाती होता है ।

रिले में एक डायोड रखने की कोशिश करें, जो सामान्य वर्तमान प्रवाह का विरोध करने के लिए उन्मुख है।

EDIT - उत्पाद पृष्ठ की जाँच करना ऐसा लगता है कि यह एक "तैयार लुढ़का हुआ" रिले है जिसे एक बॉक्स में परिधीय घटकों के साथ जोड़ा गया है, इसलिए यह ऊपर होने की संभावना नहीं है। यहां तक ​​कि मैं रिले के लिए बिजली भर में डायोड रखने की कोशिश करूंगा।
यह भी सुनिश्चित करें कि आपकी आपूर्ति अच्छी तरह से फ़िल्टर की गई है जैसा कि टिप्पणियों में बताया गया है। IC और LCD के बगल में कम से कम 1uF के कुछ कैपेसिटर रखें, और कहीं पर> 100uF की बल्क कैप (पावर से जमीन तक)


"रिले" के लिए डेटशीट देखें। रिले के लिए इनपुट वास्तव में एक छोटे SSR चला रहा है, जो वास्तविक शक्ति को रिले में बदल देता है। चूंकि रिले रिले के लिए इनपुट एक एसएसआर इनपुट है, इसलिए मुझे वास्तव में कुछ भी करते हुए डायोड नहीं दिखता है।
कॉनर वुल्फ

मेरे पास एक नज़र थी (मैं इसे पहले नहीं खोज सका) और मैं सहमत हूं, यह अधिक जानकारी के बिना सुझाव के "एक चोट नहीं पहुंचा सकता" था। उम्मीद है कि हम जल्द ही एक अपडेट प्राप्त करेंगे कि यह डिकॉउलिंग के साथ कैसे जोड़ा गया है।
ओली ग्लेसर

जवाब देने के लिए धन्यवाद। आप सही हैं कि रिले को SSR और विभिन्न अन्य घटकों के साथ डिकॉय किया गया है। मैंने डायोड की कोशिश की, और बाद में मैंने एलसीडी के पास पावर रेल पर 5V और GND के बीच 220uF इलेक्ट्रोलाइटिक कैपेसिटर की कोशिश की। मैंने (अभी तक) दोनों को एक साथ करने की कोशिश नहीं की।
रिचर्ड रसेल

मैंने सचेत रूप से एसी सर्किटरी को 5V सर्किट से लगभग एक फुट दूर ले जाने की कोशिश की, जिससे केवल 5V रिले सिग्नल वायर उन्हें जोड़ने लगे, लेकिन इससे कोई फायदा नहीं हुआ। मेरे प्रयोग में, मुझे पता चला कि रिले (85W हैलोजन लैंप) पर एक छोटे से लोड का प्रदर्शन पर अधिक प्रभाव नहीं दिखता है, लेकिन अगर मेरे पास एक बड़ा भार (2000W केतली) है, तो यह त्रुटि का कारण होने की अधिक संभावना है। मैंने पहले भी दीपक के साथ इस समस्या को देखा है, हालांकि अक्सर।
रिचर्ड रसेल

1uF की चीनी मिट्टी की टोपी या तो ग्राहकों के लिए बेहतर होगी, एक को 220uF के साथ समानांतर में जोड़ें। रिले तारों के पास एक और एक या दो> 100uF कैप (एस), 5 वी और जीएनडी को जोड़ने का प्रयास करें। क्या आप हमें अपने सेटअप की बेहतर तस्वीर दिखा सकते हैं?
ओली ग्लेसर

1

मैं 16x4 एलसीडी डिस्प्ले के साथ एक ही समस्या थी जब Arduino एक सैंमसर्ट ऑप्टो-पृथक रिले बोर्ड को भी नियंत्रित कर रहा था । सब कुछ रिले संपर्कों के साथ ठीक काम नहीं किया। लेकिन जब रिले ने एक इंडक्टिव लोड (एक 24 वीएसी पावर रिले) स्विच किया, तो डिस्प्ले गड़बड़ा गया। बिजली अलगाव और फिल्टर कैपेसिटर की कोई मात्रा ने मदद नहीं की।

क्या समस्या का हल किया गया था एक स्नबर (संधारित्र और श्रृंखला में अवरोधक), जो सैंसमार्ट रिले संपर्कों के पार था। मैंने नीरसता के लिए पहले से तैयार कॉर्नेल डुबिलियर ईएमआई / आरएफआई फ़िल्टर का इस्तेमाल किया , लेकिन 47-ओम रेसिस्टर के साथ श्रृंखला में एक बगीचे-किस्म 0.1 ufd संधारित्र शायद बस के रूप में भी काम करेगा।


क्या मैं सर्किट आरेख को देख सकता हूं कि आप रिले के साथ संधारित्र और अवरोधक को कैसे श्रृंखला देते हैं। थैंक्स
जैम विले

1

मैं अपना सिर पीट रहा था कि मेरी एलसीडी "क्यों" खराब हो गई है और यह पता चला है कि मैंने अपने Arduino GND को ब्रेडबोर्ड से नहीं जोड़ा है (यदि यह किसी के लिए कुछ मदद करता है)। सादर


यह मौजूदा टिप्पणियों में बहुत कुछ नहीं जोड़ता है।
डेविड

-1

आउटपुट पर परिरक्षित केबल का उपयोग करें और इसे जमीन पर रखें। इसने मेरे लिए समस्या हल कर दी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.