विषयसूची:

सीएनसी ड्रम प्लॉटर: 13 चरण (चित्रों के साथ)
सीएनसी ड्रम प्लॉटर: 13 चरण (चित्रों के साथ)

वीडियो: सीएनसी ड्रम प्लॉटर: 13 चरण (चित्रों के साथ)

वीडियो: सीएनसी ड्रम प्लॉटर: 13 चरण (चित्रों के साथ)
वीडियो: Plate degree cutting formula | डिग्री मे प्लेट काटने का तरीका 2024, नवंबर
Anonim
Image
Image
सीएनसी ड्रम प्लॉटर
सीएनसी ड्रम प्लॉटर

यह निर्देशयोग्य प्लास्टिक पाइप के एक खंड, दो BYJ-48 स्टेपर मोटर्स और एक SG-90 सर्वो से बने A4 / A3 प्लॉटर का वर्णन करता है। अनिवार्य रूप से यह एक फ्लैट-बेड प्लॉटर है जिसे ड्रम में घुमाया जाता है।

एक मोटर ड्रम को घुमाती है जबकि दूसरी प्रिंट-हेड को घुमाती है। सर्वो का उपयोग पेन को ऊपर और नीचे करने के लिए किया जाता है।

पारंपरिक फ्लैटबेड प्लॉटर पर इस प्लॉटर के कई फायदे हैं:

  • काफी छोटा पदचिह्न
  • केवल एक रैखिक गाइड रेल की आवश्यकता है
  • निर्माण के लिए सरल
  • सस्ता

एक ऑन-बोर्ड दुभाषिया इंकस्केप से gcode आउटपुट स्वीकार करता है।

प्लॉटर के साथ संचार ब्लूटूथ लिंक के माध्यम से होता है।

प्लॉटर मेरे निर्देश योग्य https://www.instructables.com/id/CNC-Graphics-Table… में वर्णित सीएनसी ग्राफिक्स टैबलेट के साथ संगत है।

जबकि एक सटीक उपकरण नहीं है, इस आलेखक की सटीकता कागज पर पानी के रंग की रूपरेखा को स्थानांतरित करने के अपने इच्छित उद्देश्य के लिए संतोषजनक है।

चरण 1: सर्किट

सर्किट
सर्किट

सर्किट में एक Arduino UNO R3 माइक्रोकंट्रोलर और एक कस्टम शील्ड शामिल है, जिस पर असतत घटक लगे होते हैं। बिजली एक बाहरी 5 वोल्ट 1 amp नियामक के माध्यम से लागू होती है। औसत करंट लगभग 500mA है।

BYJ-48 स्टेपिंग मोटर्स PORTB (पिन D8, D9, D10, D11) और PORTC (पिन A0, A1, A2, A3) से जुड़ी हैं। SG-90 पेन-लिफ्ट सर्वो पिन D3 से जुड़ा है।

560 ओम रेसिस्टर्स, जिन्हें छोड़ा जा सकता है, कुछ गलत होने पर आर्डिनो को शॉर्ट-सर्किट सुरक्षा प्रदान करते हैं। वे ढाल को तार करना भी आसान बनाते हैं क्योंकि वे आपूर्ति रेल में "जंपर्स" के रूप में कार्य करते हैं।

1k2 और 2K2 प्रतिरोधक HC-06 ब्लूटूथ मॉड्यूल [1] को 5 वोल्ट आउटपुट को आर्डिनो से 3.3 वोल्ट तक नीचे गिराकर नुकसान को रोकते हैं।

[१] USB पोर्ट के माध्यम से arduino पर कोड अपलोड करते समय HC-06 ब्लूटूथ मॉड्यूल को अनप्लग करें। यह किसी भी सीरियल पोर्ट संघर्ष से बच जाएगा।

चरण 2: रैखिक ड्राइव

रैखिक ड्राइव
रैखिक ड्राइव
रैखिक ड्राइव
रैखिक ड्राइव
रैखिक ड्राइव
रैखिक ड्राइव

रैखिक ड्राइव 3 मिमी x 32 मिमी एल्यूमीनियम बार की लंबाई, एल्यूमीनियम शीट की एक पट्टी और चार छोटे बॉल-बेयरिंग पुली से बना है।

एल्युमीनियम अधिकांश हार्डवेयर स्टोर से उपलब्ध है। U624ZZ 4x13x7mm U- नाली पुली https://www.aliexpress.com से उपलब्ध हैं

सरल हाथ उपकरण वे सभी हैं जिनकी आपको आवश्यकता है। अपने प्लॉटर आयामों के अनुरूप एल्यूमीनियम बार को काटें।

मोटर असेंबली

BJY-48 स्टेपिंग मोटर को एक छोर पर बार के माध्यम से माउंट करें और मोटर शाफ्ट में GT2 20 टूथ, 5 मिमी बोर, चरखी संलग्न करें। अब अपने बार के दूसरे छोर पर एक और GT2 चरखी को माउंट करें ताकि चरखी स्वतंत्र रूप से घूमने में सक्षम हो। मैंने इसे प्राप्त करने के लिए 5 मिमी व्यास के ट्यूबलर (रेडियो) स्पेसर और 3 मिमी बोल्ट का उपयोग किया।

अब पुली के चारों ओर GT2 टाइमिंग बेल्ट की लंबाई को लूप करें। टाइमिंग बेल्ट के सिरों को आधे मोड़ के माध्यम से इस तरह मिलाएं कि दांत आपस में जुड़ जाएं और केबल टाई से ठीक हो जाएं।

अंत में कैरिज असेंबली को केबल टाई के साथ टाइमिंग बेल्ट से जोड़ दें।

कैरिज असेंबली

कैरिज असेंबली को एल्युमिनियम शीट [1] की एक पट्टी से बनाया गया है, जिस पर U624ZZ पुली को बोल्ट किया गया है। यदि आवश्यक हो तो एल्यूमीनियम शीट से पुली को दूर करने के लिए 4 मिमी वॉशर का उपयोग करें।

पुली, जिसमें 4 मिमी का खांचा होता है, एल्यूमीनियम बार को ऊपर और नीचे इस तरह फैलाता है कि कोई ऊर्ध्वाधर गति नहीं होती है फिर भी एल्यूमीनियम पट्टी स्वतंत्र रूप से बाएं और दाएं चलती है।

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

एल्यूमियम पट्टी को "यू" में मोड़ने से पहले, अपने पेन व्यास के अनुरूप ऊपर और नीचे एक छेद ड्रिल करें। अब मोड़ों को पूरा करें।

एक केबल टाई और शीर्ष दो पुली के बीच 3 मिमी बोल्ट के माध्यम से कैरिज असेंबली में टाइमिंग-बेल्ट संलग्न करें।

पेन-लिफ्ट असेंबली

एक या दो केबल संबंधों का उपयोग करके कैरिज असेंबली के शीर्ष पर एक SG-90 सर्वो संलग्न करें।

अपनी कलम को उन दो छेदों के नीचे गिराएं जिन्हें आपने ड्रिल किया है। सुनिश्चित करें कि पेन स्वतंत्र रूप से ऊपर और नीचे स्लाइड करता है।

अपनी कलम पर एक "कॉलर" इस तरह बांधें कि जब सर्वो पेन-अप स्थिति में हो तो पेन ड्रम से बिल्कुल स्पष्ट हो।

[१] शीट के दोनों किनारों को एक तेज चाकू (बॉक्स-कटर) से काटकर एल्यूमीनियम को काटा जा सकता है और फिर एक टेबल के किनारे पर कट को मोड़ा जा सकता है। कुछ लड़खड़ाते हैं और शीट एक सीधा ब्रेक छोड़कर फ्रैक्चर हो जाएगी। टिन-स्निप के विपरीत यह विधि एल्युमिनियम को खराब नहीं करती है।

चरण 3: ड्रम

ढोल
ढोल
ढोल
ढोल
ढोल
ढोल

ड्रम में दो लकड़ी के एंड-प्लग के साथ प्लास्टिक पाइप का एक भाग होता है [1]।

एंड-प्लग की रूपरेखा तैयार करने के लिए, अपने पाइप के अंदरूनी त्रिज्या पर सेट एक कंपास का उपयोग करें। अब एक महीन ब्लेड आरी ("मुकाबला", "झल्लाहट") का उपयोग करके प्रत्येक रूपरेखा के चारों ओर काटें, फिर लकड़ी के रास्प की सहायता से प्रत्येक अंत-प्लग को कस्टम फिट करें। छोटे काउंटर-सनक लकड़ी के शिकंजे का उपयोग करके अंत प्लग को फास्ट करें।

प्रत्येक एंड-प्लग के केंद्र के माध्यम से एक 6 मिमी इंजीनियरिंग बोल्ट एक्सल बनाता है।

ड्रम आयाम

ड्रम के आयाम आपके कागज़ के आकार से निर्धारित होते हैं। 100mm का ड्रम व्यास A4 पोर्ट्रेट और A3 लैंडस्केप को सपोर्ट करता है। 80 मिमी का एक ड्रम व्यास केवल A4 परिदृश्य का समर्थन करेगा। जड़ता को कम करने के लिए जितना संभव हो उतना छोटा ड्रम व्यास का प्रयोग करें … BYJ-48 मोटर्स केवल छोटे हैं।

90 मिमी का एक ड्रम व्यास A4 पोर्ट्रेट और A3 लैंडस्केप पेपर के विपरीत किनारों के रूप में आदर्श है, जब ड्रम के चारों ओर लपेटा जाता है, तो लगभग 10 मिमी ओवरलैप होता है, जिसका अर्थ है कि आपके पास टेप करने के लिए केवल एक सीम है।

ड्रम घूर्णन

प्रत्येक धुरी एक एल्यूमीनियम अंत ब्रैकेट से गुजरती है जैसे कि ड्रम स्वतंत्र रूप से घूमने में सक्षम होता है। एंड फ्लोट को जीटी-2, 20 टूथ, 6 मिमी बोर, पुली के माध्यम से एक छोर पर धुरी से बांधकर रोका जाता है। एक सतत GT-2 टाइमिंग बेल्ट BJY-48 गियर वाली स्टेपिंग मोटर को ड्रम से जोड़ती है। मोटर को 5 मिमी के बोर आकार के साथ एक चरखी की आवश्यकता होती है।

[१] प्लास्टिक एंड-प्लग अधिकांश पाइप व्यास के लिए उपलब्ध हैं, लेकिन उन्हें अस्वीकार कर दिया गया क्योंकि वे अंदर की बजाय पाइप पर फिट होते हैं और प्लास्टिक फ्लेक्स की ओर जाता है। वे शायद ठीक होंगे यदि बोल्ट के बजाय एक निरंतर धुरी का उपयोग किया जाता है … लेकिन फिर आपको धुरी को अंत-प्लग में ठीक करने की कुछ विधि की आवश्यकता होती है।

चरण 4: निर्माण युक्तियाँ

सुनिश्चित करें कि पेन ड्रम के केंद्र के साथ यात्रा करता है। यह लकड़ी के समर्थन से कोनों को काटकर प्राप्त किया जा सकता है। यदि पेन ऑफ-सेंटर है तो यह ड्रम के किनारे नीचे की ओर खिसकेगा।

दो पेन होल की सटीक ड्रिलिंग महत्वपूर्ण है। पेन गाइड या कैरिज असेंबली में कोई भी डगमगाने से एक्स-एक्सिस के साथ-साथ डगमगाएगा।

GT-2 टाइमिंग बेल्ट को ज़्यादा कसें नहीं … उन्हें बस तना हुआ होना चाहिए। BYJ-48 स्टेपिंग मोटर्स में ज्यादा टॉर्क नहीं होता है।

BJY-48 स्टेपिंग मोटर्स अक्सर कम मात्रा में बैकलैश प्रदर्शित करते हैं जो कि X-अक्ष के साथ महत्वहीन है लेकिन Y-अक्ष की बात करें तो यह चिंता का विषय है। इसका कारण यह है कि वाई-अक्ष मोटर का एक घूर्णन ड्रम के एक घूर्णन के बराबर होता है, जबकि पेन-कैरिज को ड्रम की लंबाई को पार करने के लिए एक्स-अक्ष मोटर के कई मोड़ों की आवश्यकता होती है। किसी भी Y-अक्ष के बैकलैश को ड्रम पर निरंतर टॉर्क रखकर समाप्त किया जा सकता है। ड्रम के चारों ओर लिपटे नायलॉन की रस्सी के लिए एक छोटा वजन संलग्न करने का एक सरल तरीका है।

चरण 5: ब्रेसेनहैम की रेखा आरेखण एल्गोरिथम

ब्रेसेनहैम की रेखा आरेखण एल्गोरिथम
ब्रेसेनहैम की रेखा आरेखण एल्गोरिथम
ब्रेसेनहैम की रेखा आरेखण एल्गोरिथम
ब्रेसेनहैम की रेखा आरेखण एल्गोरिथम

यह आलेखक ब्रेसेनहैम के रेखा आरेखण एल्गोरिथम के अनुकूलित संस्करण [1] का उपयोग करता है। दुर्भाग्य से यह एल्गोरिथ्म केवल 45 डिग्री से कम या उसके बराबर रेखा ढलानों के लिए मान्य है (अर्थात एक वृत्त का एक अष्टक)।

इस सीमा के आसपास जाने के लिए मैं सभी XY इनपुट को पहले "ऑक्टेंट" में "मैप" करता हूं, फिर प्लॉट करने का समय होने पर उन्हें "अनमैप" करता हूं। इसे प्राप्त करने के लिए इनपुट और आउटपुट मैपिंग फ़ंक्शन उपरोक्त आरेख में दिखाए गए हैं।

व्युत्पत्ति

यदि आप ब्रेसेनहैम के एल्गोरिथम से परिचित हैं, तो इस चरण के शेष भाग को छोड़ा जा सकता है।

आइए हम (0, 0) से (x1, y1) तक एक रेखा खींचते हैं जहाँ:

  • x1=8=क्षैतिज दूरी
  • y1=6=ऊर्ध्वाधर दूरी

मूल बिंदु (0, 0) से गुजरने वाली एक सीधी रेखा का समीकरण समीकरण y=m*x द्वारा दिया जाता है जहाँ:

m=y1/x1=6/8=0.75=ढलान

सरल एल्गोरिथम

इस लाइन को प्लॉट करने के लिए एक सरल एल्गोरिथम है:

  • इंट x1=8;
  • इंट y1=6;
  • फ्लोट एम = y1/x1;
  • प्लॉट (0, 0);
  • के लिए (int x=1; x<=x1; x++) {
  • इंट वाई = राउंड (एम * एक्स);
  • प्लॉट (एक्स, वाई);
  • }

तालिका 1: सरल एल्गोरिथम

एक्स एम एम * एक्स आप
0 0.75 0 0
1 0.75 0.75 1
2 0.75 1.5 2
3 0.75 2.25 2
4 0.75 3 3
5 0.75 3.75 4
6 0.75 4.5 5
7 0.75 5.25 5
8 0.75 6 6

इस सरल एल्गोरिथम के साथ दो समस्याएं हैं:

  • मुख्य लूप में एक गुणन होता है जो धीमा होता है
  • यह फ्लोटिंग पॉइंट नंबरों का उपयोग करता है जो धीमा भी है

इस लाइन के लिए y बनाम x का ग्राफ ऊपर दिखाया गया है।

ब्रेसेनहैम का एल्गोरिथम

ब्रेसेनहैम ने एक त्रुटि शब्द 'ई' की अवधारणा पेश की जिसे शून्य से आरंभ किया गया है। उन्होंने महसूस किया कि तालिका 1 में दिखाए गए m*x मान 'm' को 'e' में लगातार जोड़ने से प्राप्त किए जा सकते हैं। उन्होंने आगे महसूस किया कि y केवल तभी बढ़ता है जब m*x का भिन्नात्मक भाग 0.5 से अधिक हो। अपनी तुलना को 0<=0.5<=1 के दायरे में रखने के लिए जब भी y में वृद्धि होती है तो वह 'e' से 1 घटा देता है।

  • इंट x1=8;
  • इंट y1=6;
  • फ्लोट एम = y1/x1;
  • इंट वाई = 0;
  • फ्लोट ई = 0;
  • प्लॉट (0, 0);
  • के लिए (int x=1; x<=x1; x++) {
  • ई+= एम;
  • अगर (ई> = 0.5) {
  • ई - = 1;
  • वाई++;
  • }
  • प्लॉट (एक्स, वाई);
  • }

तालिका 2: ब्रेसेनहैम का एल्गोरिथम

एक्स एम ई-1 आप
0 0.75 0 0 0
1 0.75 0.75 -0.25 1
2 0.75 0.5 -0.5 2
3 0.75 0.25 2
4 0.75 1 0 3
5 0.75 0.75 -0.25 4
6 0.75 0.5 -0.5 5
7 0.75 0.25 5
8 0.75 1 0 6

यदि आप एल्गोरिथम और तालिका 2 की जांच करते हैं तो आप देखेंगे कि;

  • मुख्य लूप केवल जोड़ और घटाव का उपयोग करता है … कोई गुणा नहीं है
  • y का पैटर्न तालिका 1 के समान है।

लेकिन हम अभी भी फ्लोटिंग पॉइंट नंबरों का उपयोग कर रहे हैं … इसे ठीक करते हैं।

ब्रेसेनहैम (अनुकूलित) एल्गोरिथम

यदि हम 'm' और 'e' को 2*x1 से स्केल करते हैं तो ब्रेसेनहैम के फ्लोटिंग पॉइंट एल्गोरिथम को एक पूर्णांक रूप में परिवर्तित किया जा सकता है, जिस स्थिति में m=(y1/x1)*2*x1=2*y1

'एम' और 'ई' स्केलिंग के अलावा एल्गोरिथ्म उपरोक्त के समान है सिवाय:

  • हर बार जब हम 'x' बढ़ाते हैं तो हम 'e' में 2*y1 जोड़ते हैं
  • यदि e बराबर या x1 से बड़ा है तो हम y बढ़ाते हैं।
  • हम 1. के बजाय 'e' से 2*x1 घटाते हैं
  • X1 का उपयोग 0.5. के बजाय तुलना के लिए किया जाता है

यदि लूप परीक्षण के लिए शून्य का उपयोग करता है तो एल्गोरिथ्म की गति को और बढ़ाया जा सकता है। ऐसा करने के लिए हमें त्रुटि शब्द 'ई' में एक ऑफसेट जोड़ना होगा।

  • इंट x1=8;
  • इंट y1=6;
  • इंट एम = (वाई 1 << 1); // स्थिर: ढलान 2*x1. द्वारा बढ़ाया गया
  • इंट ई = (एक्स 1 << 1); // स्थिर: 2*X1 लूप में उपयोग के लिए
  • इंट ई = -x1; // ऑफसेट ऑफ़ -ई/2: परीक्षण अब शून्य पर किया गया
  • प्लॉट (0, 0);
  • इंट वाई = 0;
  • के लिए (x=1; x<=x1; x++) {
  • ई + = एम;
  • अगर (ई>=x1) {
  • ई - = ई
  • वाई++;
  • }
  • प्लॉट (एक्स, वाई);
  • }

तालिका 3: ब्रेसेनहैम (अनुकूलित) एल्गोरिथम

एक्स एम ई - ई आप
0 12 16 -8 0
1 12 16 4 -12 1
2 12 16 0 -16 2
3 12 16 -4 2
4 12 16 8 -8 3
5 12 16 4 -12 4
6 12 16 0 -16 5
7 12 16 -4 5
8 12 16 8 -8 6

एक बार फिर y के लिए पैटर्न अन्य तालिकाओं की तरह ही है। यह ध्यान रखना दिलचस्प है कि तालिका 3 में केवल पूर्णांक हैं और m/E=12/16=0.75 का अनुपात है जो रेखा का ढलान 'm' है।

यह एल्गोरिथ्म बहुत तेज़ है क्योंकि मुख्य लूप में केवल जोड़, घटाव और शून्य के साथ तुलना शामिल है। जब हम X1 और y1 के मानों को दोगुना करने के लिए "लेफ्ट-शिफ्ट" का उपयोग करके 'E' और 'm' के मानों को इनिशियलाइज़ करते हैं, तो इसके अलावा गुणा का उपयोग नहीं किया जाता है।

[१] ब्रेसेनहैम के एल्गोरिथ्म का यह अनुकूलित संस्करण एक पेपर "ब्रेसेनहैम लाइन एंड सर्कल ड्रॉइंग" से लिया गया है, कॉपीराइट © 1994-2006, डब्ल्यू रैंडोल्फ फ्रैंकलिन (डब्ल्यूआरएफ)। उनकी सामग्री का उपयोग गैर-लाभकारी अनुसंधान और शिक्षा के लिए किया जा सकता है, बशर्ते कि आप उन्हें क्रेडिट दें, और उनके होम पेज पर वापस लिंक करें,

चरण 6: कोड

संलग्न फ़ाइल को उसी नाम के फ़ोल्डर में डाउनलोड करें और फिर इसे अपने arduino IDE (एकीकृत विकास वातावरण) का उपयोग करके प्लॉटर पर अपलोड करें।

अपलोड करने का प्रयास करने से पहले HC-06 ब्लूटूथ मॉड्यूल को अनप्लग करें। USB केबल के साथ सीरियल पोर्ट संघर्ष से बचने के लिए यह आवश्यक है।

थर्ड पार्टी कोड

उपरोक्त.ino कोड के अतिरिक्त आपको निम्नलिखित सॉफ्टवेयर पैकेजों की आवश्यकता होगी जो निःशुल्क/दान-वेयर हैं:

  • टेराटर्म जो https://osdn.net/projects/ttssh2/releases/ से उपलब्ध है
  • इंकस्केप जो https://inkscape.org/en/download/ से उपलब्ध है

उपरोक्त प्रत्येक तृतीय पक्ष पैकेज को स्थापित करने और उपयोग करने के निर्देश मेरे लेख https://www.instructables.com/id/CNC-Robot-Plotter/ में देखे जा सकते हैं।

चरण 7: मेनू

मेन्यू
मेन्यू

"Teraterm" का उपयोग करके अपने आलेखक के साथ एक ब्लूटूथ कनेक्शन बनाएं।

अपने "कैप्स लॉक" को चालू करें क्योंकि सभी कमांड अपर केस में हैं।

'M' अक्षर टाइप करें और ऊपर दिखाए अनुसार एक मेनू दिखाई देना चाहिए।

मेनू यथोचित आत्म व्याख्यात्मक है:

  • M (या M0) मेनू लाता है
  • G0 आपको पेन को उठाए गए पेन के साथ एक विशिष्ट XY कोऑर्डिनेट में भेजने की अनुमति देता है।
  • G1 आपको पेन को नीचे किए गए पेन के साथ एक विशिष्ट XY को-ऑर्डिनेट में भेजने की अनुमति देता है।
  • T1 आपको अपने पेन को अपने 0, 0 कोऑर्डिनेट के ऊपर रखने की अनुमति देता है। बाहर निकलने के लिए 'ई' टाइप करें।
  • T2 आपको अपनी ड्राइंग को स्केल करने की अनुमति देता है। उदाहरण के लिए "T2 S2.5" आपके ड्राइंग को 250% मापेगा। डिफ़ॉल्ट पैमाना 100% है
  • T3 और T4 आपको पेन को ऊपर या नीचे करने की अनुमति देते हैं।
  • T5 एक "एबीसी" परीक्षण पैटर्न तैयार करता है।
  • T6 एक "लक्ष्य" खींचता है।
  • T7 रेडियल लाइनों का एक सेट बनाता है, जिसका उद्देश्य यह सत्यापित करना है कि ब्रेसेनहैम का एल्गोरिथ्म आठ "ऑक्टेंट" में से प्रत्येक में काम कर रहा है।

टिप्पणियाँ:

  • सभी पेन मूव्स मेनू विकल्प T2. का उपयोग करके ड्रॉइंग स्केल सेट का उपयोग करते हैं
  • "17:" और "19:" नंबर "Xon" और "Xoff" टर्मिनल हैंडशेक कोड हैं जो arduino दुभाषिया से हैं।

चरण 8: अंशांकन

X_STEPS_PER_MM और Y_STEPS_PER_MM के मान 90 मिमी व्यास वाले ड्रम के लिए हैं।

अन्य ड्रम व्यास के मूल्यों की गणना निम्नलिखित संबंधों का उपयोग करके की जा सकती है:

  • ड्रम की परिधि PI*व्यास है
  • 2048 कदम प्रत्येक मोटर शाफ्ट की एक क्रांति के बराबर होता है
  • GT-2 चरखी की एक क्रांति एक टाइमिंग बेल्ट के 40 मिलीमीटर रैखिक गति के बराबर होती है

निम्नलिखित कमांड दर्ज करने का एक और तरीका है,

  • G1 X0 Y100
  • G1 X100 Y100

फिर परिणामी रेखाओं की लंबाई मापें और X-STEPS_PER_MM और Y_STEPS_PER_MM के मानों को "स्केल" करें

चरण 9: Gcode प्रीप्रोसेसिंग

Gcode प्रीप्रोसेसिंग
Gcode प्रीप्रोसेसिंग
Gcode प्रीप्रोसेसिंग
Gcode प्रीप्रोसेसिंग

इस आलेखक को केवल चार इंकस्केप gcodes की आवश्यकता होती है (अर्थात: G0, G1, G2, G3)। यदि हम सभी अनावश्यक gcodes और टिप्पणियों को हटा देते हैं, तो कोड काफ़ी तेज़ी से क्रियान्वित होगा।

ऐसा करने के लिए आपको "नोटपैड++" की एक प्रति चाहिए। इस मुफ्त टेक्स्ट एडिटर में अवांछित टेक्स्ट को खोजने और हटाने के लिए एक "रेगुलर एक्सप्रेशन" सर्च इंजन है। नोटपैड++ https://notepad-plus-plus.org/download/v6.9.2.html. से उपलब्ध है

नोटपैड++ के साथ संशोधित की जाने वाली फ़ाइल खोलें और अपने कर्सर को फ़ाइल के शीर्ष पर रखें।

शीर्ष मेनू बार से "देखें/दिखाएँ प्रतीक/सभी वर्ण" और उसके बाद "खोज/बदलें…" चुनें।

"रेगुलर एक्सप्रेशन" चेक बॉक्स पर क्लिक करें (पहली छवि देखें) और निम्नलिखित कोड अनुक्रमों में से प्रत्येक को खोज बॉक्स में दर्ज करें।

प्रत्येक प्रविष्टि के बाद "सभी को बदलें" पर क्लिक करें:

  • %
  • (.*)
  • ^एम.*$
  • जेड.*$

उपरोक्त रेगुलर एक्सप्रेशन सभी % प्रतीकों, कोष्ठकों में दिखाई गई सभी टिप्पणियों, सभी M कोड, सभी Z कोड और आने वाले कोड को हटा देता है।

अब "विस्तारित अभिव्यक्ति" चेकबॉक्स पर क्लिक करें (दूसरी छवि देखें) और निम्नलिखित कोड अनुक्रम दर्ज करें:

r\n\r\n\r\n

यह अभिव्यक्ति पहले अनुक्रम द्वारा बनाई गई अवांछित कैरिज-रिटर्न और लाइन-फीड को हटा देती है।

"इस रूप में सहेजें" का उपयोग करके अपनी फ़ाइल को किसी भिन्न नाम से सहेजें।

किया हुआ।

चरण 10: परिणाम

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

यह आलेखक "अवधारणा के प्रमाण" के रूप में बनाया गया था और कभी भी परिपूर्ण होने का इरादा नहीं था। कहा कि परिणाम बहुत खराब नहीं हैं। वे निश्चित रूप से कागज पर पानी के रंग की रूपरेखा को स्थानांतरित करने के मेरे डिजाइन लक्ष्य को पूरा करते हैं।

पहले तीन चित्र अंतर्निर्मित परीक्षण पैटर्न क्रमशः T5, T6, T7 हैं।

"हैलो वर्ल्ड!" पैटर्न ब्लूटूथ के माध्यम से प्लॉटर को भेजा गया था। इस फ़ाइल की "पूर्व-संसाधित" प्रति संलग्न है।

चरण 11: कोड अद्यतन

कोड अपडेट
कोड अपडेट

इस आलेखक के लिए कोड को Drum_Plotter_V2.ino में अद्यतन कर दिया गया है।

मूल Drum_Plotter.ino के परिवर्तनों में शामिल हैं:

  • चिकनी कलम स्थिति
  • अब G02 gcode निर्देशों को पहचानता है (घड़ी की दिशा में चाप)
  • अब G03 gcode निर्देशों को पहचानता है (वामावर्त चाप)

संलग्न आरेख चाप कोण की गणना के लिए मेरी विधि की रूपरेखा तैयार करता है।

चरण 12: Drum_plotter_v3.ino

"सीएनसी ड्रम प्लॉटर" के लिए एक कोड अपडेट संलग्न है।

"drum_plotter_v3.ino" एक छोटे से बग को ठीक करता है जो आलेखक सटीकता को प्रभावित करता है।

इतिहास बदलें

संस्करण 2:

द्वि-चाप वक्र जोड़े गए

संस्करण 3:

प्लॉटर सटीकता को प्रभावित करने वाली एक छोटी सी बग को संबोधित करने के लिए निम्नलिखित कार्यों को फिर से लिखा गया था।

  • (int) move_to() फ़ंक्शन में राउंड () से बदल दिया गया है।
  • draw_line () फ़ंक्शन "ऑक्टेंट" खोज एल्गोरिदम में सुधार हुआ
  • दुभाषिया अब पॉइंटर्स के बजाय स्ट्रिंग फ़ंक्शंस का उपयोग करता है जो डिज़ाइन को सरल बनाता है। उदाहरण के लिए अब हम 'M' अक्षर की तलाश करने के बजाय "MENU" की खोज कर सकते हैं और उसके बाद आने वाली पूर्णांक संख्या निकाल सकते हैं। यह आपको अपने स्वयं के आदेशों के साथ आलेखक को वैयक्तिकृत करने की अनुमति देता है।

चरण १३: Drum_plotter_plotter_v4.ino

16 जनवरी 2017:

इस ड्रम प्लॉटर के कोड को और अधिक अनुकूलित किया गया है। अतिरिक्त सुविधाएँ जोड़ी गई हैं।

परिवर्तनों में शामिल हैं:

  • तेजी से draw_line () एल्गोरिथ्म
  • मैचिंग मूव_टू () फंक्शन
  • कदम काउंटर
  • मामूली बग फिक्स

अधिक जानकारी के लिए "drum_plotter_v4.ino" संलग्न टिप्पणियों को पढ़ें।

मेरे अन्य अनुदेशों को देखने के लिए यहां क्लिक करें।

सिफारिश की: