एआरएम आधारित इलेक्ट्रॉनिक्स का उपयोग करने का क्या लाभ है?


22

अधिकांश इलेक्ट्रॉनिक्स एक AVR की तरह माइक्रो-नियंत्रक का उपयोग करते हैं, लेकिन मैं नए इलेक्ट्रॉनिक्स में एआरएम चिप्स देख रहा हूं। एआरएम चिप्स को अधिक शक्तिशाली कहा जाता है, लेकिन 3 डी प्रिंटिंग से संबंधित किन क्षेत्रों में यह मदद कर सकता है? एवीआर के साथ संघर्ष करने और एआरएम बेहतर हो सकते हैं, ऐसी कौन सी विशेषताएं हैं?

हाई स्पीड मूवमेंट? डेल्टा प्रिंटर? ग्राफिक प्रदर्शन?

और AVR वास्तव में वहाँ सीमा है?

जवाबों:


23

3D प्रिंटर कंट्रोलर को बहुत सारा सामान बहुत तेजी से करना होता है। किनेमेटिक्स और गतिकी की गणना करते हुए प्रति सेकंड कई हज़ारों सटीक-सिंक्रनाइज़ किए गए चरण दालों को भेजना वास्तव में, वास्तव में कठिन है । पुराने 3D प्रिंटर नियंत्रकों में उपयोग किए जाने वाले माइक्रोकंट्रोलर्स की 8bit AVR लाइन मूल रूप से 1990 के दशक के मिस्टर कॉफ़ी प्रोसेसर के रूप में है। वे पूरी तरह से प्रोसेसर समय पर पूरी तरह से अधिकतम हो गए हैं, केवल साधारण (जैसे कार्टेशियन) प्रिंटर में बुनियादी मुद्रण कार्यों को निष्पादित कर रहे हैं, और अतिरिक्त गणना भार जोड़कर उन्हें धीमा कर देगा और मंदी, हकलाना, रोकना, और इसी तरह का कारण होगा।

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

  1. कई gcode खंडों में घटता के लिए केन्द्रक त्वरण गणना करना
  2. 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 डी प्रिंटर नियंत्रक के रूप में योग्य होगा।


यदि रियलटाइम गणित और संगणना एक मुद्दा है, तो पूरी तरह से प्रोग्रामेबल लॉजिक जैसे कि FPGA में स्टीपर कंट्रोल और इसी तरह ड्राइव करने के लिए कई प्रयास क्यों नहीं किए जा रहे हैं?
मोनिका को बहाल करना - 10--

FPGAs महंगे नहीं हैं?
लियो एरविन

अतिरिक्त लागत और जटिलता। जब आप एक तेज़ चिप का उपयोग कर सकते हैं तो दो चिप्स का समन्वय क्यों करें? वास्तव में वहाँ FPGA आधारित परियोजनाओं की एक संख्या है, लेकिन उनमें से कोई भी उपयोगकर्ता के लिए महत्वपूर्ण जन मारा नहीं है।
रयान कार्लाइल

1
@RyanCarlyle दो चिप्स को समन्वित करने की आवश्यकता की धारणा सही नहीं है। एक FPGA सीरियल को पार्सिंग, प्लानिंग, और एक पैकेज में (सॉफ्ट-कोर MCU के साथ) संभव हो सकता है। लागत हालांकि एक कारक है।
मोनिका को बहाल करना - Feb--


11

आम तौर पर, एवीआर वास्तव में आज इस्तेमाल किए गए कई एआरएम कोर की तुलना में कम शक्तिशाली है। AVRs वाले अधिकांश प्रिंटर में फ़्लोटिंग-पॉइंट कॉपरप्रोसेसर्स नहीं होते हैं, हालांकि बहुत सारे स्टेप और मूवमेंट कंट्रोल केवल पूर्णांक गणित (G2 / G3 को छोड़कर) में किए जा सकते हैं। मार्लिन एवीआर पर प्रति सेकंड 10000 बार तक कदम को संभालने के लिए बाधित कर सकते हैं , प्रति सेकंड 40000 चरणों में अनुवाद कर सकते हैं। यह यांत्रिक घटकों के बिना विशेष रूप से उपयोगी नहीं है जो उन गति से आगे बढ़ सकते हैं और अभी भी सार्थक परिणाम प्रिंट कर सकते हैं (या कहीं अधिक सटीक हैं और एक समान गति पर एक उच्चतर चरण-प्रति-मिमी है)।

ग्राफिक डिस्प्ले कम गति पर विशेष रूप से कर लगाने वाली चीज़ नहीं है - उच्च गति या अजीब इंटरफेस के लिए थोड़ी अधिक शक्ति या समर्पित व्यवधान की आवश्यकता हो सकती है।

जब एआरएम महत्वपूर्ण हो सकता है तो अधिक गणित-भारी और विशेष रूप से फ्लोटिंग-पॉइंट-हैवी सेटअप जैसे डेल्टा, जहां हर कदम के लिए कई फ्लोटिंग-पॉइंट और ट्रिग ऑपरेशंस की आवश्यकता होती है, और मेनू में नेविगेशन 16MHz AVR (atmega2560) पर वर्णित है। "दर्दनाक रूप से धीमा" के रूप में, लेकिन मार्लिन डेल्टा-शैली के प्रिंटर पर सार्थक परिणाम मुद्रित करने में सफल होते हैं।

स्पष्ट रूप से, एक एआरएम कोर जो या तो नरम फ़्लोटिंग-पॉइंट प्रदर्शन करने में तेज़ होता है, या हार्डफ्लोट (हार्डवेयर जो फ़्लोटिंग पॉइंट ऑपरेशन बहुत कुशलता से करता है) का समर्थन करता है, ऐसी प्रक्रियाओं के लिए एक लाभ दिखाई देगा।


3

आम तौर पर, एवीआर जैसे माइक्रोकंट्रोलर सिंगल कोर / सिंगल थ्रेडेड होते हैं - इसलिए मोटर नियंत्रक को चलाने के लिए थोड़ी देर में काम करते समय, आपके पास कुछ और करने के लिए संसाधनों की कमी हो सकती है, जैसे कि मेनू को कुशलतापूर्वक नेविगेट करना।

कई एआरएम प्रोसेसर अब एक दिन मल्टी कोर / मल्टी थ्रेडेड हैं, जिसका अर्थ है कि आपके पास एक प्रिंट का काम कर सकता है, जबकि दूसरा जो कुछ भी उपयोगकर्ता करना चाहता है, उसके लिए स्वतंत्र है।

यानी प्रिंटर पर रिमोट एक्सेस की अनुमति देने के लिए स्थानीय वेबसर्वर चलाने वाला कोई भी एवीआर प्रोसेसर दर्द रहित रूप से बुनियादी होगा, जहां एआरएम आमतौर पर अधिक लचीलेपन की अनुमति देगा।


ध्यान दें कि यदि कोई फर्मवेयर अच्छे मल्टीथ्रेडेड कोड का उपयोग नहीं करता है, तो इंटर-थ्रेड और इंटर-प्रोसेस संचार से ओवरहेड अत्यधिक उच्च हो सकता है।
मोनिका को बहाल करना - 10--

मल्टी-कोर उच्च प्रदर्शन अनुप्रयोगों के प्रोसेसर को वास्तविक समय अनुकूलित एम-क्लास प्रोसेसर के साथ भ्रमित न करें। हां, प्रभावशाली प्रदर्शन के साथ दोहरे कोर कोर्टेक्स-एम हैं, लेकिन वे बहु-थ्रेडेड नहीं हैं।
सीन होलीहेन

2

AVR प्रोसेसर में मानक मुद्रण के लिए पर्याप्त प्रदर्शन है। लेकिन इसमें प्रदर्शन की कमी है

  • डेल्टा प्रिंटर ( हेक्सफ़ेक्शन उत्तर देखें )
  • प्रदर्शन मेनू (यह मेरे रेप्रैप प्रिंटर पर बहुत धीमा है जो ATmega2560 का उपयोग करता है)
  • वेब इंटरफ़ेस (ईथरनेट)

तकनीकी चश्मे की तुलना स्वयं की व्याख्या होनी चाहिए। यह विशेष एआरएम सीपीयू ATmega2560 के विपरीत कम से कम 10x तेज है:

सीपीयू एआरएम कॉर्टेक्स-एम 3 LPC1769 (में इस्तेमाल Smoothieboard )

  • सीपीयू: कॉर्टेक्स-एम 3 , 1 कोर
  • वास्तुकला: ARMv7-M (32-बिट)
  • आवृत्ति: 96-120 मेगाहर्ट्ज
  • स्मृति
    • फ्लैश: 512 केबी
    • RAM: 64 kB

माइक्रोकंट्रोलर ATmega2560

  • वास्तुकला: 8-बिट
  • आवृत्ति: 16 मेगाहर्ट्ज
  • स्मृति
    • फ्लैश मेमोरी 256 KB जिसमें से 8 KB बूटलोडर द्वारा उपयोग किया जाता है
    • SRAM: 8 केबी
    • EEPROM: 4 केबी

1

AVR प्रोसेसर 8 बिट हैं - इस प्रकार वे केवल एक बार में 8 बिट्स मेमोरी से डेटा प्राप्त कर सकते हैं - जबकि एआरएम 32 बिट है और एक बार में 32 बिट्स डेटा प्राप्त कर सकता है। स्थिति रिज़ॉल्यूशन के लिए न्यूनतम 24 बिट मान की आवश्यकता होती है - इसका अर्थ है कि AVR स्थिति के लिए 3 डेटा फ़िंच लेता है - जबकि ARM 1 डेटा प्राप्त करता है।

अभी भी, AVR प्रोसेसर आंतरिक रूप से घड़ी को 3 से विभाजित करते हैं, जिससे कि 40 मेगाहर्ट्ज AVR 13.3 मेगाहर्ट्ज पर चल रहा है, जबकि एआरएम प्रति बस लेनदेन और निर्देश प्रसंस्करण में 1 घड़ी चक्र है - इसमें 32 बिट 1 में 32 बिट मल्टीपल शामिल है घड़ी का चक्र।

एआरएम प्रोसेसर पर मेमोरी मैप 32 बिट वाइड या 4 जीबी है जबकि 8 बिट प्रोसेसर में केवल 16 बिट या 64 केबी की एक पता बस है - जिसका अर्थ है कि बैंक स्विचिंग 64 केबी से अधिक किसी भी कार्यक्रम में आता है - यह निर्देश और समय लेता है किया जा सकता है - जबकि एआरएम के साथ यह कोई मुद्दा नहीं है।

लागत के पहलू AVRs के समान ही हैं - इसके लिए बस पुन: डिज़ाइन किए गए फ़र्मवेयर की आवश्यकता होती है।

FPGAs के लिए के रूप में:

  • वे प्रोसेसर की तुलना में समान या अधिक खर्च करते हैं
  • वे तेज़, विशिष्ट, उपकरण हैं और विशेष कार्य के लिए कॉन्फ़िगर किए जा सकते हैं
  • उनके पास अतिरिक्त लागत कारक हैं:
    • FPGA में सर्किट की गति के कारण बहुत अधिक डिकूपिंग कैप की आवश्यकता होती है।
    • अतिरिक्त बिजली की आपूर्ति, और ग्राउंड प्लेन और पावर प्लान की आवश्यकता होती है - जो कम से कम 4 लेयर बोर्ड, या संभवतः 6 लेयर्स, जो इलेक्ट्रॉनिक्स की लागत को जोड़ता है, का मतलब (और आवश्यकता) है।

एवीआर में एफपीजीए जोड़ने के परिणाम से अधिक शक्तिशाली एआरएम प्रोसेसर पर जाने की तुलना में बहुत अधिक खर्च होंगे।


1
नमस्ते और SE.3DPrinting में आपका स्वागत है! आपका उत्तर सही कैपिटलाइज़ेशन, लेआउट सुधार और मेमोरी साइज़ के सही उपयोग से बहुत लाभान्वित हो सकता है। कृपया जवाब अपडेट करें।
0scar

हाय जेम्स और आपके बहुत दिलचस्प और जानकारीपूर्ण उत्तर के लिए बहुत धन्यवाद। हालाँकि, मैं 0scar से सहमत हूँ ... सही कैपिटलाइज़ेशन, सही SI इकाइयों (यानी MHz, GB, KB, आदि) के लगातार उपयोग से आपके उत्तर की पठनीयता में काफी सुधार होगा, क्योंकि कई डैश के उपयोग में कमी आएगी ( - -और - - - -) जो विचलित कर रहे हैं, tbh।
Greenonline
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.