قمت بإستبدال المتحكم الدقيق PIC16F877A من شركة Microchip بلوحات Arduino مزودة بمتحكمات من شركة Atmel

03-12-2013 Hardware | Arduino
إعلان

في الفترة الماضية أعتدت على بناء المشاريع المتعلقة بالمتحكمات الدقيقة باستخدام أحد منتجات شركة Microchip وهو PIC16F877A لسهولة التعامل معه وبساطة الأوامر من خلال بيئة التطوير PIC-C Compiler, عادة ما يتم عمل محاكاة "Simulation" للدوائر الكهربائية من خلال برنامج Proteus, هو أيضا يدعم منتجات Microchip ويقوم بمحاكاة البرنامج الذي تمت كتابته لتنفيذ مهمة معينة, ولتوضيح الأمور بشكل أكبر سأطرح هذا السيناريو على سبيل المثال.

إذا قررت إنشاء نظام يتحكم بدرجة الحرارة من خلال حساس معين "Sensor" سأقوم بداية باستخدام برنامج Proteus لوضع تصور مبدئي عن طبيعة الدائرة الإلكترونية التي سيتم إنشاءها, فأضع متحكم PIC16F877A وأضع مقاومة متغيرة موصولة بمصدر جهد POT-HG وكذلك شاشة لعرض النتائج LCD Display لأقوم بعدها بوصل القطع بالأسلاك بشكل مباشر, أذهب بعدها لكتابة الكود الذي سيقوم باستقبال القيم من المقاومة المتغيرة بوحدة فولت "Volts" ليحولها إلى قيم رقمية "Analog To Digital Converter" وبعدها يتم معالجة القيمة ومن ثم عرض النتائج على الشاشة, وبعد الانتهاء من كتابة الكود يتم تضمينه بنموذج المحاكاة "Schematic" داخل برنامج Proteus ومن ثم تشغيله للتأكد من أن النظام يعمل كما هو مطلوب.

مثال على محاكاة برنامج proteus

بعد الانتهاء من الخطوات السابق ذكرها يتم اللجوء إلى مختبر الهندسة الطبية أو مختبر مشاريع التخرج في جامعة اليرموك للاستعانة بالناسخة المتوافرة ليتم نسخ الكود "hex" على المتحكم الدقيق ومن ثم بناء الدائرة الإلكترونية من الصفر, والصفر هنا تعني شراء Crystal بتردد معين"4MHz,8MHz,16MHz.." وبناء دائرة منظم الجهد Voltage Regulator لخفض الجهد إلى 5 Volts وهو الجهد الذي يعمل عليه المتحكم الدقيق, أضف إلى ذلك مجموعة المقاومات والأسلاك التي يتم استخدامها في تصنيع اللوحة, كل تلك التوصيلات تتم على لوحة تسمى BreadBoard تستخدم عادة لغايات تعليمية لسهولة وصل وإزالة المكونات منها.

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

هذه المشاكل التي عادة ما تتسبب في التقدم ببطئ حللتها من خلال استبدال المتحكمات المنفردة إلى استخدام لوحات Arduino Board جاهزة للاستخدام بشكل مباشر, فبدلا من الناسخة غالية الثمن لنسخ الكود يمكنك وصل اللوحة بالكمبيوتر من خلال وصلة USB ونسخ الكود بشكل مباشر.

ومشكلة بناء اللوحة من الصفر وتنظيم الجهد وتركيب Crystal للتردد ووصل الأسلاك فهي موجودة أصلا وجاهزة للاستخدام بدون أي حاجة لإعادة تلك الأعمال بشكل روتيني.

ليس ذلك فقط, بل إذا كنت بحاجة إلى 3.3 Volts يمكنك أخذها من خلال منفذ موجود على اللوحة يعطيك هذه القيمة مع وجود منفذ 5 Volts و 3 منافذ Ground.

بالنسبة لـ Serial Communication كان هناك منفذين فقط في "PIC16F877A "TX,RX, أما إذا قمت باستخدام لوحة Arduino Mega 2560 فهناك 8 منافذ لدعم Serial Communication كما أنها تحتوي على 70 منفذ بشكل إجمالي منها 16 منفذ لـ Analog To Digital Converter و 12 منفذ يمكن استخدامهم لـ "Pulse Width Modulation "PWM.

سيناريو بناء المشروع في الأعلى أصبح مختلف الآن, الفقرة المتعلقة ببناء نموذج محاكاة أصبحت غير موجودة, أصبحت لوحة Arduino هي نموذج المحاكاة, والقراءات والنتائج أصبحت أكثر دقة وأكثر واقعية, فعلى الرغم من قوة Proteus في المحاكاة إلى أنه لم يصل إلى مرحلة محاكاة مطابقة للواقع.

عن محمد جمال

مهندس حاسوب ومطور برمجيات, أعمل Freelancer في تطوير تطبيقات الويب من خلال ASP.NET منذ عام 2007 قمت بإنشاء عدة مشاريع في مجالات مختلفة (المتحكمات الدقيقة, الأنظمة المضمنة, الروبوت, برامج سطح المكتب, أنظمة قواعد البيانات) ومن هواياتي الخط العربي

subscribe

إعلان
إعلان

تنويه : الأراء في هذا الموقع شخصية ولا تبت لأحد بصلة تحت أي حال من الأحوال