بناء اردوينو من الصفر بمدخل USB مُدمج بمكونات محلية بسيطة

العنوان يقول اردوينو بمدخل USB !!!!

 

نعم العنوان صحيح.. اردوينو متكامل دون الحاجه الى اى شرائح FTDI او RS232 او TTL converters من اى نوع وكذلك دون الحاجة ﻷستخدام شرائح الكترونيه غالية ومعقدة .. فى هذا المشروع لن تحتاج سوى شريحة واحدة من عائلة ATmega مثل ATmega8 او ATmega168 او ATmega328

استجمع ما لديك من قوى عقلية واضف كوب من القهوه… ثم اكمل قرائه المقال

توكلنا على الله

بداية المشكلة اسمها SMD (*_*) !!

فى الثورة اﻹلكترونية الحديثة تم تصغير حجم المكونات اﻹلكترونية الحديثة ليصل حجمها الى بضعه مللى مترات وظهر نوع جديد من المكونات اﻹلكترونيه يتم تركيبه على سطح اللوحات اﻹلكترونيات و يشغل حيز اقل من الفراغ و سميت هذه المكونات بأسم Surface Mount Devices او ما يعرف باسم (المكونات المثبة على السطح), على العكس هناك المكونات التقليدية Hole mounted  وهى المكونات التى يتم لحامها فى ثقوب تصنع فى اللوحة اﻹلكترونية

تتميز المكونات SMD  بالحجم الصغير و استهلاك اقل للطاقة و كذلك امكانية صناعة دارات إلكترونيه فائقة الصغر, لكن لها عيب خطير على مستوى مشاريع الهواة التى تصنع يدويا حيث يتطلب هذا النوع من المكونات مهارة عاليه جدا فى اللحام باﻷضافه الى صعوبه شراء هذا النوع من المكونات وعدم توافرة محليا فى معظم البلاد العربية

 

اذا ما علاقة المكونات من نوع SMD باردوينو ؟؟؟

تأتى العلاقة بسبب شرائح ال Serial communication الموجوده على كل لوحات اردوينو و التى يصعب توفيرها محلياً  و تستخدم هذه الشرائح فى نقل البرامج من الحاسب اﻵلى الى اردوينو او نقل بيانات من لوحة اردوينو الى الحاسب اﻵلى

فى تدوينه سابقه كنا تحدثنا عن طريقه لعمل دائرة اردوينو بسيطة على لوحة التجارب و استخدام شريحه FTDI جاهزه لتقوم بعمل Serial Communicator ولكن قد لا تتوفر هذه الشريحة فى معظم البلدان العربية و فى بعض البدان يكون سعرها غالى بعض الشئ (حوالى 13 دولار)

خلال هذه التدوينه سنشرح كيفية بناء ارخص لوحة اردوينو متكاملة و مزودة بنفذ USB لبرمجتها مباشره باستخدام الحاسب اﻵلى ودون الحاجة الى اى شرائح اضافية و بتكلفة زهيده جداً (4 دولارات فقط)

 دعونا نمارس بعض السحر البرمجى و نتعرف على الــVirtual-USB

 تقنية منفذ اليو اس بى الوهمى أحد التقنيات البرمجية التى تمكنك من اضافه اتصال USB مباشر لاى شريحة متحكم دقيق من شركة ATmel يعمل بمعمارية AVR مثل عائلة ATmega و عائلة ATTiny و باقى عائلات المتحكمات الدقيقة التى تم انتاجها شرط ان يتوفر بداخلها ذاكرة فلاشية تزيد عن 2 كيلو بايت

يتم عمل المنفذ الوهمى عن طريق اضافه Bootloader خاص للمتحكمة الدقيقة و الذى لحسن حظنا انة متوافق مع اردوينو و يعمل بكفائة تامة و بذلك يمكننا تحويل اى شريحه مشهورة مثل ATmega 8/168/328 الى اردوينو بنفذ USB مباشر و دون الحاجة الى اى شرائح اضافية مثل FTDI

 

لنبدأ العمل مع Metaboard فى استراليا ثم نسافر الى اليابان  !!!

 الميتابورد هى بوردة الكترونية مفتوحة المصدر تم تطوريها من قبل الشباب فى الهاكرسبيس اﻻسترالى metalab.at

تعتبر هذة البوردة هى ارخص بوردة متوافقة مع لغة برمجة اردوينو وكما ترون فى الصورة تحتوى على منفذ يو اس بى مباشر ودون الحاجة الى اى شرائح FTDI او اضافات اخرى و تعتمد بالكامل على V-USB الذى سيتم وجعه على شريحة ATmega المركبة على البوردة

للحصول على كامل التصميمات الهندسية : https://metalab.at/wiki/images/0/0c/Metaboard-1.0.zip

ومع ظهور هذة البوردة تم تنفيذ العديد من اﻷفكار الرائعه المبنية عليها مثل الثصميم اليابانى الرائع

Arduino on Single Chip اردوينو متكامل على شريحة واحدة 

لمعرفة المزيد عن التصميم الهندسى لهذا المشروع الرائع , اليك النسخة اﻷنجليزية من المشروع هنا

 طريقة تجهيز شريحة ATmega

سواء اخترت الطريقة الاسترالية او اليابانية فى بناء اردوينو فسيتبقى لك خطوة هامه جدا و هى حجر الاساس فى عملية البناء و تسمى عملية نقل محمل الاقلاع الخاص Bootloader و الذى سيشغل تقنية V-USB على شريحه اتميجا

اولا: انواع الشرائح المناسبة ﻷردوينو بتقنية V-USB:

  • ATmega 8 و سعرها حوالى 2 دولار (اشهر شرائح عائله اتميجا و ارخصها و متوفرة فى كل البلدان العربية)
  • ATmega 168 و سعرها حوالى 4 دولار (وهى الاكثر توافقا مع V-USB و تم تنفيذ جميع المشاريع عليها)
  • ATmega 328 وسعرها حوالى 6 دولار (مثل اختها الصغرى 168 لكن بذاكرة اكبر و استهلاك اقل للطاقة)

شخصيا افضل اتميجا 168 ومع ذلك يمكنك استخدام اى نوع تشاء

ما ستحتاجة لنقل محمل الاقلاع

ملاحظة: هذه العملية تتطلب الكثير من الخبرة بتعامل مع شرائح AVR واستخدام المبرمجات المتوافقة مع منتجات شركه Atmel واى خطأ فى تنفيذ التعليمات قد يتسبب فى ضرر للشريحة المتسخدمة 

اولا: المكونات اﻻلكترونية

  • اى شريحة اتميجا من الشرائح المذكورة مسبقا
  • مبرمجة شرائح اتميجا AVRISP V2.0 STK500 USB ISP
  • مهتز كريستال 16 ميجا هرتز
  • عدد 2 مكثف سيراميك بقيمة 22 بيكو فاراد
  • مقاومة 10 كيلو اوم
  • منظم جهد 5 فولت IC 7805
  • عدد 2 مكثف كيميائى 10 uf
  • اسلاك للتوصيل

لمعرفة المزيد من المعلومات حول مبرمجة AVRISP يمكنك اﻷطلاع على هذا الرابط

ملحوظة: لا تستخدم اى مبرمجة معتمده على Serial port و انما استخدام الانواع المتوافقة مع معاييرUSB AVRISP

 ثانيا: البرمجيات

  • نظام تشغيل لينكس (سأستخدم ابونتو ubuntu 12.04)
  • بيئة تطوير اردوينو Arduino IDE
  • ملفات محمل الاقلاع V-USB من هذا الرابط

لماذا استخدمت لينكس فقط و لم اقل ويندوز ؟؟

لان لينكس سيوفر الكثير من العناء و التعب فى كتابة الاوامر لنقل البووت لودر و فى حالة انه لم يكن لديك سوى ويندوز يمكنك الرجوع لهذا المقال لتتعلم كيف تستخدم برنامج avrdude مع بيئة ويندوز (البرنامج المستخدم فى نقل البووت لودر) http://www.ladyada.net/learn/avr/avrdude.html و فى حالة استخدامك لينكس لن تحتاج لقرائة هذا المقال 🙂

خطوات نقل V-USB Bootloader

اولاً: توصيل المبرمجة بشريحة اتميجا 8

نصنع هذة اللوحة الصغيرة لتوصيل المبرمجة على لوحة التجارب

 

 

 

 

 

 

الشكل النهائى قبل مرحلة نقل محمل الاقلاع
الان شريحة اتميجا جاهزة لاستقبال محمل الاقلاع
الخطوة الثانية: نقل v-usb من لينكس
قم بفك ضغط ملف V-USB الذى حملتة و ضعه داخل فولدر الHome الخاص بك حيث سيكون ناتج فك الضغط هو فولدر USBaspLoader.2010-07-27
سنفترض ان اسم فولدر الhome لديك هو abdallah و مساره /home/abdallah/
 و بذلك يصبح المسار النهائى لفلودر محمل الاقلاع هو /home/abdallah/USBasploader/
افتح فولدر firmware حيث ستجد بداخلة ملف Makefile قم بفتح الملف بأى محرر نصوص لديك
فى هذا الملف جميع الاعدادات الخاصة بنوع الشريحة المستخدمة فى عملية النقل و يجب ان تغير بعض القيم :
  • DEVICE = atmega168 قم بتغير هذه القيمة الى نوع الشريحة التى استخدمتها و فى حالتنا هذه لقد استخدمت atmega8
  • BOOTLOADER_ADDRESS = 3800 غير هذه القيمة الى 1800 اذا كنت استخدمت اتميجا 8 او الى 7800 اذا كنت استخدمت اتميجا 328
قم بحفظ الملف ثم افتح سطر اﻷوامر Termianl و نفذ الاوامر التالية بالترتيب
cd  USBaspLoader.2010-07-27
cd firmware
sudo make
sudo make fuse
sudo make flash
sudo make lock
سسألك التيرمنال عن كلمه السر الخاصة بك فى عند كتابة الامر sudo make ادخلها و انتظر قليلا ثم نفذ باقى الاوامر كما هى
فى حالة انك ستسخدم ويندوز بدل لينكس
ستجد ملف readme.txt داخل فولدر  USBaspLoader.2010-07-27 و ستجد بداخلة خطوات تركيب البوت لودر من ويندوز
بعد الانتهاء من نقل محمل الاقلاع بنجاح يمكنك انتزاع شريحة اتميجا من لوحة التجارب و وضعها فى لوحة الMetaboard مباشرة ثم عمل تعديل على بيئة اردوينو البرمجية لتتعرف على البوردة
 الخطوات ستكوت كالتالى:
  1. افتح فولدر الSketchbook الخاص بك و مساره فى لينكس سيكون /home/abdallah/sketchbook/
  2. اصنع فولدر جديد باسم hardware قم ادخل الى هذا الفولدر
  3. اصنع فولدر اخر بداخل hardware , اجعل اسمه Metaboard ثم ادخل الى هذا الفولدر
  4. اصنع ملف نصى باسم boards.txt
  5. انقل الاوامر التاليه الى هذا الملف
##############################################################

metaboard.name=Metaboard

metaboard.upload.protocol=usbasp
metaboard.upload.maximum_size=14336
metaboard.upload.speed=19200

metaboard.build.mcu=atmega168
metaboard.build.f_cpu=16000000L
metaboard.build.core=arduino

metaboard.upload.disable_flushing=true

##############################################################


الخطوة الاخيرة هى اختيار الMetaboard من قائمة tool – boards – Metaboards

و اﻷن يمكنك البدأ فى برمجة اردوينو الخاص بك و الذى بنيتة من الصفر 

المصادر:
—————————————————

27 thoughts on “بناء اردوينو من الصفر بمدخل USB مُدمج بمكونات محلية بسيطة

  1. ملحوظة: لا تستخدم اى مبرمجة معتمده على Serial port و انما استخدام الانواع المتوافقة مع معاييرUSB AVRISP

    لماذا

  2. الفكره كلها فى برنامج avrdude
    وهو البرنامج المستخدم فى نقل البووت لودر على شريحة الاتميجا
    وهو يدعم مجموعه معينه فقط من المبرمجات و التى تتوافق مع AVRISP standardization
    هذا بالطبع بالنسبه للينكس
    بالنسبه لويندوز يكنك استخدام برنامج AVR studio و استخدام ملفات .hex التى تأتى مع V-USB مباشرة
    و بذلك يمكنك (نظريا) استخدام اى مبرمجة على ويندوز مادام البرنامج الخاص بها يدعمها
    و بالنسبه لقيم الفيوزات ستجدها فى ملف Makefile

  3. برنامج Avrdude يدعم البرمجة من السيريال وبأبسط المبرمجات هو ده ميزته وده نوع المبرمجه
    ponyser = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [C:\WinAVR\bin\avrdude.conf:724]

    • لوحة التجارب breadbaord لا تستخدم في اردوينو نفسه مباشره و انما في برمجة الشريحة فقط اما دائره اردوينو بمنفذ اليو اس بي اسمها metaboard و التي ستجد المخطط الهندسي الخاص بها علي موقع البوردة الرسمي و الذي ارفقته في الموضوع

    • بالنسبه لمصر يمكنك الذهاب الى محل (رام الكترونيكس, النخيلى, الجمال) و جميع هذه المحلات في باب اللوق المتفرع من ميدان التحرير
      و بالنسبة لباقي الدول العربية يمكنك شرائها اونلاين من رام الكترونيكس ايضا http://ram-e-shop.com

  4. السلام عليكم
    بصراحة انا لا أملك
    مبرمجة شرائح اتميجا AVRISP V2.0 STK500 USB ISP
    و لا أملك الأردوينو …..و لم أجد أي حالة أخرى لنقل البووت لودر على المتحكمة
    ألا يوجد طريقة أخرى ……

  5. و عليكم السلام و رحمه الله و بركاته 🙂

    تم تعديل الرابط .. مع العلم ان الرابط الموجود مسبقا كان لنسخة أحدث فى الاصداره و الاختلاف فى اسم الفولدر
    tests

  6. وجدت موضوع يحتوى على طريقة سهلة لصنع مبرمجة بسيطه وتم استخدام شريحة ATMEGA8-16PI
    http://electronics-diy.com/avr_programmer.php
    هل يمكن استخدام هذه المبرمجة مع الشرائح التى ذكرتها هنا؟
    وبفرض اننى سوف استخدم شريحة ATMEGA8L-8PI فما هو ملف hex بالتحديد الذى سأقوم بتحميله عليها؟
    وهل هناك أى تعديلات أخرى يجب القيام بها ؟
    جزاك الله خيرا على المساعدة

  7. اولا قم بتحميل هذا الملف
    http://www.obdev.at/products/vusb/usbasploader.html

    ستجد فولدر يحتوى على مجموعه جاهزه من ملفات الهيكس لباقة متنوعة من شرائح اتميجا
    يمكنك اختيار اى ملف يبدأ بأسم atmeg8
    مع ملاحظة اختيار الملف المتوافق مع الكريستالة (المهتز) الذى ستستخدمة فى الدائرة
    سيتجد فى نهاية اسم كل ملف رقم الكريستالة التى يعمل معها

  8. الكريستاله المستخدمة فى الدائرة 4MHz
    اما ملفات الهيكس فهى 12 و 15 و 16 MHZ
    فهل من الممكن استبدال كريستالة الدائرة بأخرى 12 MHz ؟
    أو هل من الممكن الحصول على ملف هيكس 4 MHz ؟

  9. نعم يمكنك استخدام كريستاله 12 ميجا هرتز
    و يمكنك ان تصنع ملف الهيكس بفسك للكريستاله 4 ميجا و هذا عن طريق تعديل اعدادات الكريستاله داخل ملف
    Makefile
    لكنى لا انصحك بهذا … الافضل ان تستخل كريستاله 16 او 12

    افضل الكرستالات المهتزه هى 16 ميجا هرتز حيث تجعل شريحه اتميجا تعمل بأقصى سرعة

  10. Pingback: Rasheduino … أول نسخة Arduino عربية من سوريا ^_^ « rashedkoutayni

  11. Pingback: أطلاق الراشدوينو – أول نسخة عربية معدلة من اردوينو | آردوينو ببساطة Simply Arduino

  12. Pingback: اصنع اردوينو بنفسك بمكونات محلية و حل مشكلة الـSerial communication | آردوينو ببساطة Simply Arduino

    • في الملفات المرفقة هتلاقي ملف README فيه كل المعلومات عن التعديلات و الأرقام المطلوبة في حالة استخدام شرائح مختلفة

  13. قمت بالحصول على شريحة من عائلة أتمل وهي ذات ترتيب رقمي غير أتميجا فهي AT80c51 وهي كبيرة بحيت ستعطي أكبر عدد من المداخل وهل ستتجاوب مع لغة الاردوينو ومسبقا مع البتلودر ومع العلم أنها ذات تزامن كريستالي 4 ميجاهرتز هل يمكن إستبداله ب 16 ميجاهرتز

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *