3D प्रिंटर कंट्रोलर को बहुत सारा सामान बहुत तेजी से करना होता है। किनेमेटिक्स और गतिकी की गणना करते हुए प्रति सेकंड कई हज़ारों सटीक-सिंक्रनाइज़ किए गए चरण दालों को भेजना वास्तव में, वास्तव में कठिन है । पुराने 3D प्रिंटर नियंत्रकों में उपयोग किए जाने वाले माइक्रोकंट्रोलर्स की 8bit AVR लाइन मूल रूप से 1990 के दशक के मिस्टर कॉफ़ी प्रोसेसर के रूप में है। वे पूरी तरह से प्रोसेसर समय पर पूरी तरह से अधिकतम हो गए हैं, केवल साधारण (जैसे कार्टेशियन) प्रिंटर में बुनियादी मुद्रण कार्यों को निष्पादित कर रहे हैं, और अतिरिक्त गणना भार जोड़कर उन्हें धीमा कर देगा और मंदी, हकलाना, रोकना, और इसी तरह का कारण होगा।
"लेकिन मेरा 8 बिट प्रिंटर ठीक काम करता है," आप कहते हैं। नहीं, यह नहीं है। आपका प्रिंट प्रदर्शन इसके द्वारा सीमित है, चाहे आप इसे महसूस करें या नहीं। स्लाइसर्स अब स्वचालित रूप से फर्मवेयर के प्रदर्शन की कमियों को आपसे छिपाते हैं। उदाहरण के लिए, परिधि पर प्रिंट गति को बहुत कम करने का मानक अभ्यास काफी हद तक 8bit प्रोसेसर का परिणाम है, जिसमें दो चीजों के लिए अपर्याप्त संसाधन हैं:
- कई gcode खंडों में घटता के लिए केन्द्रक त्वरण गणना करना
- Gcode ट्रांसमिशन / प्रोसेसिंग और मोशन प्लानिंग को बहुत छोटे खंडों के साथ रखना, जैसे कि जैविक मॉडल या चिकनी आर्क्स में
जब एक चिकनी चाप या जटिल वक्र में बहुत छोटे खंडों की एक श्रृंखला के साथ प्रस्तुत किया जाता है, तो 8bit फर्मवेयर संभवतः आवश्यक कमांड प्रोसेसिंग दर पर चोक होगा और प्रिंट के लिए हकलाना शुरू करेगा। ये अविश्वसनीय रूप से संक्षिप्त ठहराव बाहर निकालना में अवशिष्ट दबाव को कुछ अतिरिक्त प्लास्टिक को बाहर करने की अनुमति देते हैं, जिससे प्रिंट पर थोड़ा सा दबाव पड़ता है। इसलिए अधिकांश स्लाइसर स्वचालित रूप से घटता और घटता रिज़ॉल्यूशन के साथ घटता है फर्मवेयर पर लोड को हल्का करने के लिए। समस्या हल हुई, है ना?
लेकिन एक और मुद्दा है - जीआरबीएल गति नियंत्रण एल्गोरिदम अंतर्निहित सभी प्रमुख खुले स्रोत 3 डी प्रिंटर नियंत्रक को बहुत सारे शॉर्टकट और हैक के साथ डिज़ाइन किया गया था जिससे 8 बिट प्रोसेसर को पर्याप्त तेज़ी से निष्पादित करने की अनुमति मिल सके। उदाहरण के लिए, बुनियादी एल्गोरिथ्म केवल गति या वेग को दो खंडों के बीच के कोने में देखता है, और गति के निर्देशन के साथ-साथ गति को तेज करने के लिए तय करने के लिए इसका उपयोग करता है। यह जो भी हो, सेंट्रिपेटल / रेडियल त्वरण की गणना या विचार नहीं करता है। बॉक्सी, कम-रेज मॉडल को प्रिंट करते समय यह वास्तव में प्रभावी हैक है, लेकिन यह बहुत कम खंडों के साथ चिकनी घटता पर बुरी तरह विफल रहता है। फ़र्मवेयर वक्र के भीतर किसी भी दो लगभग-रेखीय सेगमेंट के कोने पर किसी भी प्रशंसनीय वेग परिवर्तन का पता नहीं लगाता है, और इस प्रकार वक्र के लिए धीमा नहीं होता है।
गैरकानूनी रूप से जटिल परिधि मुद्रण का मतलब है कि अच्छी गुणवत्ता प्राप्त करने के लिए कमांड की गई फीड्रेट बहुत कम होनी चाहिए। अधिकांश प्रिंटर लगभग 40 मिमी / सेकेंड या सीमित परिधि पर कम होते हैं, अन्य गति सीमाओं को मारने से पहले कम-जटिलता infill पर शायद 80-120mm / s चलाने में सक्षम होने के बावजूद।
कम पावर प्रोसेसर द्वारा आवश्यक कमांड प्रोसेसिंग रेट लिमिट और मोशन प्लानर की कमियों के बीच, प्रिंट गति को व्यवहार में बहुत कम होना चाहिए, भौतिकी और प्रिंटर हार्डवेयर द्वारा कड़ाई से आवश्यक है। यह सब 8bit प्रोसेसर से आता है। इस समस्या से निपटने के लिए वर्कअराउंड और सर्वोत्तम प्रथाओं को टूलचिन और पारिस्थितिकी तंत्र में इतनी गहराई से पकाया जाता है कि बहुत कम लोगों को एहसास होता है कि यहां तक कि एक समस्या भी है। लेकिन यह एक वास्तविक सीमा है जिसे दूर किया जा सकता है: एक उच्च गति प्रोसेसर जो एक अधिक कठोर गति योजनाकार चलाता है बेहतर प्रिंट गुणवत्ता के साथ उच्च औसत प्रिंट गति उत्पन्न कर सकता है ।
उस ने कहा, एआरएम-आधारित फर्मवर केवल धीरे-धीरे अधिक उन्नत गति योजनाकारों की ओर बढ़ रहे हैं। यह अभी एक बड़ा विकास क्षेत्र है जो वास्तव में कम अंत वाले एआरएम से दूर एक आगामी शिफ्ट को ड्राइव कर रहा है जैसे कॉर्टेक्स एम 3 जैसे तेज प्रोसेसर। यह वास्तव में नहीं है कि फर्मवेयर सुविधाओं के एक समूह पर जमा होने के कारण 84 मेगाहर्ट्ज Arduino को अधिकतम करने के लिए कठिन है।
8bit प्रोसेसर का उपयोग प्रिंटर को LOUDER भी बनाता है। एक ठेठ 8bit प्रिंटर में प्रोसेसर समय का सबसे बड़ा उपभोक्ता स्टेपर इंटरप्ट है जो मोटरों को स्थानांतरित करने के लिए कदम दालों को आग लगाता है। यह एक एटमेगा AVR पर सभी घड़ी चक्र के 60% के लिए काफी विशिष्ट है। क्योंकि यह एक अवरोध के रूप में होता है, अन्य प्रसंस्करण कार्य जो प्रिंटर को करना चाहिए - जैसे त्वरण गणना और हीटर नियंत्रण - स्टेपर बीच की घटनाओं के बीच संक्षिप्त स्थानों में निचोड़ा जाता है।
सावधान फर्मवेयर डिजाइन के बिना, कदम दालों पूरी तरह से "बाहर भीड़" एलसीडी डिस्प्ले अपडेट और त्वरण गणना जैसी अन्य कार्यक्षमता होगी। सभी प्रोसेसर संसाधनों का उपयोग किए बिना उच्च गति दर की अनुमति देने के लिए, 8bit फ़र्मवारों के पास "स्टेप दोहरीकरण" नामक एक मोड है जो स्टेपर प्रति दो या दो (या चार, या आठ) स्टेप दालों को आग लगाता है ताकि आधा (या एक चौथाई, या एक आठवां) ) के रूप में कई stepper interrupts एक ही गति गति का उत्पादन करने के लिए इस्तेमाल किया जा सकता है। यह प्रोसेसर को डी-अड़चन देता है, लेकिन यह रफ और लाउडर मोटर गति का कारण बनता है क्योंकि स्टेप दालों को एक निरंतर आवृत्ति के बजाय फटने में निकाल दिया जाता है। वास्तव में, मोटर का माइक्रोस्टेपिंग स्तर कार्यात्मक रूप से एक मोटे मोड में गिरा दिया जाता है, जब स्टेपर इंटरप्ट डबल या क्वाड स्टेप्स को फायर करता है। इसलिए मोटरों को जोर से, कम सटीक,
एक दिलचस्प दुष्प्रभाव यह है कि यदि आप 1/16 माइक्रोस्टेपिंग के 1/16 माइक्रोस्टेपिंग से एक मार्लिन-आधारित प्रिंटर को स्विच करते हैं, और एक ही प्रिंट गति रखते हैं, तो फर्मवेयर बस कदम-दोगुना करना शुरू कर देगा, अपने प्रभावी माइक्रोस्टैपिंग स्तर को तुरंत नीचे छोड़ देगा 1/16।
एआरएम-आधारित फ़र्मवार भी कदम दोहरीकरण का उपयोग करते हैं, लेकिन स्वीकार्य चरण दर आमतौर पर डबल / क्वाड स्टेपिंग का उपयोग करने से पहले ~ 8 गुना अधिक होती है। इसका मतलब उच्च गति और / या चिकनी गति हो सकती है।
8bit एवीआर के साथ एक और मुद्दा हार्डवेयर फ्लोटिंग पॉइंट की कमी है और उच्च-सटीक गणना या बहुत बड़ी संख्या से निपटने पर कई घड़ी चक्र खर्च करने की आवश्यकता है। डेल्टा कीनेमेटीक्स, ऑटो-लेवलिंग फ़ंक्शंस, बड़े प्रिंटर के लिए बेहद उच्च चरण की गणना के साथ चाल की गणना, और अन्य उन्नत कार्यक्षमता सभी 8bit प्रोसेसर पर बहुत सारे घड़ी चक्र लेते हैं । खराब फर्मवेयर डिजाइन या लापरवाही से एक ऐसी सुविधा को जोड़ना जो कुछ अतिरिक्त वर्ग जड़ों की आवश्यकता होती है और ट्रिगर फ़ंक्शन पूरी तरह से प्रोसेसर को नीचे कर सकते हैं। इस तरह की सुविधा रेंगना और कोड ब्लोट ने समय के साथ मार्लिन के प्रदर्शन को गंभीरता से प्रभावित किया है क्योंकि लोग पुराने एवीआर के अधिक से अधिक पूछते हैं।
इसकी तुलना में, एक 32 बिट प्रोसेसर में सिर्फ तेज घड़ी और अधिक घड़ी चक्र नहीं होते हैं, यह कम घड़ी चक्रों में अधिक जटिल गणित करने में भी सक्षम है, क्योंकि इसमें समर्पित हार्डवेयर कार्यक्षमता है जो कई चरणों का ध्यान रखती है 8bit प्रोसेसर सॉफ्टवेयर में करना चाहिए।
8bit प्रोसेसर काम करते हैं? निश्चित रूप से, वे जो भी हैं और जो हम उनसे पूछते हैं, उसके लिए वे आश्चर्यजनक रूप से अच्छी तरह से काम करते हैं। लेकिन वे निर्विवाद रूप से आधुनिक 3 डी प्रिंटर के प्रदर्शन और सुविधाओं को सीमित करते हैं। आज भी 32 बिट प्रोसेसर की वर्तमान पीढ़ी को पहले से ही उच्च गति प्रिंटर और गणित-भारी सुविधाओं द्वारा अधिकतम किया जा रहा है। 8bit प्रोसेसर पहले से ही दो पीढ़ियों के पीछे है जो "आधुनिक" 3 डी प्रिंटर नियंत्रक के रूप में योग्य होगा।