विषयसूची:
- चरण 1: चरण 1: कंटेनर के बाहर सोल्डरिंग और कनेक्टिंग सर्किट
- चरण 2: चरण 2: कोड अपलोड करना और इसे अपनी आवश्यकताओं के अनुसार समायोजित करना
- चरण 3: चरण 3: यदि आप चाहें तो स्टेपर्स और अरुडिनो को शामिल करें
वीडियो: स्टेपर पोमोडोरो टाइमर: 3 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
स्टेपर पोमोडोरो एक डेस्क टाइमर है जो काम की प्रत्येक अवधि को 30 मिनट के खंडों में तोड़कर अपनी दैनिक कार्य सूची को प्रबंधित करने में मदद करता है। हालांकि, एक सामान्य पोमोडोरो टाइमर के विपरीत, यह बचे हुए समय को दिखाकर आपको चिंतित नहीं करता है। इसके बजाय, यह लगभग उस समय को प्रदर्शित करता है जिसके माध्यम से तीन में से कौन सा डायल टिक रहा है। सटीक समय नहीं दिखा कर यह आपको वास्तव में काम पर ध्यान केंद्रित करने की अनुमति देता है, बल्कि यह कि आपके बचे हुए समय की लगातार जाँच करता है। यह पोमोडोरो उन लोगों के लिए एकदम सही है जिन्हें अपने कार्य प्रबंधन के लिए एक हल्की और विनीत संरचना की आवश्यकता है।
उपकरण
• सोल्डरिंग आयरन
• वायर स्ट्रिपर्स
• लेजर कटर (या सैंडर इस पर निर्भर करता है कि आप टाइमर के डायल कैसे बनाना चाहते हैं)
• ड्रिल (मैंने डायल के लिए पर्याप्त बड़े छेद करने के लिए एक ड्रिल प्रेस का उपयोग किया)
सामग्री
• 1 Arduino Uno
• 1 आधे आकार का ब्रेडबोर्ड
• 3 एच ब्रिज (मैंने DRV8833 का इस्तेमाल किया, एक मोटर शील्ड ने मुझे कुछ समय और सिरदर्द से बचाया है)
• 3 स्टेपर मोटर्स (मैंने NEMA 17 स्टेपर का इस्तेमाल किया)
• 1 बटन
• 1 220-1K ओम रोकनेवाला (सीमा के भीतर कोई भी अच्छा है)
• AC/DC अडैप्टर (मैंने 12V का उपयोग किया है, शायद इस मात्रा के स्टेपर के लिए बहुत बड़ा है)
• पावर स्प्लिटर
• यूएसबी ए-बी तार
• ब्रेडबोर्ड तार
• मिलाप
• टाइमर के कंटेनर के लिए सामग्री
• डायल के लिए एक्रिलिक
• टाइमर की स्थिर भुजा के रूप में कार्य करने के लिए नाखून या धातु पिन
चरण 1: चरण 1: कंटेनर के बाहर सोल्डरिंग और कनेक्टिंग सर्किट
इस चरण के लिए मैंने अपने सभी एच पुलों को एक साथ मिलाप करके शुरू किया (यदि आप मोटर शील्ड खरीदते हैं तो आपको इन्हें मिलाप करने की आवश्यकता नहीं होनी चाहिए। एक बार जब आपके पास प्रत्येक स्टेपर के लिए एच ब्रिज हो तो आप जांच सकते हैं कि आपके स्टेपर कैसे वायर्ड हैं।
NEMA 17s को बाइपोलर स्टेपर मोटर्स के रूप में जाना जाता है, जिसका अर्थ है कि उनके पास मोटर के भीतर कॉइल के दो (एक के बजाय) सेट होते हैं जो मोटर की सटीक गति की अनुमति देने के लिए ध्रुवीयता को बदलते हैं। बाइपोलर स्टेपर्स में सामान्य रूप से चार तार होते हैं और पोलर स्टेपर में सामान्य रूप से छह होते हैं, इससे ऑनलाइन निर्देश थोड़ा जटिल हो जाता है। हालाँकि आप एक मल्टी मीटर को दो तारों से जोड़ सकते हैं और देख सकते हैं कि वे जुड़े हुए हैं या नहीं। NEMA 17 स्टेपर्स का वायर ऑर्डर RED, YELLOW, GRAY, GREEN कलर ऑर्डर में होता है, जिसमें लाल और ग्रे पहली ध्रुवीय जोड़ी होती है और पीला और हरा दूसरा ध्रुवीय जोड़ा होता है। यदि किसी भी बिंदु पर स्टेपर अपेक्षित गति को पूरा करने के बजाय हिलना शुरू कर देता है, तो संभावना है कि आपके तार किसी भी तरह से उनके जुड़वां के लिए सही ढंग से ध्रुवीकृत नहीं हैं या एक काट दिया गया है। प्रत्येक स्टेपर को चार आउटपुट पिन के माध्यम से नियंत्रित किया जाता है जो DRV8833 H ब्रिज से जुड़ते हैं। DRV8833 में इनपुट के लिए वायरिंग ऑर्डर है: IN1, IN2, पावर, ग्राउंड, IN3, IN4। आउटपुट उद्देश्यों के लिए NEMA छह में से चार पिनों के बीच के क्रम में जुड़ता है: RED, GRAY, YELLOW, GREEN। अब बिजली कनेक्ट करते हैं। मेरे पास डिजिटल पोर्ट 2–13 पर मेरे NEMA हैं।
इसे पावर देने के लिए मैंने Arduino और सभी स्टेपर्स दोनों को पावर देने में सक्षम होने के लिए स्प्लिटर के साथ एक 12V AC/DC एडॉप्टर खरीदा। चेतावनी: पहले से ही पोर्ट से बिजली प्राप्त करने वाले Arduino से AC/DC से सीधी शक्ति प्राप्त करने वाले ब्रेडबोर्ड से अपनी शक्ति और जमीनी तारों को कनेक्ट न करें। यह आपके बोर्ड को भून देगा। 12V एडॉप्टर से दीवार में प्लग किया गया, स्प्लिटर का एक हिस्सा सीधे Arduino के पोर्ट पर चला गया और दूसरा ब्रेड बोर्ड के पॉजिटिव और नेगेटिव में चला गया।
अंत में, बटन को हुक करने का समय आ गया है। बटन के एक तरफ दोनों शक्ति की आवश्यकता होगी (हमारे रोकनेवाला के साथ) और साथ ही आउटपुट पिन को सोल्डर किया गया है (यह ब्रेडबोर्ड से भी किया जा सकता है)। दूसरा पिन हमारा मैदान होगा। इन तीन तारों को प्लग इन किया जाना चाहिए: 5V को रोकनेवाला के साथ पावर, A0 को आउटपुट, और सभी को Arduino Uno बोर्ड पर ही ग्राउंड करने के लिए।
यहां से हमें यहां पाए गए इस मूल स्टेपर टेस्ट कोड का उपयोग करके स्टेपर्स को नियंत्रित करने का प्रयास करने में सक्षम होना चाहिए। Arduino.cc पर यह स्पष्टीकरण द्वि/एकध्रुवीय स्टेपर्स की अधिक गहन व्याख्या करता है यदि आपको इसकी आवश्यकता है। इसके बाद पोमोडोरो के लिए कोड में आते हैं!
चरण 2: चरण 2: कोड अपलोड करना और इसे अपनी आवश्यकताओं के अनुसार समायोजित करना
बटन के साथ मेरे पोमोडोरो के लिए कोड नीचे दिया गया है, इसे अपने सेटअप में अनुकूलित करने के लिए इन चरणों का पालन करें:
1. सेट करें कि आपके व्यक्तिगत स्टेपर प्रकार में प्रति क्रांति कितने चरण हैं (NEMA 17s में 200 हैं और इसे निरंतर पूर्णांक में सूचीबद्ध किया गया है जिसे stepsPerRevolution कहा जाता है)।
2. सेट करें कि आपका बटन निरंतर पूर्णांक कॉलर बटन पिन में कहां इनपुट कर रहा है।
3. सेट करें कि स्टेपर्स को कमांड करने के लिए आपके arduino को कहां से आउटपुट करना चाहिए (ये हिस्से H ब्रिज प्रकारों के बीच सबसे अधिक भिन्न हो सकते हैं क्योंकि कई के पास अलग-अलग लाइब्रेरी हैं जिनका वे उपयोग करते हैं)।
4.सेटस्पीड में आरपीएम में स्टेपर स्पीड सेट करें (मेरे पास क्लॉकवाइज मोड़ते समय 1 आरपीएम और एंटी क्लॉकवाइज मोड़ते समय 30 आरपीएम के लिए मेरा सेट है)।
5. सेट करें कि आप अपने प्रत्येक स्टेपर के आगे बढ़ने से पहले कितनी बार चालू करना चाहते हैं (मेरे स्टेपर दस मिनट गिनते हैं, इसलिए वे 1 आरपीएम पर दस बार घूमते हैं)।
6 सेट करें कि आप इसे कितने समय तक पीछे की ओर घुमाना चाहते हैं।
#शामिल
कॉन्स्ट इंट स्टेप्सपेर रेवोल्यूशन = २००; // मेरे स्टेपर मोटर्स की प्रत्येक पूर्ण क्रांति में कितने कदम हैं, इसकी निरंतरता निर्धारित करना
कॉन्स्ट इंट बटनपिन = ए0; // मेरे बटन इनपुट की निरंतर सेटिंग
स्टेपर फर्स्टस्टेपर (स्टेप्सपेर रेवोल्यूशन, 2, 3, 4, 5); // कुछ पिनों पर स्टेपर लाइब्रेरी को इनिशियलाइज़ करें
स्टेपर सेकेंडस्टेपर (स्टेप्सपेर रेवोल्यूशन, 6, 7, 8, 9); स्टेपर थर्डस्टेपर (स्टेप्सपेर रेवोल्यूशन, १०, ११, १२, १३); स्टेपर फर्स्टस्टेपरबैक (स्टेप्सपेर रेवोल्यूशन, 2, 3, 4, 5); // इन पिनों पर स्टेपर लाइब्रेरी को फिर से शुरू करें ताकि आरपीएम को रीसेट करने में सक्षम हो सके, जब उस समय की समय सीमा समाप्त हो गई हो, स्टेपर सेकेंडस्टेपरबैक (स्टेप्सपेर रेवोल्यूशन, 6, 7, 8, 9); स्टेपर थर्डस्टेपरबैक (स्टेप्सपेर रेवोल्यूशन, १०, ११, १२, १३);
इंट मिनट काउंटर = 0; // इंट स्टेपर्स के पूर्ण क्रांतियों की गिनती
इंट टाइमरस्टेट = कम; // पोमोडोरो टाइमर की वर्तमान स्थिति (उच्च = चालू, कम = बंद / रीसेट) int बटनस्टेट; // इनपुट पिन से वर्तमान रीडिंग int lastButtonState = HIGH; // इनपुट पिन से पिछली रीडिंग
// निम्नलिखित चर अहस्ताक्षरित लंबे हैं क्योंकि समय, मिलीसेकंड में मापा जाता है, // जल्दी से एक बड़ी संख्या बन जाएगी जो एक इंट में संग्रहीत की जा सकती है। अहस्ताक्षरित लास्ट लास्टडेब्यूनटाइम = 0; // पिछली बार आउटपुट पिन को टॉगल किया गया था अहस्ताक्षरित लंबी बहस = ५०; // बहस का समय; अगर आउटपुट झिलमिलाता है तो वृद्धि करें
व्यर्थ व्यवस्था() {
पिनमोड (बटनपिन, INPUT_PULLUP); // इनपुट के रूप में बटन का स्थिरांक सेट करें
FirstStepper.setSpeed(1); // 10 मिनट प्रति स्टेपर सेकंड गिनने के लिए 1 आरपीएम पर गति निर्धारित करेंStepper.setSpeed(1); थर्डस्टेपर.सेटस्पीड(1); FirstStepperBack.setSpeed(30); // पोमोडोरो द्वारा सेकेंडस्टेपरबैक.सेटस्पीड (30) पूरा करने के बाद उस समय की समय सीमा समाप्त होने की चेतावनी के लिए गति को 30 आरपीएम पर सेट करें; थर्डस्टेपरबैक.सेटस्पीड (30);
सीरियल.बेगिन (९६००); // 9600 बॉड दर के साथ सीरियल मॉनिटर शुरू करें
}
शून्य लूप () {
// स्थानीय चर में स्विच की स्थिति पढ़ें: int रीडिंग = digitalRead(buttonPin);
// यह देखने के लिए जांचें कि क्या आपने अभी बटन दबाया है
// (यानी इनपुट कम से उच्च तक चला गया), और आपने किसी भी शोर को अनदेखा करने के लिए आखिरी प्रेस के बाद से // काफी देर तक इंतजार किया है:
// यदि शोर या दबाने के कारण स्विच बदल गया है:
अगर (पढ़ना! = लास्टबटनस्टेट) {// डिबगिंग टाइमर को रीसेट करें lastDebounceTime = मिलिस (); } अगर ((मिलिस () - लास्टडेब्यूसटाइम)> डेब्यूडेले) {// जो कुछ भी रीडिंग है, वह डिब्यूज देरी की तुलना में अधिक समय तक रहा है, इसलिए इसे वास्तविक वर्तमान स्थिति के रूप में लें:
// यदि बटन की स्थिति बदल गई है:
अगर (पढ़ना! = बटनस्टेट) {बटनस्टेट = पढ़ना;
// केवल टाइमर एक्टिवेटन को टॉगल करें यदि नया बटन राज्य इंगित करता है कि इसे दबाया गया था
// चालू करने के लिए एक बार दबाएं, बंद करने के लिए फिर से दबाएं अगर (बटनस्टेट == कम) {टाइमरस्टेट =! टाइमरस्टेट; Serial.print ("टाइमर स्टेट है"); Serial.println (टाइमरस्टेट); } } }
अगर (टाइमरस्टेट == हाई) {
Serial.println ("पोमोडोरो टाइमर शुरू हो गया है"); अगर (मिनट काउंटर <11) {// यदि वर्तमान दूसरा मान पिछले मान से भिन्न है तो firstStepper.step(stepsPerRevolution); // स्टेपर 200 स्टेप्स / 1 रेव मिनट काउंटर ++ चालू करें; सीरियल.प्रिंट ("मिनट काउंटर है"); Serial.println (मिनट काउंटर); }
अगर (११ <= मिनट काउंटर && मिनट काउंटर < २१) {// यदि वर्तमान दूसरा मान पिछले मान से अलग है तो दूसरा स्टेपर.स्टेप (स्टेप्सपेर रेवोल्यूशन); // स्टेपर 200 कदम / 1 रेव मिनट काउंटर ++ चालू करें; सीरियल.प्रिंट ("मिनट काउंटर है"); Serial.println (मिनट काउंटर); }
अगर (२१ <= मिनट काउंटर && मिनट काउंटर < ३१) {// यदि वर्तमान दूसरा मान पिछले मान से अलग है तो थर्डस्टेपर.स्टेप (स्टेप्सपेर रेवोल्यूशन); // स्टेपर 200 स्टेप्स / 1 रेव मिनट काउंटर ++ चालू करें; सीरियल.प्रिंट ("मिनट काउंटर है"); Serial.println (मिनट काउंटर); }
अगर (३१ <= मिनट काउंटर && मिनट काउंटर <१०३१) {// यदि वर्तमान दूसरा मान पिछले मान से अलग है तो firstStepperBack.step(-1); // स्टेपर को 1 कदम पीछे की ओर मोड़ें ताकि यह दिखाई दे कि सभी एक साथ चल रहे हैं secondStepperBack.step(-1); थर्डस्टेपरबैक.स्टेप (-1); मिनट काउंटर++; सीरियल.प्रिंट ("मिनट काउंटर है"); Serial.println (मिनट काउंटर); } } और { Serial.println ("पोमोडोरो टाइमर बंद है"); }//पठन सहेजें। अगली बार लूप के माध्यम से, // यह लास्टबटनस्टेट होगा: लास्टबटनस्टेट = रीडिंग; }
चरण 3: चरण 3: यदि आप चाहें तो स्टेपर्स और अरुडिनो को शामिल करें
मैंने अपनी घड़ी के लिए एक समांतर चतुर्भुज रूप बनाना चुना। यह रूप और लाल ओक के भौतिक विकल्प मध्य शताब्दी के आधुनिक फर्नीचर से प्रेरित थे। एक भाग जिसके साथ मुझे सबसे अधिक कठिनाई हुई, वह था स्टेपर्स को डायल के साथ फिट करना उनके पोरथोल के माध्यम से देखा जा सकता है।
सिफारिश की:
स्टेपर मोटर नियंत्रित स्टेपर मोटर बिना माइक्रोकंट्रोलर (V2): 9 कदम (चित्रों के साथ)
स्टेपर मोटर नियंत्रित स्टेपर मोटर बिना माइक्रोकंट्रोलर (V2): मेरे पिछले निर्देशों में से एक में, मैंने आपको दिखाया था कि बिना माइक्रोकंट्रोलर के स्टेपर मोटर का उपयोग करके स्टेपर मोटर को कैसे नियंत्रित किया जाता है। यह एक त्वरित और मजेदार परियोजना थी, लेकिन यह दो समस्याओं के साथ आई, जो इस निर्देश में हल हो रही हैं। तो, बुद्धि
स्टेपर मोटर नियंत्रित मॉडल लोकोमोटिव - स्टेपर मोटर एक रोटरी एनकोडर के रूप में: 11 कदम (चित्रों के साथ)
स्टेपर मोटर नियंत्रित मॉडल लोकोमोटिव | रोटरी एनकोडर के रूप में स्टेपर मोटर: पिछले निर्देशों में से एक में, हमने सीखा कि स्टेपर मोटर को रोटरी एन्कोडर के रूप में कैसे उपयोग किया जाए। इस परियोजना में, अब हम एक Arduino माइक्रोकंट्रोलर का उपयोग करके एक मॉडल लोकोमोटिव को नियंत्रित करने के लिए स्टेपर मोटर से बने रोटरी एन्कोडर का उपयोग करेंगे। तो, फू के बिना
स्टेपर मोटर नियंत्रित स्टेपर मोटर - स्टेपर मोटर एक रोटरी एनकोडर के रूप में: 11 कदम (चित्रों के साथ)
स्टेपर मोटर नियंत्रित स्टेपर मोटर | स्टेपर मोटर एक रोटरी एनकोडर के रूप में: क्या कुछ स्टेपर मोटर्स चारों ओर पड़ी हैं और कुछ करना चाहते हैं? इस निर्देशयोग्य में, एक Arduino माइक्रोकंट्रोलर का उपयोग करके एक अन्य स्टेपर मोटर की स्थिति को नियंत्रित करने के लिए एक स्टेपर मोटर को रोटरी एन्कोडर के रूप में उपयोग करें। तो बिना ज्यादा देर किए, आइए जानते हैं
डी फ्लिप फ्लॉप और 555 टाइमर के साथ स्टेपर मोटर; सर्किट का पहला भाग ५५५ टाइमर: ३ कदम
डी फ्लिप फ्लॉप और 555 टाइमर के साथ स्टेपर मोटर; सर्किट का पहला भाग 555 टाइमर: स्टेपर मोटर एक डीसी मोटर है जो असतत चरणों में चलती है। इसका उपयोग अक्सर प्रिंटर और यहां तक कि रोबोटिक्स में भी किया जाता है। मैं इस सर्किट को चरणों में समझाऊंगा। सर्किट का पहला भाग 555 है टाइमर यह 555 चिप w के साथ पहली छवि (ऊपर देखें) है
एवीआर माइक्रोकंट्रोलर। टाइमर का उपयोग कर एलईडी फ्लैशर। टाइमर बाधित। टाइमर सीटीसी मोड: 6 कदम
एवीआर माइक्रोकंट्रोलर। टाइमर का उपयोग कर एलईडी फ्लैशर। टाइमर बाधित। टाइमर सीटीसी मोड: सभी को नमस्कार! इलेक्ट्रॉनिक्स के क्षेत्र में टाइमर एक महत्वपूर्ण अवधारणा है। हर इलेक्ट्रॉनिक कंपोनेंट टाइम बेस पर काम करता है। इस बार आधार सभी कामों में तालमेल बिठाने में मदद करता है। सभी माइक्रोकंट्रोलर कुछ पूर्वनिर्धारित घड़ी आवृत्ति पर काम करते हैं