विषयसूची:
वीडियो: डायरेक्ट डिजिटल सिंथेसिस (डीडीएस) चिप के साथ मिडी-नियंत्रित स्टेपर मोटर: 3 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:18
क्या आपके पास कभी एक बुरा विचार है कि आपको बस एक मिनी प्रोजेक्ट में बदलना है? ठीक है, मैं एक स्केच के साथ खेल रहा था जिसे मैंने Arduino ड्यू के लिए बनाया था जिसका उद्देश्य AD9833 डायरेक्ट डिजिटल सिंथेसिस (DDS) मॉड्यूल के साथ संगीत बनाना था … और कुछ बिंदु पर मैंने सोचा "अरे, शायद मुझे एक स्टेपर मोटर / ड्राइवर को रिग करना चाहिए यह"। और यह विचार बिल्कुल वही है जिसने इस छोटे से ब्रेडबोर्ड-आधारित प्रोजेक्ट को जन्म दिया।
इस परियोजना में एक Arduino ड्यू को नियंत्रित करने और AD9833 मॉड्यूल और स्टेपर ड्राइवर के बीच वर्ग तरंगों को भेजने के लिए MIDI-over-USB का उपयोग करने के लिए कुछ कोड शामिल होंगे। इसे Arduino ड्यू से जोड़ने के लिए एक आरेख और बुनियादी निर्देश भी होंगे।
आपूर्ति:
इस परियोजना के लिए आपको क्या चाहिए होगा:
अरुडिनो ड्यू
नोट: कोड देय के लिए लिखा गया है, लेकिन यह भी काम करना चाहिए और/या शून्य के लिए अनुकूलित किया जाना चाहिए। यह Arduino के MIDIUSB पुस्तकालय का उपयोग करता है, जिसके लिए एक देशी USB पोर्ट की आवश्यकता होती है।
सोल्डरलेस ब्रेडबोर्ड + जंपर्स
AD9833 ब्रेकआउट मॉड्यूल
A4988 स्टेपर ड्राइवर (या समान)
NEMA 17 स्टेपर मोटर (या समान)
- 24V बिजली की आपूर्ति (ध्यान दें, मैंने 24 वोल्ट का यह मान चुना क्योंकि यह नाममात्र स्टेपर मोटर वोल्टेज से अधिक था। यदि आप एक बड़ी मोटर का उपयोग करते हैं तो आपका कार्यान्वयन भिन्न हो सकता है)
चरण 1: ब्रेडबोर्डिंग
इसके पीछे मूल विचार यह है कि डायरेक्ट डिजिटल सिंथेसिस आईसी स्टेपर मोटर चालक के "स्टेप" पिन को चलाने के लिए एक वर्ग तरंग उत्पन्न करेगा। यह स्टेपर ड्राइवर तब मोटर को निर्दिष्ट श्रव्य आवृत्ति पर ले जाएगा। जब तक यह सही आवृत्ति पर कदम रखता है तब तक मोटर की दिशा कुछ मनमानी होती है।
ब्रेडबोर्डिंग के साथ मैं जो दृष्टिकोण लेना पसंद करता हूं, वह है पहले पावर पिन और ग्राउंड चलाना और फिर अन्य सभी, गैर-पावर कनेक्शन चलाना शुरू करना।
ज़मीन:
- AD9833 मॉड्यूल के AGND और DGND पिन को ब्रेडबोर्ड पर GND रेल से कनेक्ट करें।
- स्टेपर ड्राइवर पर दो GND पिन को GND रेल से कनेक्ट करें
- इसे Arduino ड्यू के GND Pins में से किसी एक पर लाएं
3.3V पावर:
- स्टेपर ड्राइवर के VDD पिन को ब्रेडबोर्ड के V+ रेल से कनेक्ट करें
- AD9833 मॉड्यूल के VCC पिन को ब्रेडबोर्ड के V+ रेल से कनेक्ट करें
- इसे Arduino ड्यू के 3.3V पिन पर लाएं
24 वी पावर:
- VMOT पिन को 24V DC पावर सप्लाई से कनेक्ट करें (आपकी पसंद की मोटर के आधार पर, आप एक उच्च या निम्न आपूर्ति रेल चलाना चाह सकते हैं)
मॉड्यूल-से-मॉड्यूल कनेक्शन:
- AD9833 मॉड्यूल से OUT पिन को मोटर चालक के STEP पिन से कनेक्ट करें
स्टेपर ड्राइवर कनेक्शन:
- स्टेपर मोटर कनेक्शन को 2बी/2ए/1ए/1बी पिन से कनेक्ट करें। ध्रुवीयता उतनी महत्वपूर्ण नहीं है, जब तक कि चालक चरण स्टेपर मोटर के साथ मेल खाते हैं।
- RESET और SLEEP पिन को एक साथ कनेक्ट करें, और उन्हें Arduino ड्यू पिन 8 पर लाएं।
- DIR पिन को 3.3V रेल से कनेक्ट करें
AD9833 मॉड्यूल कनेक्शन:
- SCLK को Arduino ड्यू के SCK पिन से कनेक्ट करें। ध्यान दें कि यह पिन माइक्रोकंट्रोलर के पास 6-पिन पुरुष ICSP हेडर पर है, सामान्य बाहरी महिला हेडर पर नहीं।
- SDATA पिन को ड्यू के MOSI पिन से कनेक्ट करें। ध्यान दें कि यह पिन माइक्रोकंट्रोलर के पास 6-पिन पुरुष ICSP हेडर पर है, सामान्य बाहरी महिला हेडर पर नहीं।
- FSYNC को Arduino ड्यू पिन 6 से कनेक्ट करें (यह इस प्रोजेक्ट के लिए चिप सिलेक्ट पिन है)
अब जब ब्रेडबोर्ड पूरी तरह से इकट्ठा हो गया है, तो कोड पर एक नज़र डालने का समय आ गया है!
चरण 2: प्रोग्रामिंग और मिडी सेटअप
संलग्न.ino स्केच Arduino ड्यू के नेटिव USB पोर्ट के माध्यम से USB-MIDI इनपुट लेगा, और AD9833 को चलाने के लिए उनका उपयोग करेगा। इस चिप में एक डीएसी है जो 25 मेगाहर्ट्ज w/28 बिट फ़्रीक्वेंसी रिज़ॉल्यूशन (यहां जो आवश्यक है उसके लिए कुल ओवरकिल) पर चलता है, और यहां अधिकांश कोड एक वर्ग तरंग को चलाने और आउटपुट करने के लिए कॉन्फ़िगर कर रहा है।
नोट: दो यूएसबी पोर्ट हैं। एक का उपयोग बोर्ड की प्रोग्रामिंग के लिए किया जाता है, और दूसरे का उपयोग MIDI-over-USB कॉम के लिए किया जाता है।
ध्यान दें कि यह स्केच Arduino Uno पर काम नहीं करेगा - यह प्रोजेक्ट Arduino ड्यू या इसी तरह के उपकरणों में नेटिव USB की आवश्यकता में विशिष्ट है।
अनुकूलन विकल्प:
- 2 मोड हैं, जिन्हें प्रीप्रोसेसर मैक्रो डेफिनिशन द्वारा सेट किया जा सकता है। यदि "#define STOPNOTES" को बरकरार रखा जाता है, तो स्टेपर नोट्स के बीच में रुक जाएगा। यह हमेशा वांछित नहीं होता है (उदाहरण के लिए, तेज़ आर्पेगियोस खेलना), इसलिए इस व्यवहार को बदलने के लिए, बस उस #define कथन को हटा दें या टिप्पणी करें और एक बार चलाए जाने पर स्टेपर लगातार चलेगा।
- मैं इसके साथ एक सस्ते 2-ऑक्टेव मिडी कीबोर्ड का उपयोग करता हूं जिसमें एक ऑक्टेव अप/डाउन बटन होता है, लेकिन यदि आपके पास वह विकल्प नहीं है, तो आप 2 की शक्तियों से गुणा या विभाजित करके नीचे आवृत्ति अनुवाद को ऑक्टेव-शिफ्ट कर सकते हैं।
मिडी-टू-फ़्रीक्वेंसी अनुवाद इस लाइन के साथ playNote फ़ंक्शन में किया जाता है:int f_out = (int)(27.5*pow(2, ((float)midiNote-33)/12));
- मैं यूएसबी मिडी पर इंटरफेसिंग के लिए अपने पीसी का उपयोग करता हूं - आप इसे अपने पसंदीदा डिजिटल ऑडियो वर्कस्टेशन (डीएडब्ल्यू) सॉफ्टवेयर से कर सकते हैं। यदि आपके पास एक नहीं है, तो LMMS का उपयोग करके इस प्रणाली को स्थापित करना बहुत आसान है - एक मुक्त, खुला स्रोत मंच। एक बार जब यह स्थापित हो जाता है और चल रहा होता है, तो बस Arduino देय को MIDI आउटपुट डिवाइस के रूप में सेट करें, और यदि आप USB MIDI कीबोर्ड का उपयोग कर रहे हैं, तो इसे इनपुट के रूप में सेट करें।
चरण 3: परीक्षण और प्रयोग
अपने स्टेपर मोटर को चलाने का समय!
जैसा कि कहा गया है, इसके पीछे का पूरा विचार एक तरह का ऑफ-द-कफ प्रयोग था, इसलिए हर तरह से, अपना खुद का कुछ प्रयोग करें!
सिफारिश की:
ESP32 बोर्ड के साथ स्टेपर मोटर: 4 कदम
ESP32 बोर्ड के साथ स्टेपर मोटर: स्टेपर मोटर्स डीसी मोटर्स हैं जो असतत चरणों में चलती हैं। उनके पास कई कॉइल हैं जो "चरणों" नामक समूहों में व्यवस्थित होते हैं। प्रत्येक चरण को क्रम से सक्रिय करने से, मोटर एक बार में एक कदम घूमेगी। स्टेपर मोटर्स बहुत उपयोगी हैं
Arduino UNO के साथ स्टेपर मोटर: 3 कदम
Arduino UNO के साथ स्टेपर मोटर: स्टेपर मोटर्स डीसी मोटर्स हैं जो असतत चरणों में चलती हैं। उनके पास कई कॉइल हैं जो "चरणों" नामक समूहों में व्यवस्थित होते हैं। प्रत्येक चरण को क्रम से सक्रिय करने से, मोटर एक बार में एक कदम घूमेगी। स्टेपर मोटर्स बहुत उपयोगी हैं
3 पुश बटन के साथ 28BYJ-48 स्टेपर मोटर का उपयोग कैसे करें: 5 कदम
3 पुश बटन के साथ 28BYJ-48 स्टेपर मोटर का उपयोग कैसे करें: क्या आप पुश बटन का उपयोग करके अपने स्टेपर मोटर को नियंत्रित करना चाहते हैं? वह क्लॉकवाइज, काउंटर क्लॉकवाइज और फिर स्टॉप फंक्शन कर सकता है? तो यह वीडियो आपके लिए है
रोटरी एनकोडर के रूप में स्टेपर मोटर का उपयोग करें: 9 कदम (चित्रों के साथ)
रोटरी एनकोडर के रूप में स्टेपर मोटर का उपयोग करें: माइक्रोकंट्रोलर परियोजनाओं में इनपुट डिवाइस के रूप में उपयोग के लिए रोटरी एन्कोडर बहुत अच्छे हैं लेकिन उनका प्रदर्शन बहुत सहज और संतोषजनक नहीं है। इसके अलावा, बहुत सारे स्पेयर स्टेपर मोटर्स होने के कारण, मैंने उन्हें एक उद्देश्य देने का फैसला किया। तो अगर कुछ स्टेपर है
सस्ते DIY डीडीएस फंक्शन/सिग्नल जेनरेटर: 4 कदम (चित्रों के साथ)
सस्ता DIY डीडीएस फंक्शन / सिग्नल जेनरेटर: ये डीडीएस सिग्नल जेनरेटर मॉड्यूल बोर्ड $ 15 जितना कम हो सकता है यदि आप चारों ओर देखते हैं। वे साइन, स्क्वायर, त्रिकोण, सॉवोथ (और रिवर्स) तरंगों (और कुछ अन्य) को काफी सटीक रूप से उत्पन्न करेंगे। इनमें स्पर्श नियंत्रण, आयाम भी हैं