अपने हाथों से घर पर एक मशीन बनाने का विचार नया नहीं है। हर कोई जो घर पर इस तरह के उपकरणों के कार्यान्वयन के बारे में सोचता है, सृजन के लिए उनके मकसद से निर्देशित होना चाहिए। यह मेरे लिए आवश्यक है, क्योंकि प्रकृति के अनुसार, अच्छे, अधिक या कम समग्र हिस्से बनाने के लिए मेरे पास इतने सीधे हाथ नहीं हैं, और अक्सर कार्य सटीक जटिल भाग बनाने के लिए उठता है, जिसे मशीन अच्छी तरह से संभाल सकती है। कार्यान्वयन के लिए हमेशा पर्याप्त नए विचार और विचार होते हैं, लेकिन ज्यादा समय नहीं।
लेखक के बारे में संक्षेप में
4- , « », « », « ».
स्पॉइलर
. , . , , , . . , - , .
संदर्भ की शर्तें या बाहर निकलने पर क्या उम्मीद करें
परिणामी मिलिंग मशीन को निम्नलिखित शर्तों को पूरा करना चाहिए:- स्वीकार्य कार्य क्षेत्र हो
- एक स्वीकार्य अक्षीय गति है
- मध्यम और उच्च कठोरता की लकड़ी के हिस्सों को संसाधित करने के लिए। आदर्श रूप से एल्यूमीनियम संभाल
मशीनों का मुख्य नियम कठोरता है। मशीन की कठोरता जितनी अधिक होगी, कम कंपन, बैकलैश, सबसिडेंस, झुकता है और अन्य दोष जो संसाधित रिक्त स्थान की गुणवत्ता को प्रभावित करेगा। चूंकि मशीन पूरी तरह से घर पर बनाई जाएगी, एकमात्र सामग्री जिसे वास्तव में घर पर इतनी मात्रा में संसाधित किया जा सकता है और जिससे मशीन बिस्तर - एक पेड़ बनाना संभव होगा। बेशक विभिन्न प्रकार हैं। और बड़ी पूंजी की कमी के लिए, छात्र के लिए , जो कुछ भी पाया जाता है उसे बनाने के लिए उपयोग किया जाएगा। और यह अनिवार्य रूप से एक नमूना बोर्ड है जिसमें एक नरम पेड़ की एक ड्रिल है। हालांकि प्लाईवुड की छोटी चादरें भी हैं। क्या अमीर है, तो इसका इस्तेमाल किया जाएगा।यह भी ध्यान देने योग्य है कि मशीन का नियंत्रण क्या लॉन्च किया जाएगा। एक बहुत प्राचीन कंप्यूटर है, इसका किनारा ऐसे उद्देश्यों के लिए है। AMD Duron 1.2 GHz, RAM 768 MB, 64 MB वीडियो मेम, HDD 20 जीबी। बस इन उद्देश्यों के लिए फिट। प्रबंधन लिनक्स सीएनसी के तहत होगा। विन के तहत माच 3 के लिए समझदारी से काम नहीं करना चाहता था। उसे थोड़े और संसाधनों की जरूरत है।डिज़ाइन
मशीन के विकास को कई भागों में विभाजित किया जाएगा।- एक स्टेपर मोटर नियंत्रक का विकास
- स्टेपर मोटर चालक का विकास
- ऑप्टिकल अलगाव डिजाइन
- पोषण योजना विकास
इसे तुरंत कहा जाना चाहिए कि यांत्रिक भाग का विकास अनुपस्थित था, क्योंकि किसी चीज को विकसित करने और पूर्वानुमान करने के लिए इतना अनुभव नहीं है। इसलिए, विधानसभा चरण में विकास तुरंत किया गया था।एक स्टेपर मोटर नियंत्रक का विकास
एक स्टेपर मोटर कंट्रोलर एक PIC माइक्रोकंट्रोलर पर विकसित किया जाएगा। क्यों? सबसे पहले, यह समझना आवश्यक था कि स्टेपर मोटर्स कैसे काम करते हैं, दूसरे, यह अधिक दिलचस्प था, तीसरा, वही समाप्त L297 चिप किसी कारण से थोड़ा महंगा है, और परिणामस्वरूप यह माइक्रोकंट्रोलर पर थोड़ा सस्ता इकट्ठा हुआ।
नियंत्रण के रूप में माइक्रोकंट्रोलर PIC16F630 लिया गया था। इसमें न्यूनतम परिधि होती है और नियंत्रित करने के लिए पर्याप्त संख्या में पैर होते हैं। पोर्ट सी नियंत्रण दालों के प्रत्यक्ष उत्पादन के लिए है। पिंस A1, A2 में इनपुट सिग्नल DIR, STEP हैं। पिन A2 बाहरी अवरोध मोड में सक्षम है, और DIR एक नियमित इनपुट पिन की तरह काम करता है। नियंत्रक को 20 मेगाहर्ट्ज पर क्वार्ट्ज के माध्यम से लॉन्च किया गया है।कोड को C में लिखा गया था और एक छोटे से एसम इंसर्ट का उपयोग करके CCS C कंपाइलर पर संकलित किया गया था।#include <16f630.h>
#case
#FUSES NOWDT
#FUSES NOMCLR
#FUSES HS
#FUSES PUT
#FUSES BROWNOUT
#use delay(clock = 20 MHz)
#use fast_io(C)
#opt 9
#define DIR PIN_A1
#define CLK PIN_A2
#define LED PIN_A0
#zero_ram
const int steps[256] =
{
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101
};
unsigned int8 nowStep = 0;
#INT_TIMER1
void LoadDrop_isr()
{
output_c(0);
}
#INT_EXT
void clk_isr()
{
#asm asis
BTFSC 05.1
INCF nowStep,F
BTFSS 05.1
DECF nowStep,F
#endasm
output_c(steps[nowStep]);
set_timer1(0);
}
void main()
{
output_a(0);
input_a();
set_tris_c(0);
output_c(0);
setup_comparator(NC_NC_NC_NC);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
set_timer1(0);
ext_int_edge(L_TO_H);
enable_interrupts(INT_TIMER1);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
unsigned int16 blinkCounter = 0;
MAIN_LOOP:
if(!blinkCounter++)
output_toggle(LED);
goto MAIN_LOOP;
}
कोड का वर्णन करने के लिए, नियंत्रक के तर्क के साथ शुरू करना आसान होगा। जब नियंत्रक शुरू होता है, तो लोहे का प्रारंभिक विन्यास और व्यवधानों का समावेश होता है। चरण संख्या अहस्ताक्षरित 8-बिट चर में संग्रहित है और अब शुरुआत में यह संख्या शून्य है। अगला, सदा कार्यक्रम चक्र MAIN_LOOP में शुरू किया गया है जिसमें पिन A0 से जुड़े एलईडी का एक निमिष बस है। किस लिए? सबसे पहले, यह स्पष्ट है कि पत्थर स्थिर नहीं हुआ, और दूसरी बात, विशेष प्रभाव! पिन A2 एक आरोही किनारे पर एक बाहरी रुकावट के लिए कॉन्फ़िगर किया गया है। जब कोई घटना पैर में दर्ज होती है, तो INT_EXT व्यवधान संसाधित किया जाएगा जिसमें अगला चरण स्विच किया गया है। अगले चरण को प्रदर्शित करने के लिए, इनपुट डीआईआर के आधार पर, अब स्टेप पॉइंटर पॉइंटर का वेतन वृद्धि या घटाव होता है।फिर, स्थिति से स्टेप्स स्टेप्स के अरेंजमेंट से अब, पोर्ट में मोटर वाइंडिंग्स को स्विच करने का एक नया संयोजन प्रदर्शित होता है। इसके अलावा, माइक्रोकंट्रोलर के आरंभीकरण की शुरुआत में, टाइमर 1 की स्थापना और शुरुआत की जाती है। यह टाइमर मोटर्स के ओवरहीटिंग को रोकने के लिए आउटपुट सिग्नल को रीसेट करता है। सिग्नल सेट करने के बाद टाइमर लगभग 100 एमएस आउटपुट आउटपुट सिग्नल को रीसेट करता है। यही है, यह एक विशुद्ध रूप से एहतियाती उपाय है।सिमुलेशन में, 15 μs की सीएलके सिग्नल अवधि को प्राप्त करना संभव था, जो 66 की आवृत्ति से मेल खाती है। (6) KHz। पहली बार यह बुरा नहीं है, मुझे लगता है, हालांकि, आगे अनुकूलन संभव है।स्टेपर मोटर चालक का विकास
ज्यादा दूर जाने की जरूरत नहीं है। विशिष्ट योजना। ड्राइवर को तैयार ड्राइवर L298N के आधार पर बनाया गया है।
क्यों प्रतिरोधों आर 1 - आर 4? ईमानदारी से, मुझे नहीं पता। प्रारंभ में, प्रलेखन L297 के साथ सर्किट में जाता है, प्रतिरोधों के बिना सभी संचार। हालांकि, इंटरनेट पर मुझे लाइनों पर प्रतिरोधों के साथ सर्किट मिले। मैंने L298N पर डेटाशीट में ब्लॉक आरेख को देखा। सभी इनपुट लाइनें उलटा इनपुट और तत्व पर जाती हैं। प्रतिरोधों के बिना कुछ नहीं होना चाहिए। लेकिन मैंने तय किया कि इसे जोखिम में नहीं डालना है और केवल इस बार सम्मिलित करना है। यह बहुत बुरा नहीं होगा, प्रवेश द्वार पर सामने की स्थिरता गिर जाएगी।बाकी स्कीम डेटशीट में दिए गए को दोहराती है।ऑप्टिकल अलगाव डिजाइन
ऑप्टोकॉप्लर बोर्ड नियंत्रण मशीन की सुरक्षा करने का काम करता है, इस मामले में कंप्यूटर, मशीन के पावर पार्ट से। इसलिए, यदि मशीन के किनारे से कुछ धूम्रपान करना शुरू कर देता है, तो यह केवल ऑप्टो-कपलर बोर्ड तक धूम्रपान करेगा और क्षति को कम करेगा।योजना काफी बड़ी है, इसलिए पूर्ण आकार देखने के लिए क्लिक करें। प्रारंभ में, 4N25 ऑप्टोकॉप्लर्स लिए गए थे। क्योंकि मैंने सोचा था कि आज का कोई भी ऑप्टोकॉप्टर 60 kHz तक खिंच जाएगा। लेकिन वास्तव में, नहीं, उन्होंने इसे बढ़ाया नहीं, उनके पास समय नहीं था। इसलिए, परिणामस्वरूप, मुझे इसे 6N135 से बदलना पड़ा, जिसमें प्रदर्शन बहुत अधिक है (डेटशीट के संदर्भ में 2MHz तक)। पिंस द्वारा, वे सीधे संगत नहीं हैं, हालांकि, पूरे बोर्ड को बदलने के बिना उन्हें सम्मिलित करना संभव था। मैंने एक नई योजना नहीं बनाई, मुझे लगता है कि जो कोई भी चाहता है, बोर्ड को अपने दम पर फिर से चार्ज करने में सक्षम होगा।
जैसा कि होना चाहिए, सर्किट पावर को दो भागों में विभाजित किया गया है, मशीन की तरफ और कंप्यूटर की तरफ से। कंप्यूटर की ओर से, बिजली की आपूर्ति यूएसबी केबल के माध्यम से की जाती है, यह इसका एकमात्र उद्देश्य है। मशीन की तरफ से पहले से ही 5 वी के तारों का कोई बंडल है।पोषण योजना विकास
इसके अलावा, चूंकि सब कुछ मोनोलिथ में नहीं किया गया था, लेकिन छोटे ब्लॉकों में, शक्ति के लिए और संकेतों के लिए सामान्य से अधिक तारों को अलग करना आवश्यक था। इसलिए, तारों को सरल बनाने के लिए, मैंने 12 वी और 5 वी लाइनों पर बिजली वितरित करने के लिए कनेक्टर्स के साथ एक अलग छोटी पट्टी बनाने का फैसला किया। बिजली पट्टी
में 5 वी और 12 वी लाइनों के लिए छह कनेक्टर होते हैं, साथ ही कूलर को जोड़ने के लिए दो अलग-अलग कनेक्टर होते हैं।विधानसभा और परिणाम
चूँकि मैंने शुरू से ही तस्वीरें लेना शुरू नहीं किया था, और एक लेख लिखने की कोई योजना नहीं थी, कई विधानसभा कदम गायब हैं, लेकिन मैं उन्हें दिखाऊंगा जो हैं। इस खंड में सभी तस्वीरें क्लिक करने योग्य हैं।स्टेपर मोटर चालक बनाना
LUT: Etched और tinned: Drilled: Sealed: अगला के साथ चित्र को स्थानांतरित किया , 2 और अक्षों के लिए सफलता को दोहराना आवश्यक था:





ऑप्टिकल आइसोलेशन बोर्ड निर्माण
LUTom को ले जाया गया और एक मार्कर के साथ ठीक किया गया:
Etched:
सना हुआ:
सभी इलेक्ट्रॉनिक्स इकट्ठे :


मशीन विधानसभा
मशीन को प्लाईवुड 10 मिमी मोटी और 18 मिमी बोर्डों से इकट्ठा किया गया था। जब कोडांतरण, फर्नीचर गाइड का उपयोग किया गया था, तो यह पहली बार बेहतर था कि मुझे कुछ भी नहीं मिला, और मनोवैज्ञानिक रूप से मैं कम से कम एक ही धातु के कोनों को संसाधित करने के लिए तैयार नहीं था।सबसे पहले इस तरह का एक निर्माण था:
जेड अक्ष का पहला संस्करण:
लेकिन जैसा कि मैंने अभी समझा, यह बिल्कुल भी अच्छा नहीं था, सब कुछ घूम गया, डगमगा गया। सामान्य तौर पर, किसी भी कठोरता की बात नहीं थी।इसके बाद एक और प्रयास किया गया:
जिसके दौरान एक्स और वाई कुल्हाड़ियों को एक अलग प्लेटफॉर्म पर ले जाया गया और एक जंगम टेबल में बदल दिया गया:
यह पहले से ही बेहतर था, लेकिन फिर भी बहुत कुछ ऐसा था जो डगमगाता नहीं था। परिणामस्वरूप, मैं इस विकल्प पर आया:
हालाँकि, Z अक्ष अभी भी बहुत अधिक मोड़ और झुक रहा था। इस बार मैं बैठ गया और अच्छी तरह से सोचा और पहले से ही कुछ डिजाइन में लगा हुआ था। परिणाम यह डिजाइन था:
25 मिमी की शेल्फ के साथ समान-एल्यूमीनियम कोनों और 2 मिमी की मोटाई के लिए गाइड के रूप में उपयोग किया गया था। मुझे स्टील नहीं मिला। वे कई गुना बेहतर होंगे। औद्योगिक विनिर्माण के लिए दिशानिर्देश, निश्चित रूप से, अभी भी तुलना नहीं की जा सकती है।चलती गाड़ी:
नया जेड अक्ष:
परिणाम। आप देख सकते हैं कि इकट्ठे अक्ष, और डिजाइन एक पूरे के रूप में, अभी भी डिज़ाइन किए गए से अलग है। फिर भी, अक्ष को संरेखित करना और केंद्रित करना जब आपको केवल एक वर्नियर कैलिपर की आवश्यकता होती है और एक हाथ ड्रिल एक कठिन काम है। इसलिए मुझे अपना दिमाग बदलना पड़ा और चलते-फिरते प्रयोग करना पड़ा:
कुछ मिल के नमूने:इतने सारे के साथ भी, अगर इस तरह के एक अपूर्ण डिजाइन के साथ, मैं कुछ काम करने में कामयाब रहा और जिसके परिणामस्वरूप मैं प्रभावित हुआ।कंप्यूटर पर नियंत्रण रखें
सीएनसी मशीनों के लिए नियंत्रण सॉफ्टवेयर को वास्तविक समय पर सिस्टम पर काम करना चाहिए ताकि वे ठीक से सिंक्रनाइज़ सिग्नल उत्पन्न कर सकें। इसलिए, विंडोज इसके लिए अच्छी तरह से अनुकूल नहीं है। बेशक, सही संचालन के लिए, ड्राइवरों को लिखा जाता है जो इस समस्या को हल करते हैं, लेकिन आमतौर पर इसके लिए अधिक संसाधनों की आवश्यकता होती है, और ऐसी प्रणाली की स्थिरता वास्तविक समय प्रणालियों की तुलना में कम है।LinuxCNC के नियंत्रण में प्रसंस्करण किया गया था। स्थापना और कॉन्फ़िगरेशन में बहुत कठिनाई नहीं होनी चाहिए। कार्यक्रम की वेबसाइट में पहले से ही तैयार किए गए बिल्ड और पेटू स्रोत हैं। कई स्थापना विधियां हैं: पहले से स्थापित सिस्टम पर या एक कॉन्फ़िगर ओएस के साथ खरोंच से। मैंने दूसरा विकल्प चुना, क्योंकि मैं लिनक्स के साथ इतना अनुभवी नहीं था, और पैचिंग प्रक्रिया से निपटने के लिए पर्याप्त समय नहीं था। दूसरा विकल्प आरटीसी कर्नेल और लिनक्ससीएनसी के साथ पहले से स्थापित एक नियमित डेबियन वितरण है।स्थापना के बाद, मशीनों के अक्ष को समायोजित करना आवश्यक है: सिग्नल मैपिंग, गति, त्वरण, और इसी तरह। परिणाम शुरू करने के लिए एक आउटपुट फ़ाइल है, जो लॉन्च होने पर, मशीन नियंत्रण कार्यक्रम को स्वयं निर्दिष्ट मापदंडों के साथ दिखाएगा।निष्कर्ष
किए गए कार्य के परिणामस्वरूप, कई छापें बची हैं, साथ ही परिणामस्वरूप मशीन को बेहतर बनाने के लिए प्रश्न और कार्य भी हैं।- 12 वी से मोटर्स के वोल्टेज को बढ़ाने के लिए उनके काम करने के लिए 24 वी
- डिजाइन को मजबूत करें, और आदर्श रूप से प्रारंभिक पूर्ण डिजाइन के साथ एक नई मशीन डिजाइन तैयार करें
- सीमा स्विच और आपातकालीन स्टॉप बटन जोड़ें
- मोटर नियंत्रकों के संचालन का अनुकूलन करने के लिए
- ऑप्टो-आइसोलेशन बोर्ड को छोड़कर, एक बोर्ड पर मशीन के इलेक्ट्रॉनिक्स को फिर से इकट्ठा करें
- मशीन स्पिंडल को उस स्थान से बदलें जो उद्देश्य से मेल खाता है। यह वर्तमान चीनी इंजन की तुलना में एक अत्यधिक खुलासा और अधिक शक्तिशाली इंजन है।
- इंजन को Z अक्ष पर बदलें, क्योंकि वर्तमान इंजन कम शक्तिशाली है और सबसे अधिक लोड है
परिणामी मशीन में X और Y कुल्हाड़ियों के साथ 270 मिमी से अधिक का कार्य क्षेत्र है, और Z के साथ लगभग 150 मिमी। X और Y कुल्हाड़ियों के साथ आंदोलन की गति 500 मिमी / से अधिक है, और जेड 300 मिमी / एस के साथ है। यह 12 वी ऑपरेटिंग वोल्टेज पर है। यह उनके प्रदर्शन का आधा हिस्सा है। विकसित होने के लिए जगह है।निश्चितता के साथ क्या कहा जा सकता है - यह इसके लायक था। कम से कम एक कार्य मशीन अब अच्छी तरह से करेगी: बोर्ड काटना। आप नक़्क़ाशी और LUT के बारे में भूल सकते हैं। कटिंग बोर्ड में, बेशक, इसकी कमियां हैं, लेकिन एकमात्र विकल्प की तुलना में विकल्प रखना बेहतर है। वीडियो में, यह देखा गया कि कैसे 3 मिमी मिल कटर ने M को अक्षर से पिघलाया, शायद कम फ़ीड दर और 0.1 मिमी परतों के साथ, लेकिन यह भी परिणाम है।कुछ स्रोत या पीसीबी बोर्ड को फैलाने से अब तक बहुत अधिक बिंदु नहीं दिखते हैं। मशीन किसी भी गंभीर भार या काफी स्थिर और अद्वितीय के लिए उपयुक्त नहीं थी। हालांकि, यह कुछ भी करने का आखिरी प्रयास नहीं है और विकास की अगली यात्रा तैयार की जा रही है, मुझे उम्मीद है, बेहतर होगा।