جدول المحتويات:

كيفية برمجة AVR (اردوينو) باستخدام Arduino آخر: 7 خطوات
كيفية برمجة AVR (اردوينو) باستخدام Arduino آخر: 7 خطوات

فيديو: كيفية برمجة AVR (اردوينو) باستخدام Arduino آخر: 7 خطوات

فيديو: كيفية برمجة AVR (اردوينو) باستخدام Arduino آخر: 7 خطوات
فيديو: برمجة المتحكمات باستخدام اردوينو كمبرمجة AVR باستخدام برنامج AVRDudess 2024, شهر نوفمبر
Anonim
كيفية برمجة AVR (اردوينو) مع Arduino آخر
كيفية برمجة AVR (اردوينو) مع Arduino آخر
كيفية برمجة AVR (اردوينو) مع Arduino آخر
كيفية برمجة AVR (اردوينو) مع Arduino آخر
كيفية برمجة AVR (اردوينو) مع Arduino آخر
كيفية برمجة AVR (اردوينو) مع Arduino آخر

هذه التعليمات مفيدة إذا:

* لقد حصلت على اردوينو الخاص بك مع atmega168 واشتريت atmega328 في متجر الإلكترونيات المحلي. لا يحتوي على محمل إقلاع اردوينو * تريد إنشاء مشروع لا يستخدم اردوينو - مجرد شريحة AVR عادية (مثل USBTinyISP) - لديك Attiny2313 / attiny48 وما إلى ذلك تريد نسخ البرامج الثابتة عليه. عادة يجب أن يكون لديك ISP (داخل مبرمج النظام) مثل USBTinyISP لبرمجة الشريحة الجديدة الخاصة بك. امتلاك اردوينو يمكنك تعليمه ليكون مبرمجًا بفضل العمل الرائع الذي قام به راندال بون. لقد ابتكر Mega-ISP - رسم اردوينو يعمل كمبرمج.

الخطوة 1: ماذا تحتاج؟

ماذا تحتاج ؟
ماذا تحتاج ؟

* Arduino عاملة (أو نسخة - أنا أستخدم BBB - BareBonesBoard و RBBB - RealBareBonesBoard من ModernDevices) * شريحة تريد برمجتها (تم اختبارها باستخدام atmega8 ، atmega168 ، atmega368 ، attiny2313 ، attiny13) * لوحة توصيل أو لوحة مع رأس ISP * 3 مصابيح + 3 مقاومات * أسلاك اللوح

الخطوة 2: عمل مبرمج Mega-isp على لوحة بريدية

صنع مبرمج Mega-isp على اللوح
صنع مبرمج Mega-isp على اللوح
صنع مبرمج Mega-isp على اللوح
صنع مبرمج Mega-isp على اللوح
صنع مبرمج Mega-isp على اللوح
صنع مبرمج Mega-isp على اللوح

هناك طريقتان لتوصيل Arduino ببرمجة شريحة.

يمكنك توصيل شريحة avr الخاصة بك بلوحة توصيل وتوصيل 5 فولت و GND بالمسامير المعنية (تحقق من ورقة البيانات!) + المقاوم سحب لإعادة التعيين ودبابيس الأسلاك من اردوينو إلى الشريحة. هذه هي الخطوط الموجودة على Arduino ووظيفتها 13 - SCK 12 - MISO 11 - MOSI 10 - RST (إعادة تعيين) أو يمكنك إنشاء رأس ISP 2x3pin يمكنك توصيله بلوحة توفر واحدة (لوحة اردوينو أخرى). يوجد pinout لرأس ISP على الصورة الثالثة. هناك 3 مؤشرات للإشارة إلى حالة المبرمج. دبوس 9 - الصمام الأزرق - هو دقات قلب المبرمج. دبوس 8 - مؤشر ضوئي أحمر - يشير إلى خطأ رقم 7 - مؤشر أخضر - يشير إلى أن البرمجة جارية (كنت كسولًا لذا لم أقم بمطابقة الألوان في الإعداد الخاص بي) إليك الرسومات التي تم إجراؤها في Fritzing ، يمكنك أيضًا إنشاء درع MEGA-ISP. صمم ياروسلاف أوسادشي الدرع في النسر. يمكنك الحصول على ملفات النسر على موقعه:

الخطوة 3: تحميل الرسم

تحميل الرسم
تحميل الرسم

قم بتنزيل المخطط من mega-isp google code. (avrisp.03.zip وقت كتابة هذا التقرير). فكها وتشغيل اردوينو بيئة تطوير متكاملة وفتح avrisp.pde. قم بتحميله على لوحة اردوينو الخاصة بك. يجب أن يبدأ دقات القلب في الضرب.

الخطوة 4: استخدام مع Avrdude

باستخدام مع Avrdude
باستخدام مع Avrdude

لاستخدامها مع avrdude (وجميع واجهات المستخدم الرسومية التي تستخدمها) ، عليك تحديد مبرمج "avrisp". أسلم معدل البت هو 19200.

لاختبار atmega168 الجديد الخاص بك من سطر الأوامر ، جرب: $ avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 / dev / USB0 هو المنفذ الذي يتصل به اردوينو بصندوق لينكس الخاص بي (قد يكون com5 الخاص بك). يمكن التحقق من ذلك في arduino IDE في Tools -> Serial Port. يجب أن تحصل على: [kabturek @ hal-9000 ~] # avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 avrdude: جهاز AVR مهيأ وجاهز لقبول التعليمات القراءة | ################################################## | معدل 100٪ 0.13 ثانية: توقيع الجهاز = 0x1e9406 avrdude: الوضع الآمن: تم تنفيذ الصمامات بشكل جيد. شكرا لك. هذا يعني أن كل شيء على ما يرام. إذا حصلت على أخطاء - تحقق من الخطوة الأخيرة.

الخطوة 5: نسخ البرنامج الثابت USBtinyISP إلى Attiny2313

نسخ البرامج الثابتة USBtinyISP إلى Attiny2313
نسخ البرامج الثابتة USBtinyISP إلى Attiny2313
نسخ البرامج الثابتة USBtinyISP إلى Attiny2313
نسخ البرامج الثابتة USBtinyISP إلى Attiny2313
نسخ البرامج الثابتة USBtinyISP إلى Attiny2313
نسخ البرامج الثابتة USBtinyISP إلى Attiny2313

USBTinyISP هو مبرمج رائع من LadyAda وهو رخيص حقًا - 22 دولارًا. كان لديّ attiny2313 احتياطي وبعض الأجزاء لذلك قررت أن أصنع واحدة بنفسي. إذا لم يكن لديك أي خبرة في صنع PCB ، فأنصحك بشراء المجموعة لأنها أعلى جودة مما يمكنك أن تصنعه بنفسك:). على الأقل قم بشراء PCB إذا كنت ترغب في بناء واحد. يمكنك الحصول عليه من Adafruit. قم بتوصيل ATtiny2313 في الصورة الأخيرة ، يمكنك رؤية attiny2313 مع المسامير المستخدمة لـ ISP باللون الأحمر. الصورة مأخوذة من البرنامج التعليمي LadyAda avr. نسخ البرنامج الثابت: قم بفك ضغط البرنامج الثابت USBTinyISP. انتقل إلى spi dir وقم بتشغيل $ avrdude -p pt2313 -P / dev / ttyUSB0 -c avrisp -b 19200 للتحقق مما إذا كان كل شيء على ما يرام مع الشريحة. الآن قم بتعيين المصاهر: $ avrdude -P / dev / ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m الآن يجب عليك إرفاق مذبذب خارجي 12 ميجا هرتز بالشريحة. وحرق البرنامج الثابت: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P / dev / ttyUSB0 -c avrisp -b 19200 Voila. يحتوي attiny2313 على البرنامج الثابت USBTinyISP.

الخطوة 6: حرق Arduino Bootloader

حرق Arduino Bootloader
حرق Arduino Bootloader
حرق Arduino Bootloader
حرق Arduino Bootloader
حرق Arduino Bootloader
حرق Arduino Bootloader

لقد خدعت قليلاً لأنني استخدمت RBBB لتبسيط الاتصالات. المخطط موجود في الصورة رقم 2. إذا كنت تستخدم 2 arduinos ، فاستخدم الصورة رقم 3 وقم بتوصيل دبوس ISP برأس ICSP 2x3 على الثاني (التابع) اردوينو. فقط قم بتوصيل طاقة USB باللوحة الأولى. طريقة واجهة المستخدم الرسومية (GUI way) يعد هذا أمرًا صعبًا بعض الشيء لأنه لا يمكنك فقط استخدام Tools-> Burn Bootloader -> w / AVR ISP لأن السرعة الافتراضية كبيرة جدًا بالنسبة إلى mega-isp. ابحث عن avrdude.conf الذي يأتي مع arduino IDE (في arduino / Hardware / tools / avrdude.conf) وقم بتغيير حدود مبرمج avrisp من 115200 إلى 19200 (حول السطر 312) ابحث عن وتغيير في avrdude.conf programmer id = "avrisp" ؛ desc = "Atmel AVR ISP" ؛ معدل البود = 115200 ؛ # الافتراضي هو 115200 نوع = stk500 ؛ ؛ إلى: معرف المبرمج = "avrisp" ؛ desc = "Atmel AVR ISP" ؛ معدل البود = 19200 ؛ # الافتراضي هو 115200 نوع = stk500 ؛ ؛ يمكنك الآن استخدام Tools -> Burn Bootloader -> w / AVR ISP (بعد تحديد اللوحة المناسبة من قائمة الأدوات) Commanline يمكنك أيضًا استخدام سطر الأوامر: تحرير arduino / Hardware / bootloaders / atmega / Makefile وتغيير ISPTOOL / PORT / SPEED to: # أدخل المعلمات الخاصة بأداة avrdude isp ISPTOOL = avrisp ISPPORT = / dev / ttyUSB0 ISPSPEED = -b 19200 لا يمكنك كتابة $ make diecimila_isp لنسخ الصمامات ومحمل الإقلاع. اختبر الآن قم بتوصيل اردوينو الجديد بـ USB و حرق وميض!

الخطوة 7: استكشاف الأخطاء وإصلاحها

استكشاف الأخطاء وإصلاحها
استكشاف الأخطاء وإصلاحها

أخطاء Avrdude: avrdude: ser_open (): لا يمكن فتح الجهاز "/ dev / ttyUSB0": لا يوجد مثل هذا الملف أو الدليل لديك منفذ خاطئ (-P) محدد أو أن اردوينو غير متصل. تحقق من متوسط الاتصال: توقيع الجهاز = 0x000000 avrdude: Yikes! توقيع الجهاز غير صالح. تحقق مرة أخرى من التوصيلات وحاول مرة أخرى ، أو استخدم -F لتجاوز هذا الفحص. هذا نوع من الخطأ العام. لم يتم التعرف على شريحتك. تحقق من الاتصال على اللوحة (GND / 5V متصل بالدبابيس؟) سوف تحصل على هذا الخطأ عندما يتم تكوين الشريحة الخاصة بك لاستخدام مذبذب خارجي ولا تعمل (لا يوجد واحد أو أنها لا تتأرجح بشكل صحيح - 22pf caps مفقود ؟)

موصى به: