Table of Contents
Debouncing एक तकनीक है जिसका उपयोग डिजिटल इलेक्ट्रॉनिक्स में किया जाता है ताकि यह सुनिश्चित किया जा सके कि स्विच या बटन दबाए जाने पर केवल एक संकेत पंजीकृत हो। मैकेनिकल स्विच अक्सर संपर्क उछाल के कारण कई संकेत उत्पन्न करते हैं, जिससे डिजिटल सिस्टम में त्रुटियां पैदा हो सकती हैं। debouncing को कार्यान्वित करने से इनपुट रीडिंग की विश्वसनीयता में सुधार होता है।
Ableton Bounce
जब एक यांत्रिक स्विच दबाया जाता है या जारी किया जाता है, तो संपर्क राज्य को साफ़ रूप से बदल नहीं पाता है। इसके बजाय, वे तेजी से सेट करने से पहले कई बार संपर्क करते हैं और तोड़ते हैं। इस घटना को उछाल के रूप में जाना जाता है, कुछ माइक्रोसेकेंड से मिलीसेकेंड तक रह सकता है, जिससे कई अवांछित संकेतों की ओर अग्रसर हो जाता है।
प्रैक्टिकल डिबॉन्सिंग तकनीक
कई तरीकों का उपयोग डिजिटल इनपुट को डिबॉ करने के लिए किया जाता है, जिसमें हार्डवेयर और सॉफ्टवेयर दृष्टिकोण शामिल हैं। हार्डवेयर डिबॉंसिंग में अक्सर आरसी फिल्टर या शमिट ट्रिगर शामिल होते हैं, जबकि सॉफ्टवेयर डिबॉंसिंग तेजी से राज्य परिवर्तनों को अनदेखा करने के लिए टाइमिंग एल्गोरिदम का उपयोग करता है।
सॉफ्टवेयर डिबॉंसिंग कार्यान्वित करना
सॉफ्टवेयर debouncing आम तौर पर नियमित अंतराल पर इनपुट का नमूना लेना और केवल राज्य परिवर्तन की पुष्टि करना शामिल है, तो यह एक निर्धारित अवधि पर स्थिर रहता है। यह विधि लचीला और माइक्रोकंट्रोलर कोड में लागू करने में आसान है।
उदाहरण के लिए, यदि प्रत्येक 10 मिलीसेकेंड में एक बटन इनपुट पढ़ा जाता है, तो सिस्टम यह सत्यापित कर सकता है कि इनपुट परिवर्तन को दर्ज करने से पहले कम से कम 50 मिलीसेकेंड के लिए नए राज्य में रहता है। यह उछाल के कारण होने वाले झूठे ट्रिगर को कम करता है।
डेब्युन्स टाइम की गणना
डिबॉन्ट समय स्विच विशेषताओं और सिस्टम आवश्यकताओं पर निर्भर करता है। एक आम दृष्टिकोण 5 से 20 मिलीसेकेंड के बीच एक डिबॉन अंतराल का चयन करना है। गणना में अधिकतम उछाल अवधि को मापने और सुरक्षा मार्जिन जोड़ने शामिल है।
उदाहरण के लिए, यदि स्विच 10 मिलीसेकेंड तक की उछाल करता है, तो 20 मिलीसेकेंड का एक डीबॉन्ड समय निर्धारित करना महत्वपूर्ण देरी के बिना विश्वसनीय पता लगाना सुनिश्चित करता है।
- अधिकतम उछाल अवधि की पहचान करें
- बाउंस टाइम से थोड़ा लंबा एक डिबॉन्ड अंतराल चुनें
- कोड में आवधिक नमूनाकरण लागू करें
- इनपुट दर्ज करने से पहले स्थिर स्थिति की पुष्टि करें