اصنع أبسط أردوينو دون مذبذب

2014-05-07

تمهيد

بالتزامن مع نشر مقالتي على موقع instructables واستكمالا لمقالتي السابقة هنا عن تحويل لوح أردوينو إلى مبرمج رقاقات AVR. باختصار وبساطة أردوينو (المطلوب عمله) هو متحكم دقيق microcontroller يحتوي برنامج صغير يسمى محمل الإقلاع يسهل عملية رفع البرامج عليه. في هذه المقالة سنتعلم كيف نحول رقاقة Atmega328p-pu وحفنة من الأسلاك إلى لوح أردوينو.

  1. رقاقة المتحكم الدقيق Atmega328p-pu 2 . لوح تجارب (مجرد منصة نستخدمها عوضا عن لحام الأسلاك) وأسلاك male-to-male
  2. ضوء LED ومقاومة صغير (300 أوم مثلا) حتى نصلها على سن 13 ونجرب مثال تقليب الضوء Blink
  3. مقاومة 10 كيلو-أوم تلزمنا لتسهيل إعادة الإقلاع.
  4. مواسع 100 نانو-فاراد تلزمنا لعمل إعادة تشغيل برمجية
  5. لوح أردوينو آخر (يلزم مرة واحدة لرفع محمل الإقلاع)
  6. وحدة صغيرة محول من USB إلى TTL (لرفع البرامج ويمكن استعمال أردوينو لعمل ذلك أيضا)

محمل الإقلاع المخصص

قمت بتحضير نسخة من محمل الإقلاع optiboot5 تعمل على المذبذب الداخلي بسرعة 8 ميغاهيرتز ومعدل نقل 38400 ذلك أن معدل النقل التلقائي في أردوينو هو 115200 يعاني من خطأ إزاحة بمقدار 7.8% عند سرعة 8 ميغاهيرتز في حين أن 38400 تحتوي خطأ 0.2%. كذلك قمت بتعريف لوح أردوينو أونو بتلك السرعات أسميته Optiboot5 Arduino Uno 8MHz. قم بتحميل تلك البرمجيات من هذا الرابط وضعها في داخل مجلد sketchbook الذي به مشاريعك بحيث يظهر عندك مسار كالتالي sketchbook/hardware/myboard. أعد تشغيل بيئة أردوينو وانظر إلى قائمة اللوحات board تأكد من أنك ترى لوحة جديدة بالاسم الذي ذكرناه

معدل النقل ونسبة الخطأ

رفع محمل الإقلاع

نزّل برنامج ArduinoISP من Adafruit وضعه على أردوينو أونو كما شرحنا في المقالة السابقة حتى نستخدمه كمبرمج. واستخدم السن الرقمي 9 في أردوينو مكان المذبذب (السلك الأصفر في الصورة).

برمجة المتحكم الدقيق بواسطة Arduino


  • من قائمة اللوحات Board اختر Optiboot5 Arduino Uno 8MHz
  • من قائمة المنفذ التسلسلي Serial Port اختر المنفذ المناسب COM3 أو /dev/ttyACM0 مثلا
  • من قائمة المبرمج Programmer اختر Arduino As ISP
  • من قائمة أدوات اختر حرق محمل الإقلاع Burn Bootloader

التحقق من نجاح محمل الإقلاع

عندما يعمل محمل الإقلاع يقلب الضوء (الموجود على السن الرقمي رقم 13) ثلاث مرات. لاحظ ذلك عندما تعيد التشغيل سواء عبر فصل تغذية اللوحة بالطاقة أو خفض فولتية السن الأول للمتحكم الدقيق عبر وصله بالأرض لكن ذلك السن موصول بالقطب الموجب ولا يمكن وصله بالأرض إلا إن كانت فولتيته مرفوعة عبر مقاومة وليس بالقطب الموجب مباشرة. إذا لم يتقلب الضوء 3 مرات عند إعادة التشغيل فلعلك أخطأت في خطوة ما.

الصورة النهائية للوحتنا ورفع البرامج عليها

هذه صورة اللوحة

أبسط لوح أردوينو

وتتم برمجتها عبر إرسال البرنامج تسلسليا في السلكين الأخضر والأصفر Tx/Rx بعد عمل إعادة تشغيل RESET سواء تلقائيا أو يدويا. ولتوصيل لوحتنا بالحاسوب نحتاج محول من USB إلى نبضات TTL تسلسلية وهي وحدة صغير كما في هذه الصورة

محول USB إلى نبضات تسلسلية TTL

نصل الإرسال والإستقبال Tx/Rx بين تلك الوحدة ولوحتنا. وإن كنا نريد عمل إعادة تشغيل تلقائية نصل DTR أو RTS برجل المكثف الصغير والرجل الأخرى للمكثف مع سن إعادة التشغيل (سن رقم 1).

من المهم أن تختار وحدة USB تحتوي DTR أو RTS (وليس RST) وبها منفذ 5 فولت ومنفذ 3.3 فولت.

افتح أي برانمج (مثل Blink) في بيئة أردوينو ثم اختر

  • من قائمة اللوحات Board اختر Optiboot5 Arduino Uno 8MHz
    • من قائمة المنفذ التسلسلي Serial Port اختر المنفذ المناسب COM3 أو /dev/ttyUSB0 مثلا
    • من قائمة المبرمج Programmer اختر AVRISP mkII وليس Arduino as ISP
    • اختر Upload
3


khiro
khiroمنذ 3 سنوات

هل يمكنني شراء شريحة Atmega328 ثم أفصل الشريحة الموجودة بالأردوينو وتركيب الجديدة وبرمجتها مباشرة ثم إعادة نزعها وتركيبها في دارة لوحدها ؟

  • هل شريحة Atmega328 التي بالأردوينو قابلة للفصل و إعادة التركيب ؟
  • هل هناك محمل إقلاع إفتراضي في الشرائح الجديدة ؟ وكيف يمكن التغلب على المشكلة إن لم يكن يوجد ؟
0

khiro
khiroمنذ 3 سنوات

آسف وضعت السلام والشكر لكني لا أعرف لما لم تكتب p: في إنتظارك أخي فادي بارك الله فيك

0

مؤيد السعدي
مؤيد السعديمنذ 3 سنوات

هل يمكنني شراء شريحة Atmega328 ثم أفصل الشريحة الموجودة بالأردوينو وتركيب الجديدة وبرمجتها مباشرة ثم إعادة نزعها وتركيبها في دارة لوحدها ؟

نعم

هل شريحة Atmega328 التي بالأردوينو قابلة للفصل و إعادة التركيب ؟

نعم في أردوينو أونو r3 الأكثر شيوعا وغيره. لكن هناك بعض لوحات أردوينو SMD لا يمكن نزع المتحكم منها.

هل هناك محمل إقلاع إفتراضي في الشرائح الجديدة ؟ وكيف يمكن التغلب على المشكلة إن لم يكن يوجد ؟

غالبا لا الشركة المنتجة للمتحكم الدقيق تبيعه خاليا. يمكنك استعمال أي أردوينو آخر كمبرمج كي ترفع محمل الإقلاع. هناك البعض يبيع متحكمات دقيقة عليها محمل الإقلاع مثبت بشكل مسبق مثل eshtre.com

0

Test User