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

برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP: 9 خطوات (بالصور)
برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP: 9 خطوات (بالصور)

فيديو: برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP: 9 خطوات (بالصور)

فيديو: برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP: 9 خطوات (بالصور)
فيديو: How to Program ATMEGA8 / 48 /88 / 168 / 328 P | Arduino As ISP | AVR Microcontroller Programming 2024, شهر نوفمبر
Anonim
برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP
برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP
برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP
برمجة ATTiny85 و ATTiny84 و ATMega328P: Arduino As ISP

مقدمة

لقد قمت مؤخرًا بتطوير عدد قليل من مشاريع IoT القائمة على ESP8266 ووجدت أن المعالج الأساسي كان يكافح لتنفيذ جميع المهام التي احتاجها لإدارتها ، لذلك قررت توزيع بعض الأنشطة الأقل أهمية على متحكم (وحدات تحكم) مختلفة في بهذه الطريقة يتم تحرير ESP8266 للاستمرار في وظيفتها المتمثلة في كونها جهاز إنترنت الأشياء.

نظرًا لأنني أردت نشر مشروعي على أوسع نطاق ممكن من الجمهور ، فقد اخترت استخدام Arduino IDE كمنصة تطوير مفضلة نظرًا لوجود مجتمع مدعوم على نطاق واسع.

قيود التصميم

من أجل توفير انتشار معقول للأجهزة المستهدفة مما يسمح باختيار متحكم دقيق مناسب للتطبيق في متناول اليد ، استقرت على أجزاء Atmel التالية ؛ ATMega328P و ATTiny84 و ATTiny85. للحد من تعقيد المبرمج الضروري ، قمت بتقييد اختيار الساعة الداخلية لجميع الأجهزة و 16 ميجا هرتز خارجي فقط لـ ATMega328P و ATTiny84.

ما يلي هو مجموعة من الملاحظات حول البرمجة باستخدام Arduino ووصفًا لكيفية تجميع مبرمج بسيط قائم على Arduino Uno لهذه الأجهزة (الصور أعلاه).

ما الأجزاء التي أحتاجها؟

لبناء المبرمج سوف تحتاج إلى الأجزاء التالية

  1. 1 قبالة Arduino Uno
  2. 2 قبالة 28 دبوس قوة الإدراج (ZIF) DIP (لعقد ATMega328P ، ATTiny85 ، ATTiny84)
  3. 1 قبالة درع النموذج الأولي من Arduino (لقد حصلت على درع نموذجي هنا ؛ https://www.ebay.co.uk/itm/Arduino-UNO-Prototyping …)
  4. 2 قبالة 5MM المصابيح
  5. 2 من 1 كيلو مقاومات
  6. 1 من 10 كيلو المقاوم
  7. 4 مكثفات سيراميك 22pF
  8. 2 من بلورات 16 ميجا هرتز
  9. 3 إيقاف مكثفات سيراميك 0.1 فائق التوهج
  10. 1 من 47 فائق التوهج مكثف كهربائيا
  11. 1 من 10 فائق التوهج مكثف كهربائيا
  12. سلك لف الأسلاك بأطوال مختلفة.

ما هو البرنامج الذي أحتاجه؟

Arduino IDE 1.6.9

ما المهارات التي احتاجها؟

  1. معرفة اردوينو IDE
  2. بعض المعرفة بالإلكترونيات وكيفية اللحام
  3. قدر كبير من البراعة اليدوية
  4. حمولة من الصبر وبصر جيد

المواضيع التي تمت تغطيتها

  1. مقدمة عامة عن برمجة Atmel Microcontrollers
  2. ISP أو Bootloader: الأمر كله مربك بعض الشيء
  3. نظرة عامة على الدائرة
  4. إعداد المبرمج الخاص بك
  5. باستخدام Arduino ISP Programmer
  6. تطوير التعليمات البرمجية على نظامك المستهدف
  7. مسكتك
  8. استنتاج
  9. المراجع المستخدمة

تنصل

كما هو الحال دائمًا ، فإنك تستخدم هذه التعليمات على مسؤوليتك الخاصة ولا يتم دعمها

الخطوة 1: مقدمة عامة عن برمجة Atmel Microcontrollers

مقدمة عامة عن برمجة Atmel Microcontrollers
مقدمة عامة عن برمجة Atmel Microcontrollers
مقدمة عامة عن برمجة Atmel Microcontrollers
مقدمة عامة عن برمجة Atmel Microcontrollers
مقدمة عامة عن برمجة المتحكمات الدقيقة Atmel
مقدمة عامة عن برمجة المتحكمات الدقيقة Atmel

هناك طريقتان متاحتان لبرمجة ميكروكنترولر Atmel ؛

  1. في برمجة النظام (ISP) ،
  2. البرمجة الذاتية (عن طريق أداة تحميل التشغيل).

الطريقة السابقة (1) تقوم ببرمجة وحدة التحكم الدقيقة مباشرة عبر واجهة SPI بعد إعادة ضبط الجهاز أولاً. ما لم يُطلب خلاف ذلك ، تتم كتابة برنامج مصدر قابل للتنفيذ مترجم على الجهاز بشكل متزايد في ذاكرة الكود من حيث يتم تنفيذه عند بدء التشغيل. هناك العديد من أجهزة ISP القادرة على برمجة أجهزة Atmel ، والقليل منها (صورة 1) ؛ AVRISPmkII و Atmel-ICE و Olimex AVR-ISP-MK2 و Olimex AVR-ISP500. تُظهر الصورة 2 كيفية اتصال جهاز ISP بـ ATMega328P (الذي يحمل علامة ICSP بشكل غريب) على لوحة Arduino Uno R3 (الصورة 3 تعطي دبوس ISP). من الممكن أيضًا برمجة متحكم Atmel عبر واجهة SPI الخاصة به باستخدام Arduino Uno مثل ISP (الصورة 4) ، هنا يتم استخدام Uno لبرمجة ATMega328P.

الطريقة الأخيرة (2) تستخدم كعب روتين صغير يعرف باسم "محمل الإقلاع" مقيم بشكل دائم في ذاكرة الكود القابلة للتنفيذ (عادة ما تكون مقفلة لمنع الكتابة العرضية للموافقة المسبقة عن علم 5). يتم تنفيذ هذا الرمز أولاً عند تشغيل الطاقة أو إعادة تعيين الجهاز ويسمح للمتحكم الدقيق بإعادة برمجة نفسه برمز جديد يتم استلامه عبر إحدى واجهاته من مصدر خارجي لنفسه. يتم استخدام طريقة bootloader بواسطة Arduino IDE لإعادة برمجة Arduinos الذي تم تعيينه كمنفذ اتصال USB على جهاز الكمبيوتر (أو MAC ، مربع Linux وما إلى ذلك ، صورة 6) وفي حالة Arduino يتواصل Uno مع جهاز Atmel عبره واجهة تسلسلية على IC Pins 2 و 3 من ATMega328P. يمكن أيضًا استخدام Arduino Uno (مع إزالة وحدة التحكم الدقيقة ATMega328P) لبرمجة ATMega328P عبر طريقة أداة تحميل التشغيل التي تعمل بشكل فعال كجهاز محول USB إلى تسلسلي (صورة 7).

ما هو محول USB إلى تسلسلي؟

محول USB إلى المسلسل عبارة عن قطعة من الأجهزة التي يتم توصيلها بمنفذ USB بأجهزة الكمبيوتر الخاصة بك وتشبه منفذ com التسلسلي (إرث من الأوقات السابقة عندما استخدمت أجهزة الكمبيوتر معيار اتصالات تسلسلي معروف باسم EIA-232 أو V24 أو RS232) مما يتيح لك إرسال واستقبال البيانات التسلسلية على نفس المستويات الكهربائية للميكروكونترولر. عندما تحدد أدوات -> منفذ -> COMx من Arduino IDE ، فأنت تقوم بتوصيل / توصيل جهاز الكمبيوتر الخاص بك بـ Arduino.

يشار إلى جهاز مثل هذا أحيانًا باسم FTDI (صورة 8 ، وهو في الواقع اسم علامة تجارية) أو CH340G وما إلى ذلك ، يتم تحقيق USB إلى المسلسل على Arduino uno عبر ATMega16U2-MU (R) IC ZU4 كما هو الحال في Arduino Schematic أدناه.

من أجل الوضوح ، تحدد الصورة 9 جهازي Atmel وموصلات ISP الخاصة بهما على Arduino Uno R3.

ملاحظة 1: إذا اخترت السير في مسار جهاز FTDI ، فتأكد من شرائك من بائع حسن السمعة حيث كان هناك الكثير من الأجهزة المقلدة الرخيصة في السوق والتي فشلت عند تطبيق تحديث Windows.

موصى به: