विषयसूची:

ATMega1284 Quad Opamp प्रभाव बॉक्स: 4 कदम (चित्रों के साथ)
ATMega1284 Quad Opamp प्रभाव बॉक्स: 4 कदम (चित्रों के साथ)

वीडियो: ATMega1284 Quad Opamp प्रभाव बॉक्स: 4 कदम (चित्रों के साथ)

वीडियो: ATMega1284 Quad Opamp प्रभाव बॉक्स: 4 कदम (चित्रों के साथ)
वीडियो: TADA68 Mechanical Keyboard unboxing and review 2024, जुलाई
Anonim
ATMega1284 क्वाड ओपैंप इफेक्ट्स बॉक्स
ATMega1284 क्वाड ओपैंप इफेक्ट्स बॉक्स

ओपन म्यूजिक लैब्स के अरुडिनो के लिए स्टॉम्प शील्ड एक गिटार प्रभाव बॉक्स के रूप में एक Arduino Uno और चार opamps का उपयोग करता है। पिछले निर्देश के समान, जो दिखाता है कि इलेक्ट्रोस्मैश यूनो पेडलशील्ड को कैसे पोर्ट किया जाए, मैंने ओपन म्यूजिक लैब्स गिटार इफेक्ट्स बॉक्स को ATMega1284P में पोर्ट किया है, जिसमें Uno (16kB बनाम 2kB) की तुलना में आठ गुना अधिक RAM है।

ATMega1284 प्रभाव इकाई का उपयोग करने वाले पिछले निर्देश की तुलना में, इस बॉक्स में निम्नलिखित फायदे हैं:

(१) इसमें एक मिक्सर होता है जो एमसीयू प्रोसेस्ड सिग्नल के साथ अनप्रोसेस्ड सिग्नल को मिलाता है - इसका मतलब है कि आउटपुट पर सिग्नल की गुणवत्ता में काफी सुधार हुआ है।

(२) यह दो पीडब्लूएम आउटपुट के लिए १६ बिट आउटपुट प्रोसेसिंग करता है जबकि पिछले प्रभाव बॉक्स कुछ उदाहरणों के लिए ८ बिट्स का उपयोग करता है जैसे कि देरी प्रभाव।

(३) इसमें एक फीडबैक पोटेंशियोमीटर है जिसका उपयोग प्रभावों को बढ़ाने के लिए किया जा सकता है - विशेष रूप से फ्लेंजर / फेजर प्रभाव के साथ लगभग ३० प्रतिशत प्रतिक्रिया प्रभाव की गुणवत्ता में काफी वृद्धि करती है।

(४) पिछले प्रभाव बॉक्स के ५ kHz की तुलना में कम-पास फ़िल्टर आवृत्ति १० kHz है - इसका मतलब है कि आउटपुट पर संकेत काफी "कुरकुरा" लगता है।

(५) यह एक अलग इंटरप्ट ट्रिगर का उपयोग करता है जो इस प्रभाव बॉक्स द्वारा दिखाए गए काफी कम शोर स्तर की व्याख्या कर सकता है।

मैंने Uno-आधारित ओपन म्यूजिक लैब्स स्टॉम्पबॉक्स शील्ड में ब्रेड-बोर्डिंग करके शुरुआत की और मैं इस चार OpAmp सिग्नल प्रोसेसिंग सर्किट (यहां तक कि Arduino Uno का उपयोग करते समय) के प्रदर्शन से इतना प्रभावित हुआ कि मैंने इसे और अधिक स्थायी उपयोग के लिए स्ट्रिपबोर्ड पर स्थानांतरित कर दिया।

उसी चार opamp सर्किट और DSP कोड को तब ATMega1284 में पोर्ट किया गया था - फिर से, आश्चर्यजनक रूप से गैर-आवश्यक परिवर्तनों के अलावा, जैसे कि स्विच और एलईडी को एक अलग पोर्ट पर असाइन करना, और 1, 000 के बजाय 7,000 किलो-शब्द आवंटित करना। विलंब बफर के लिए किलो-शब्द RAM, स्रोत कोड में केवल दो आवश्यक परिवर्तन किए जाने थे, अर्थात् ADC2 से ADC0 में बदलना, और Timer1/PWM OC1A और OC1B आउटपुट को पोर्ट B से Uno पर पोर्ट D में बदलना (PD5 और PD4) ATMega1284 पर।

जैसा कि पहले उल्लेख किया गया है, हालांकि ATMega1284 के लिए विकास बोर्ड उपलब्ध हैं (Github: MCUdude MightyCore), यह नंगे (बूटलोडर-मुक्त) चिप खरीदने के लिए एक आसान अभ्यास है (PDIP संस्करण खरीदें जो ब्रेड-बोर्ड और स्ट्रिप-बोर्ड के अनुकूल है), फिर Maniacbug Mighty-1284p Core Optiboot बूटलोडर या MCUdude Mightycore के मार्क पेंड्रिथ फोर्क को ISP प्रोग्रामर के रूप में Uno का उपयोग करके लोड करें, और फिर Uno के माध्यम से AtMega1284 पर फिर से स्केच लोड करें। इस प्रक्रिया के लिए विवरण और लिंक पिछले निर्देश के परिशिष्ट 1 में दिए गए हैं।

चरण 1: भागों की सूची

हिस्सों की सूची
हिस्सों की सूची
हिस्सों की सूची
हिस्सों की सूची

ATMega1284P (PDIP 40 पिन पैकेज संस्करण) Arduino Uno R3 (बूट लोडर और स्केच को ATMega1284 में स्थानांतरित करने के लिए ISP के रूप में उपयोग किया जाता है) OpAmp MCP6004 क्वाड OpAmp (या समान RRIO (रेल से रेल इनपुट और आउटपुट) OpAmp जैसे TLC2274) 1 x लाल एलईडी 1 x 16 मेगाहर्ट्ज क्रिस्टल 2 x 27 pF कैपेसिटर 1 x 3n9 कैपेसिटर 1 x 1n2 कैपेसिटर 1 x 820pF कैपेसिटर 2 x 120 pF कैपेसिटर 4 x 100n कैपेसिटर 3 x 10uF 16v इलेक्ट्रोलाइटिक कैपेसिटर 4 x 75k रेसिस्टर्स 4 x 3k9 रेसिस्टर्स 1 x 36k रेसिस्टर 1 x 24k रेसिस्टर 2 x 1M रेसिस्टर्स 1 x 470 ओम रेसिस्टर 3 x 1k रेसिस्टर्स 2 x 50k पोटेंशियोमीटर (रैखिक) 1 x 10k पोटेंशियोमीटर (रैखिक) 3 x पुशबटन स्विच (उनमें से एक को 3-पोल 2- के साथ प्रतिस्थापित किया जाना चाहिए) जिस तरह से फ़ुटस्विच यदि प्रभाव बॉक्स का उपयोग लाइव कार्य के लिए किया जा रहा है)

चरण 2: निर्माण

निर्माण
निर्माण

सर्किट 1 इस्तेमाल किए गए सर्किट को दिखाता है और स्ट्रिपबोर्ड 1 इसका भौतिक प्रतिनिधित्व (फ्रिट्ज़िंग 1) है जिसमें फोटो 1 ऑपरेशन में वास्तविक ब्रेड-बोर्डेड सर्किट है। तीन छोटे सर्किट परिवर्तन किए गए थे: साझा अर्ध-आपूर्ति-स्तर opamp पूर्वाग्रह तीन OpAmp चरणों के लिए उपयोग किया जाता है, 3 x 75k और 2 x 75k ओम समानांतर प्रतिरोधों को एकल 24k और 36k प्रतिरोधों के साथ बदल दिया गया था, और प्रतिक्रिया कैपेसिटर को बढ़ा दिया गया था इन दो OpAmp चरणों के लिए 120pF। रोटरी नियंत्रण को दो पुशबटन से बदल दिया गया था जो प्रभाव मापदंडों को बढ़ाने या घटाने के लिए उपयोग किए जाते हैं। ATMega1284 के तीन-तार कनेक्शन को सर्किट पर ADC से पिन 40, PWMlow को पिन 19 से, और PWM को पिन 18 से उच्च के रूप में दिखाया गया है। तीन पुश बटन पिन 1, 36 और 35 से जुड़े हैं और दूसरे छोर पर लगे हैं। एक एलईडी को 470 रोकनेवाला के माध्यम से पिन 2 से जोड़ा जाता है।

OpAmp इनपुट और आउटपुट चरण: यह महत्वपूर्ण है कि एक RRO या अधिमानतः एक RRIO OpAmp का उपयोग किया जाता है क्योंकि OpAmp आउटपुट में ATMega1284 के ADC के लिए आवश्यक बड़े वोल्टेज स्विंग की आवश्यकता होती है। भागों की सूची में कई वैकल्पिक OpAmp प्रकार हैं। 50k पोटेंशियोमीटर का उपयोग किसी भी विकृति के ठीक नीचे इनपुट लाभ को समायोजित करने के लिए किया जाता है, और इसका उपयोग गिटार के अलावा किसी अन्य इनपुट स्रोत के लिए इनपुट संवेदनशीलता को समायोजित करने के लिए भी किया जा सकता है जैसे कि म्यूजिक प्लेयर। दूसरे OpAmp इनपुट चरण और पहले opamp आउटपुट चरण में ऑडियो स्ट्रीम से डिजिटल रूप से उत्पन्न MCU शोर को दूर करने के लिए एक उच्च क्रम RC फ़िल्टर है।

एडीसी स्टेज: एडीसी को टाइमर इंटरप्ट के माध्यम से पढ़ने के लिए कॉन्फ़िगर किया गया है। एक 100nF संधारित्र को ATMega1284 के AREF पिन के बीच जोड़ा जाना चाहिए और शोर को कम करने के लिए जमीन को एक आंतरिक Vcc स्रोत के रूप में एक संदर्भ वोल्टेज के रूप में उपयोग किया जाता है - AREF पिन को सीधे +5 वोल्ट से कनेक्ट न करें!

DAC PWM स्टेज: चूंकि ATMega1284 का अपना DAC नहीं है, इसलिए RC फ़िल्टर के पल्स चौड़ाई मॉड्यूलेशन का उपयोग करके आउटपुट ऑडियो वेवफ़ॉर्म उत्पन्न होते हैं। PD4 और PD5 पर दो PWM आउटपुट ऑडियो आउटपुट के उच्च और निम्न बाइट्स के रूप में सेट किए जाते हैं और 1:256 अनुपात (कम बाइट और हाई बाइट) में दो प्रतिरोधों (3k9 और 1M) के साथ मिश्रित होते हैं - जो ऑडियो आउटपुट उत्पन्न करता है.

चरण 3: सॉफ्टवेयर

सॉफ्टवेयर ओपन म्यूजिक लैब्स स्टॉम्पबॉक्स पेडल स्केच पर आधारित है, और दो उदाहरणों में एक फ्लेंजर / फेजर प्रभाव और एक विलंब प्रभाव शामिल हैं। फिर से पिछले निर्देश के साथ, स्विच और एलईडी को आईएसपी प्रोग्रामर (एससीएलके, एमआईएसओ, एमओएसआई और रीसेट) द्वारा उपयोग किए जाने वाले अन्य बंदरगाहों से दूर ले जाया गया था।

विलंब बफर को 1000 शब्दों से बढ़ाकर 7000 शब्द कर दिया गया है, और पोर्टडी को दो पीडब्लूएम संकेतों के आउटपुट के रूप में सेट किया गया है। विलंब बफर में वृद्धि के साथ भी स्केच अभी भी उपलब्ध ATMega1284 16 kB RAM का लगभग 75% ही उपयोग करता है।

अन्य उदाहरण जैसे पेडलशील्ड यूनो के लिए ओपन म्यूजिक लैब्स वेबसाइट से ट्रैमोलो को मेगा1284 द्वारा उपयोग के लिए अनुकूलित किया जा सकता है जिसमें हेडर फ़ाइल Stompshield.h शामिल है:

(1) डीडीआरबी बदलें |= 0x06; // pwm आउटपुट (पिन 9, 10) को DDRD पर सेट करें |= 0x30;

तथा

एडीएमयूएक्स = 0x62; // बाएँ समायोजन, adc2, आंतरिक vcc ADMUX = 0x60 के संदर्भ में; // बाएं समायोजन, adc0, संदर्भ के रूप में आंतरिक vcc // ये परिवर्तन केवल आवश्यक कोड परिवर्तन हैं // जब Uno से ATMega1284 पर पोर्ट किया जाता है

यहां शामिल दो उदाहरणों के लिए, हेडर फ़ाइल को स्केच में शामिल किया गया है - यानी किसी हेडर फ़ाइल का उपयोग करने की आवश्यकता नहीं है

पुशबटन 1 और 2 का उपयोग कुछ रेखाचित्रों में प्रभाव को बढ़ाने या घटाने के लिए किया जाता है। देरी के उदाहरण में यह देरी के समय को बढ़ाता या घटाता है। जब स्केच को पहली बार लोड किया जाता है तो यह अधिकतम विलंब प्रभाव से शुरू होता है। फ्लेंजर फेजर स्केच के लिए एक बढ़ाया प्रभाव के लिए प्रतिक्रिया नियंत्रण को बढ़ाने का प्रयास करें।

देरी को इको इफेक्ट में बदलने के लिए (पुनरावृत्ति जोड़ें) लाइन बदलें:

बफर [स्थान] = इनपुट; // नया नमूना स्टोर करें

प्रति

बफर [स्थान] = (इनपुट + बफर [स्थान]) >> 1; // इको इफेक्ट के लिए इसका इस्तेमाल करें

फुटस्विच एक तीन पोल दो तरह का स्विच होना चाहिए

चरण 4: लिंक

इलेक्ट्रोस्मैश

संगीत लैब खोलें संगीत

ATMega प्रभाव पेडल

सिफारिश की: