ATMega328P प्रोग्राम करें और इसे Arduino बोर्ड के बिना उपयोग करें


13

मैं अपने प्रोजेक्ट के लिए ATMega328P का उपयोग करना चाहता हूं, मुझे आशा है कि यह Arduino बोर्ड के बिना कर सकता है।

मैं Arduino IDE और एक Arduino बोर्ड के साथ जानता हूं मैं माइक्रोकंट्रोलर को प्रोग्राम कर सकता हूं। हालाँकि, यह संभव हो सकता है एक बार मैंने प्रोग्राम किया और Arduino IDE + Arduino बोर्ड के साथ प्रोग्राम को डिबग किया, Arduino बोर्ड से माइक्रोकंट्रोलर को हटाने और ATMega328P को अलग से उपयोग करने के लिए, बिना बोर्ड के?

यदि हाँ, तो ब्रेडबोर्ड पर सही ढंग से काम करने के लिए मुझे ATMega328P को क्या अतिरिक्त विन्यास करना चाहिए?


Arduino UNO बूटलोडर के साथ ATMEGA328 P-PU का उपयोग करें .... आप इसे हॉबी स्टोर्स और ऑनलाइन और सामान में पा सकते हैं stuff
आर्थर

नंगे चिप का उपयोग करना बिल्कुल संभव है और जो भी समस्या हो।
dannyf

यह आपके समान प्रश्न नहीं है, लेकिन आपको इसके बारे में कुछ जानकारी मिल सकती है। arduino.stackexchange.com/questions/32970/…
कोड गोरिल्ला

जवाबों:


7

आप किसी Arduino से ATMEGA को निकाल सकते हैं और इसे अपने स्वयं के बोर्ड में उपयोग कर सकते हैं, हालांकि जब एक विशिष्ट Arduino बोर्ड पर उपयोग किया जाता है तो चिप घड़ी के स्रोत के बजाय बाहरी क्रिस्टल के लिए फ्यूज हो जाएगी (सरल लेकिन कम सटीक) आंतरिक घड़ी के बजाय।

आप ISP पर घड़ी स्रोत को तब तक नहीं बदल सकते हैं जब तक कि घड़ी स्रोत चिप की अपेक्षा नहीं कर रहा है जो वर्तमान में चालू है, इसलिए यदि आप घड़ी का चयन बदलना चाहते हैं तो आप Arduino से चिप को हटाने से पहले करना चाहेंगे।

हालाँकि, आप एक घड़ी क्रिस्टल और उसके दो कैपेसिटर (या एक स्थानापन्न प्रतिध्वनि जो अक्सर इसे बनाया है) को अपने बाहरी बोर्ड पर प्रदान कर सकते हैं।

आमतौर पर चिप्स (यहां तक ​​कि एक सुविधा के रूप में एक बूटलोडर के साथ पहले से फ्लैश किए गए) बोर्डों की तुलना में सस्ता होते हैं, इसलिए यह स्पष्ट नहीं है कि आप अरुडिनो के समान चिप को दूसरे के उपयोग के विपरीत क्यों स्थानांतरित करना चाहते हैं। आप वैसे भी USB- तार्किक स्तर के सीरियल अडैप्टर चाहते हैं, और एक बार आपके पास यह होगा कि आप अपने बोर्ड पर नंगे चिप पर विकास कर सकते हैं, भले ही आप Arduino पर प्रारंभिक परीक्षण करें। एक चुटकी में अगर आपके पास USB कनवर्टर नहीं है, तो आप Arduino बोर्ड से चिप को खींच सकते हैं और इसके D1 और D0 से तारों को चला सकते हैं, या बिना उन सीरियल लाइनों को उधार लेने की अनुमति देने के लिए ऑन-बोर्ड चिप को रीसेट कर सकते हैं दखल अंदाजी।


1
मेरा विचार बोर्ड के बिना केवल एक माइक्रोकंट्रोलर का उपयोग करना है। जैसा कि एक Arduino प्रोग्राम करना आसान है, मैंने सोचा कि मैंने एक ATMega चुना है। तो, मेरे पास एक Arduino uno है, मेरा विचार केवल एक ATMega खरीदना है और इसे प्रोग्राम करना और uno बोर्ड का उपयोग करके इसे डीबग करना है। हालांकि, मैंने अभी आश्वस्त किया है कि अगर मैं एटीएमूगा को अरुडिनो से अलग करता हूं, तो मुझे घटकों को जोड़ना होगा (क्रिस्टल, resitances ऊपर खींचना ..)। क्या आप बता सकते हैं कि आपके पोस्ट के अंतिम पैराग्राफ में आपका क्या मतलब है? Arduino IDE का उपयोग किए बिना सीधे एक ATMega (या किसी अन्य माइक्रोकंट्रोलर) को प्रोग्राम करने का एक सरल तरीका है? धन्यवाद।
जॉर्ज

जब आप आईडीई को छोड़ सकते हैं, तो इसका उपयोग करना या आपके सर्किट की जटिलता के लिए अनिवार्य रूप से अप्रासंगिक है, क्योंकि आप या तो आईडीई का उपयोग कर सकते हैं या सर्किट के साथ नहीं है, जिसमें या तो बाहरी घड़ी नहीं है और या तो USB- का उपयोग कर रहा है एक केबल पर, या एक आईएसपी प्रोग्रामर के साथ अपने स्केच की प्रोग्रामिंग करके अपने लक्ष्य बोर्ड पर धारावाहिक। बोर्ड से चिप हटाने से आपको बस बूटलोडर के साथ या बिना एक चिप खरीदने और खुद को लोड करने की तुलना में कुछ भी नहीं मिलता है, संभवतः अपने अक्षुण्ण Arduino को ISP प्रोग्रामर के रूप में उपयोग कर रहा है, या किसी बूटलोडर के बिना सीधे अपने स्केच को लोड करने के लिए ISP का उपयोग कर रहा है।
क्रिस स्ट्रैटन

7

हाँ आप ATMega328Pबिना arduino बोर्ड का उपयोग कर सकते हैं । मैं हमेशा बिना arduino के IC का उपयोग करता हूं। इसे करने के दो तरीके हैं।

  1. आप IC के साथ arduino बोर्ड का उपयोग कर सकते हैं। IC को प्रोग्राम करें और फिर इसे बाहर निकालें और इसे अपने सर्किट में उपयोग करें। आपको 16MHZ Oscillatorकैपेसिटर का उपयोग करना होगा ।
  2. यदि आपके पास arduino बोर्ड नहीं है, तो आप अन्य प्रोग्रामर का उपयोग कर सकते हैं जैसे कि USBaspआपका प्रोग्राम Atmega328p। इस स्थिति में, फ़ाइल मेनू से प्रोग्रामर विकल्पों का उपयोग करके अपलोड के बजाय सीधे अपलोड बटन का उपयोग न करें। के रूप में Arduino Pro or Pro Mini (5v, 16mhz) With ATmega328और प्रोग्रामर के रूप में बोर्ड का चयन करने के लिए मत भूलना USBasp

नोट : Atmega328p पिन मैपिंग का संदर्भ लें और तदनुसार अपने डिवाइस को प्रोग्राम करें। का आनंद लें!


2

के लिए खोज "एक Arduino बनाएँ" के कैसे-करें लेख टन सिर्फ इतना है कि करने के बारे में आप मिल जाएगा -। आपको एक मुद्रित-सर्किट बोर्ड (और यहां तक ​​कि अगर आप सोल्डरलेस ब्रेडबोर्ड का उपयोग करना चाहते थे, तो भी) कनेक्शन को सक्षम करने की आवश्यकता होगी, लेकिन यह वास्तव में सीधा है। आप इसे पहले भी बना सकते हैं और एक FTDI केबल का उपयोग करके पीसीबी पर MCU प्रोग्राम कर सकते हैं। मैं अपरिचित भागों के साथ प्रयोग करने के लिए एक Arduino बोर्ड और एक सोल्डरलेस ब्रेडबोर्ड का उपयोग करता हूं, लेकिन मैं आमतौर पर एक हाथ से निर्मित बोर्ड पर तुरंत जाता हूं, जब मैं उन सभी घटकों से परिचित होता हूं जिनका मैं उपयोग कर रहा हूं।

Arduino बोर्ड के साथ प्रोटोटाइप आपको कुछ हिस्सों को एक साथ फेंकने और जल्दी से कुछ काम करने देता है, और अगर Arduino आपके अंतिम लक्ष्य - f / ex, एक मेगा 2650 से अधिक सक्षम है - तो आप अस्थायी रूप से मेमोरी और I / O बाधाओं को अनदेखा कर सकते हैं छोटे उपकरण का।


0

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

कैविट्स: द अरुडिनो को एक प्रोटोटाइप बोर्ड के रूप में डिज़ाइन किया गया है, और कुछ चीजें इस कार्य को करने से बेहतर है। आप Arduino बोर्ड पर चिप छोड़ना चाह सकते हैं जब तक कि आप अपने सर्किट को डिजाइन और परीक्षण नहीं करते हैं। तभी आप इसे सीधे कनेक्ट करते हैं। इसका उपयोग उस जगह पर किया जा सकता है, जब आपके पास क्लॉक सर्किट होता है, या आप फ़्यूज़ को बदल सकते हैं (बाद में देखें) और ISP एडेप्टर के साथ Arduino को रिप्रोग्राम कर सकते हैं और 8mhz (PlatformIO) की एक क्लॉक स्पीड आपको ऐसा करने की अनुमति देती है ( और अनुमति देती है) एक Arduino स्केच का आयात) - Atmel AVR प्लगइन के लिए उनके डॉक्स पृष्ठ की जाँच करें, लेकिन आप Arduino पर एक बोर्ड फ़ाइल को जोड़ने के लिए गाइड के एक नंबर को देख सकते हैं, यह बता सकते हैं कि यह नंगे चिप के लिए 8mhz विकल्प का उपयोग करने के लिए)

यदि आप किसी भिन्न सर्किट में उपयोग के लिए चिप को निकालते हैं, तो उसे या तो उस क्लॉक सर्किट को वापस जोड़ना होगा या उसके फ़्यूज़ को बदलना होगा (मैं एक मिनट में इसे प्राप्त करूँगा)। कई कारणों से प्रोग्राम करना कठिन होगा, इसलिए आप काफी सस्ते हार्डवेयर खरीदना चाहते हैं:

एक स्टैंडअलोन चिप प्रोग्रामिंग : Arduino के सीपीयू को मूल रूप से कंप्यूटर से बात करने के लिए डिज़ाइन नहीं किया गया है। आपको एक मध्यस्थ की आवश्यकता है। Uno पर, यह एक दूसरे Atmel चिप के माध्यम से किया जाता है जिसमें USB क्षमता होती है, और मुख्य चिप पर एक बूटलोडर होता है। जो करता है, वह यह है कि यह प्रोग्राम के अपलोड के लिए UART का उपयोग करता है जबकि USB चिप पीसी के संदेशों को UART के संकेतों में परिवर्तित करता है। चूंकि बूटलोडर कुछ हद तक दर्द होता है जब चिप अपने आप होती है (चूंकि UART पिकी है और इसे स्थापित करने के लिए चिप को बाहरी घड़ी का उपयोग करने के लिए सेट करता है), तो आप Arduino (या) के लिए एक ISP प्रोग्रामर खरीदना चाहेंगे Arduino-as-ISP स्केच और अपने स्वयं के बनाने के निर्देशों का पालन करें, जिसमें चिप के साथ एक Arduino की आवश्यकता होती है, इसलिए आपको प्रोग्राम किए जाने के लिए एक दूसरे की आवश्यकता होगी)।

ये ATMega 328 को सीधे SPI पर प्रोग्राम कर सकते हैं, बिना बूटलोडर के (इंटरनेट पर कई निर्देश हैं; उदाहरण के लिए "USBAsp के साथ नंगे ATMega 328P प्रोग्राम को खोजें")। यह चिप को बाहर करने और मूल Arduino बोर्ड में वापस पॉपिंग के बाहर आपके प्रोग्राम को बदलने और डिबग करने में बहुत आसान बनाता है। यदि आप बाहरी क्रिस्टल का उपयोग नहीं करना चाहते हैं, तो आपको घड़ी की सेटिंग्स को बदलने की भी आवश्यकता है।

यदि आप चिप को डीबग करना चाहते हैं , तो यह एफटीडीआई एडॉप्टर या अन्य यूएसबी-टू-यूएआर कनवर्टर भी खरीद सकता है। ध्यान दें कि बोर्ड के रीसेट सर्किट भाग के बिना (या फिर से, अपना खुद का जोड़ना), यह अभी भी आपको बूटलोडर के साथ ATMEga प्रोग्राम नहीं करने देगा, हालांकि। उसके लिए, एडेप्टर के लिए जमीन, RX और TX पिन कनेक्ट करें। आप VCC लाइन को कनेक्ट करना चाहते हैं या नहीं कर सकते हैं, लेकिन ऐसा न करने की सलाह दी जाती है अगर चिप से जुड़ी बहुत सी चीजें हैं और / या इसकी अपनी बिजली आपूर्ति है। ध्यान दें कि जब आप उन्हें कनेक्ट करते हैं तो RX और TX को स्वैप करने की आवश्यकता होती है; यही है, RX से TX और TX से RX - आप चिप को RX (प्राप्त) चाहते हैं कि एडेप्टर क्या है TX (संचारित) आईएनजी, और इसके विपरीत।

घड़ी सर्किट का निर्माण मुश्किल नहीं है, लेकिन इसके लिए कुछ घटकों की आवश्यकता होती है जो आपके पास नहीं हो सकते। इसलिए, घड़ी स्रोत को बदलने के लिए , http://www.engbedded.com/fusecalc/ पर जाएं और ATMega 328P चुनें। डिफॉल्ट अच्छे हैं, लेकिन आप EEPROM को ऑन-एरेस को सक्षम करने और क्लॉक डिवाइड-बाय -8 को अक्षम करने या ब्राउनआउट सेटिंग्स को समायोजित करने के लिए सक्षम कर सकते हैं। किसी और चीज़ को न छूएं (रीसेट या एसपीआई को अक्षम करने या डीबगवायर परिणाम को सक्षम करने में "मज़ेदार" जिसे ठीक करने के लिए एक एचवी प्रोग्रामर की आवश्यकता होती है)। जब किया जाता है, तो AVRDude कमांड को यह कमांड पेस्ट करें। आपको -c विकल्प बदलने की आवश्यकता होगी (-p पहले से ही ATMega 328P पर सेट है, लेकिन गैर-पी 328s के लिए विफल हो जाएगा - उन को न खरीदें), और शायद -प विकल्प (पोर्ट के लिए) जोड़ें। लोअरकेस -u विकल्प को छोड़ें नहीं, या यह फ़्यूज़ को अपडेट करने से इंकार कर देगा।

avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]

ध्यान दें कि यदि आप एक USBASP खरीदते हैं (यह सुनिश्चित करें कि इसमें जंपर्स के तीन सेट हैं!), सभी के लिए वे मेरे पसंदीदा प्रोग्रामर हैं, उनके पास अपडेटेड फर्मवेयर नहीं हो सकता है जो -B विकल्प का समर्थन करता है (जिसकी आपको शायद आवश्यकता होगी)। इसका मतलब है कि आपको इसे छह-पिन प्रोग्रामिंग पोर्ट के माध्यम से एक Arduino में संलग्न करने की आवश्यकता है, ठीक उसी तरह से जैसे कि आप इसे Arduino के बूटलोडर को प्रोग्राम करने के लिए उपयोग करेंगे, लेकिन फिर नए प्रोग्राम के लिए Arduino-as-ISP स्केच का उपयोग करें प्रोग्रामर के लिए फर्मवेयर (खोज "arduino-as-isp" के माध्यम से usbasp फर्मवेयर को अपडेट करें)! संदर्भ के लिए, आमतौर पर इसका मतलब है कि केबल बोर्ड के शरीर से दूर है, और आपको शायद पहले स्केच का कार्यक्रम करना होगाकेबल कनेक्ट कर रहा है। USBASP (5V) और "स्व-प्रोग्राम" एक पर पावर-प्रोग्रामर जम्पर को सक्षम करें। ( पावर और प्रोग्राम जंपर्स (JP2) के स्थान के लिए https://forum.arduino.cc/index.php?topic=560719.0 देखें )।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.