विषयसूची:

स्क्रैप से बने सीएनसी फ़ीड-दर मापने का उपकरण: 5 कदम
स्क्रैप से बने सीएनसी फ़ीड-दर मापने का उपकरण: 5 कदम

वीडियो: स्क्रैप से बने सीएनसी फ़ीड-दर मापने का उपकरण: 5 कदम

वीडियो: स्क्रैप से बने सीएनसी फ़ीड-दर मापने का उपकरण: 5 कदम
वीडियो: Turning में CNC Machine पर Cycle Time कैसे कम करे |#44 | How to reduce Cycle time in Turning on CNC 2024, दिसंबर
Anonim
स्क्रैप से बने सीएनसी फ़ीड-दर मापने का उपकरण
स्क्रैप से बने सीएनसी फ़ीड-दर मापने का उपकरण

क्या कभी किसी ने सीएनसी मशीन पर वास्तविक फ़ीड-दर को मापना चाहा है? शायद नहीं, जब तक कि सीएनसी नौकरी के बाद मिलिंग बिट्स बरकरार नहीं हैं … लेकिन जब वे नियमित रूप से टूटना शुरू करते हैं, तो शायद यह जांच करने का समय है। इस निर्देश में आप एक सीएनसी मशीन की वास्तविक फ़ीड-दर निर्धारित करने के लिए एक खोज का अनुसरण कर सकते हैं। यह एक प्रिंटर के रिवर्स-इंजीनियरिंग हिस्से, आर्डिनो फर्मवेयर, पीसी सॉफ्टवेयर, और मेरे सहयोगियों की मदद से मिले परिणामों को कवर करेगा, और एक कचरा खजाने में बदल गया।

चरण 1: परियोजना को चलाने के लिए प्रयुक्त सामग्री, उपकरण, उपकरण

जब मैंने इस पर काम करना शुरू किया, तो मैंने उन चीजों की एक छोटी सूची के बारे में सोचा जिनकी हमें आवश्यकता होगी:

  • डिसबैलेंस प्रिंटर कैरिज मैकेनिज्म
  • हाथ उपकरण कि ट्वीक करने के लिए
  • सोल्डरिंग आयरन, सोल्डर, वायर्स
  • मल्टीमीटर
  • आस्टसीलस्कप या तर्क विश्लेषक - यह बिल्कुल आवश्यक नहीं है
  • बिजली की आपूर्ति
  • माइक्रोस्कोप
  • अरुडिनो नैनो + पिनआउट
  • Arduino IDE के साथ पीसी, विजुअल स्टूडियो 2008 एक्सप्रेस + एमएस चार्टिंग टूल्स स्थापित
  • (MPU6050 - मैंने इसका उपयोग नहीं किया)
  • सब कुछ ब्राउज़ करने के लिए तैयार हैं जो आप नहीं जानते कि कैसे करना है

शुरुआत में, मैंने सोचा था कि एक MPU6050 बोर्ड मुझे एक ही बार में तीनों अक्षों पर फ़ीड-दर मापने की अनुमति देगा। इसके अंदर एक्सेलेरोमीटर होने से, मुझे यकीन था कि एक्सेलेरोमीटर डेटा को समेटने से मुझे वांछित मूल्य मिलेगा - प्रत्येक अक्ष पर गति। सीरियल मॉनिटर पर कच्चे डेटा को प्रदर्शित करने वाले एक Arduino स्निपेट को डाउनलोड करने और संशोधित करने के बाद, मैंने विजुअल स्टूडियो में एक छोटा पीसी प्रोग्राम लिखा, जिसने डेटा को संसाधित किया, और इसे आसान व्याख्या के लिए चार्ट पर प्लॉट किया। मुझे इसके लिए विजुअल स्टूडियो सी # एक्सप्रेस 2008 और चार्टिंग टूल्स दोनों को डाउनलोड करना पड़ा।

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

चरण 2: हार्डवेयर सामग्री जो करने की आवश्यकता है

हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है
हार्डवेयर सामग्री जो करने की आवश्यकता है

रिवर्स इंजीनियरिंग

बेशक, प्रिंटर तंत्र में कोई भाग संख्या नहीं थी जिसका उपयोग मैं इसके सटीक गुणों को निर्धारित करने के लिए कर सकता था, जहां हम चाहते थे उसे प्राप्त करने के लिए थोड़ी रिवर्स-इंजीनियरिंग की आवश्यकता थी। तंत्र और इलेक्ट्रॉनिक्स की बारीकी से जांच करने के बाद, मैंने फैसला किया कि सबसे पहले ऑप्टिकल सेंसर पिन की पहचान होनी चाहिए। यह पूरी बात Arduino को इंटरफ़ेस करने के लिए किया जाना था। मैंने काले प्लास्टिक वाले हिस्से को अलग किया, पीसीबी को निकाला, और सेंसर की जांच की: उस पर आरओएचएम आरपीआई-2150 लिखा हुआ था। इससे मुझे खुशी हुई, उम्मीद बहुत अधिक थी कि मुझे एक डेटाशीट मिल जाएगी। दुर्भाग्य से यह या तो पुराना है, या एक कस्टम हिस्सा है - वेब पर कहीं भी कोई डेटाशीट नहीं मिली। इसका मतलब यह था कि मुझे मामलों को अपने हाथों में लेना पड़ा: यह जानते हुए कि इन सेंसर में आमतौर पर एक इन्फ्रारेड एलईडी और दो फोटो-ट्रांजिस्टर होते हैं, मैंने एक मल्टीमीटर पकड़ा, इसे डायोड माप मोड पर सेट किया, और पिन के बीच मापना शुरू किया।

पावर पिन आमतौर पर ढूंढना आसान होता है - उनके पास कैपेसिटर होंगे, और वे आमतौर पर पीसीबी-एस पर विस्तृत निशान से जुड़े होते हैं। बेहतर शोर अस्वीकृति के लिए जमीन के निशान अक्सर कई पैड से जुड़े होते हैं।

हालाँकि, इनपुट और आउटपुट पिन इतने तुच्छ नहीं हैं। डायोड को मापते समय, मीटर एक दिशा में अपने आगे के वोल्टेज को दिखाएगा, और दूसरी दिशा में ओवरलोड (अनंत) दिखाएगा। मैं पिन के बीच चार डायोड की पहचान करने में सक्षम था, मैंने निष्कर्ष निकाला कि चौथा डायोड किसी प्रकार का जेनर या टीवीएस डायोड होना चाहिए, क्योंकि यह घटक के पावर पिन के बीच सही था। इन्फ्रारेड एमिटर का पता लगाना आसान था, इसके साथ श्रृंखला में 89R रोकनेवाला था। मुझे शेष दो पिनों पर दो डायोड माप के साथ छोड़ दिया गया, जिन्हें दो रिसीवर होना था।

नोट: दालों की गिनती करके स्थिति निर्धारित करने के अलावा आंदोलन की दिशा निर्धारित करने में सक्षम होने के लिए इन सेंसर में दो रिसीवर होते हैं। ये दो आउटपुट तरंगें 90° चरण से बाहर हैं, इसका उपयोग काउंट-अप या काउंट-डाउन पल्स उत्पन्न करने के लिए किया जाता है। इन दालों की संख्या का अनुसरण करके, प्रिंटिंग हेड की सटीक स्थिति निर्धारित की जा सकती है।

जब एमिटर और दो रिसीवर स्थित थे, तो मैंने उनके पिन पर तारों को मिलाया, इसलिए मैं सेंसर को Arduino के साथ इंटरफेस कर सकता हूं। ऐसा करने से पहले, मैंने 3.3V के साथ सेंसर की आपूर्ति की, सेंसर के बीच की पट्टी को एक-दो बार खींचा, और आउटपुट पर वर्ग तरंग का अवलोकन किया। वर्ग तरंग की आवृत्ति गति के साथ भिन्न होती है, और मैंने निष्कर्ष निकाला कि माप प्रणाली अब Arduino से जुड़ने के लिए तैयार है।

Arduino को जोड़ना

इस नए 'सेंसर' को कनेक्ट करना बेहद आसान है। बस सेंसर आउटपुट को D2 और D3 (इंटरप्ट-सक्षम पिन!), और बिजली आपूर्ति लाइनों से कनेक्ट करें, और कोडिंग शुरू हो सकती है।

चरण 3: Arduino कोडिंग

Arduino कोडिंग
Arduino कोडिंग

Arduino कोड काफी सरल है। मैंने एक फ़ंक्शन असाइन किया है जो हर बार निष्पादित होता है जब D2 एक बढ़ती हुई बढ़त को देखता है, यह मेरे द्वारा संलग्न Arduino कोड से बीता हुआ कार्य है। यदि आप द्विघात एनकोडर के संकेतों पर एक नज़र डालते हैं, तो आप इसे देखेंगे:

  • एक दिशा चरण में ए प्रत्येक चरण बी बढ़ते किनारे पर तर्क उच्च है
  • दूसरी दिशा में चरण ए प्रत्येक चरण बी बढ़ते किनारे पर तर्क कम है

यह एनकोडर की संपत्ति थी जिसका मैंने लाभ उठाया था: चूंकि हर बार डी 2 के बढ़ते किनारे पर विलुप्त होने का कार्य निष्पादित होता है, इसलिए मैंने अभी लिखा है कि अगर डी 3 उच्च होने पर काउंटर बढ़ता है, और डी 3 कम होने पर इसे घटा देता है। इसने पहली कोशिश में काम किया, मैंने काउंटर वैल्यू को सीरियल मॉनिटर को भेज दिया, और शाफ्ट पर प्रिंटर हेड को स्थानांतरित करने पर इसे बढ़ता/घटता देखा।

लंबी कहानी छोटी, फर्मवेयर लूप फ़ंक्शन में निम्न कार्य करता है:

  1. किसी भी आने वाले डेटा के लिए सीरियल प्राप्त बफर की जाँच करता है
  2. यदि आवक डेटा है, तो जांचें कि यह '1' है या नहीं
  3. अगर यह '1' है, तो इसका मतलब है कि पीसी सॉफ्टवेयर काउंटर वैल्यू का अनुरोध कर रहा है
  4. सीरियल के माध्यम से पीसी को काउंटर वैल्यू भेजें
  5. 1 से शुरू करें।

इसके साथ ही गेंद अब पीसी सॉफ्टवेयर के पाले में है। आइए इसमें शामिल हों!

चरण 4: विजुअल स्टूडियो सी # सॉफ्टवेयर

VS C# प्रोग्राम का उद्देश्य कम्प्यूटेशनल बोझ को Arduino से PC में स्थानांतरित करना था। यह सॉफ़्टवेयर डेटा प्राप्त करता है जो Arduino प्रदान कर रहा है, गणना करता है और एक ग्राफ के रूप में गति प्रदर्शित करता है।

मैंने सबसे पहले जो किया वह Google को सी # में सीरियल संचार कैसे करना है। मुझे एक अच्छे उदाहरण के साथ MSDN.com पर बहुत सारी अच्छी जानकारी मिली, फिर मैंने बस वही फेंक दिया जिसकी मुझे आवश्यकता नहीं थी - मूल रूप से पढ़ने वाले हिस्से को छोड़कर सब कुछ। मैंने COM पोर्ट और गति को Arduino के साथ मिलान करने के लिए सेट किया, फिर बस इसे कुछ कोशिशें दीं और सीरियल पोर्ट पर आने वाली हर चीज को मल्टी-लाइन टेक्स्ट बॉक्स में डंप कर दिया।

मान पढ़े जाने के बाद, मैं केवल एक माप को एक दूसरे से और सीमांकक वर्णों से अलग करने के लिए रीडो और स्प्लिट फ़ंक्शंस का उपयोग कर सकता था। इन्हें चार्ट नियंत्रण पर प्लॉट किया गया था, और मान स्क्रीन पर दिखाई देने लगे।

यदि आप अपने वीएस टूलबॉक्स में चार्ट नियंत्रण नहीं देख पा रहे हैं, तो आप समस्या को गूगल कर सकते हैं और यहां समाधान ढूंढ सकते हैं (उत्तर # 1 देखें): लिंक

माप सिद्धांत

गिनती की संख्या और सिर की यात्रा की दूरी के बीच संबंध खोजने के लिए, हमने गिनती मान को शून्य कर दिया, प्रिंटर हेड को हाथ से 100 मिमी घुमाया, और गिनती में परिवर्तन देखा। हम अंत में निम्नलिखित अनुपात के साथ आए: 1 गिनती = 0.17094 मिमी।

चूंकि हम दूरी को क्वेरी कर सकते हैं और हम नमूनों के बीच के समय को माप सकते हैं, हम उस दर की गणना कर सकते हैं जिस पर स्थिति में बदलाव होता है - हम गति की गणना कर सकते हैं!

TMR0 की बदौलत 50ms का रफ सॉफ्टवेयर टाइमिंग है, लेकिन हमने देखा कि ये टाइमिंग बहुत सटीक नहीं थी। वास्तव में, कुछ सॉफ़्टवेयर गति मापों के बाद, हमने पाया कि 50ms का समय 50ms बिल्कुल नहीं है। इसका मतलब था कि नमूने निश्चित अंतराल पर नहीं लिए गए थे, इसलिए गति गणना निश्चित समय-आधार का भी उपयोग नहीं कर सका। एक बार जब हमें यह समस्या मिल गई, तो आगे बढ़ना आसान हो गया: हमने दूरी और समय के अंतर में अंतर लिया और गति की गणना D_distance/D_time (D-distance/50ms के बजाय) के रूप में की।

इसके अलावा, क्योंकि हमारा समीकरण mm/50ms की इकाइयों में गति लौटाएगा, हमें इसे १२०० से गुणा करना होगा ताकि सिर एक मिनट में [मिमी/मिनट] में कितनी दूरी तय कर सके।

नोट: मच ३ सीएनसी मिल कंट्रोलिंग सॉफ्टवेयर [मिमी/मिनट] की इकाइयों में फ़ीड-दरों को परिभाषित करता है।

छनन

इस बिंदु से, माप बहुत सटीक लग रहा था, लेकिन मापा संकेत पर कुछ शोर था। हमें संदेह था कि यह शाफ्ट, शाफ्ट युग्मन, आदि में यांत्रिक विसंगतियों के कारण था, इसलिए जो मापा जाता है उसका एक अच्छा माध्य मान प्राप्त करने के लिए इसे फ़िल्टर करने का निर्णय लिया।

सॉफ्टवेयर में ठीक समायोजन

रनटाइम के दौरान नमूना दर और फ़िल्टर दर को बदलने के लिए, स्क्रॉलबार जोड़े गए - प्रत्येक के लिए एक। साथ ही, भूखंडों को छिपाने की क्षमता भी पेश की गई थी।

चरण 5: परिणाम

परिणाम
परिणाम
परिणाम
परिणाम
परिणाम
परिणाम
परिणाम
परिणाम

हार्डवेयर और सॉफ्टवेयर के पुर्जे तैयार होने के बाद, हमने मच 3 + माय सॉफ्टवेयर के साथ माप के तीन सेट चलाए, आप संलग्न चित्रों पर परिणाम देख सकते हैं। बाद के प्रयोगों ने बेहतर सटीकता दिखाई, फिल्टर और नमूना दरों दोनों में वृद्धि हुई। भूखंड ठोस लाल के साथ मापा गति दिखाते हैं, और औसत डैश-बिंदीदार नीले रंग के साथ।

ऐसा कहा जा रहा है, ऐसा लगता है कि मच 3 इन गति सेटिंग्स को काफी सटीक रूप से संभालता है, लेकिन अब हम निश्चित रूप से जानते हैं:)

मुझे आशा है कि आपने रिवर्स-इंजीनियरिंग और पानी को वाइन में बदलने के बारे में इस संक्षिप्त निर्देश का आनंद लिया!

चीयर्स!

सिफारिश की: