أحمدمحمدأحمدعبدالرحيم .:: الإدارة العامة للمنتدي ::.
عدد المساهمات : 3139 النقاط : 5401 تاريخ التسجيل : 14/06/2009 الاقامة : الدامر / حي الكنوز
| موضوع: برمجة الميكروكونترولر PIC& AVR بالمخطط السلمى ladder diagram من البداية وحتى الاحتراف السبت نوفمبر 21, 2009 6:38 am | |
|
اللهم صلي علي سيدنا محمد النبي الامي وعلي اله وصحبه وسلم
باليكم هذا النقل في برمجة الميكروكونترولر PIC& AVR بالمخطط السلمى ladder diagram من البداية وحتى الاحتراف المرجع : البرنامج المجانى على الموقع ادناه : http://www.cq.cx/ladder.pl
وسوف اتابع معكم الدراسة على الخطوات الاتية
1-شرح البرنامج وما يحتويه مع الامثلة العملية البسيطة فى البداية ثم التقدم خطوة بخطوة الى ان نصل الى اكبر البرامج وليكن plc كامل باستخدامات متعددة مع استخدام ال simulator الموجود فى البرنامج وانتاج الملف *.HEX لاستخدامه فى البند التالى واثناء ذلك سوف اذكركم بلغة ladder programming 2-استخدام برنامج proteus لرسم الدائرة الكهربية circuit diagram وتحميل الملف ال hex وعمل simulation للتاكد من سلامة البرنامج 3-استخدام برنامج proteus ( او eagle او protel او orcad ) لعمل الدائرة المطبوعة PCB 5-تنقيذ الدائرة المطبوعة عمليا لانتاج مشروع قابل للسويق
واليكم البداية وتكملة الموضوع تعتمد على مدى الاستجابة وابداء الراى بالمشركة وليس المشاهدة
موجزا سريع : يبدأ البرنامج (المجمع compiler ) بأظهارالمخطط السلمى ladder diagram حيث نقوم بكتابة البرنامج وفى النهاية يقوم بانتاج الكود الطبيعى-ملف هكسا *.HEX - لاى من الميكروكونترولر PIC & AVR
خضائص البرنامج :
1- يتعامل مع المدخلات والمخرجات الرقمية Digital input & output 2- يتعامل مع المؤقتات TIMERS(TON, TOF, RTO) 3- يتعامل مع العدادات (CTU, CTD, ‘circular counters’ for use like a sequencer) 4- يتعامل مع الدخل التماثلى وخرج تعديل عرض النبضة analog inputs, analog (PWM) outputs 5- يتعامل مع المتغيرات العددية والتعليمات الحسابية integer variables and arithmetic instructions 6-سهولة الاتصال المتتالى لكل من الكومبيوتر وشاشة الاظار السائلية او اى اجزة اخرى easy-to-use serial communications, to a PC, LCD, or other device 7- يتعامل مع مسجلات الازاحة والجداول shift registers, look-up tables 8- يتعامل مع متغيرات الذاكرة EEPROM 9-يمكننا من عمل تمثيل واختبار البرنامج قبل وضعه فى الميكروكونترولر simulator, to test your program before you generate PIC/AVR code والى اللقاءفى الحلقة القادمة
مقدمة
1-هندسة التحكم Control engineering تطورت مع مرور الزمن. في الماضي كان الانسان الوسيلة الرئيسية للسيطرة على النظام. وفي الآونة الأخيرة تم استخدام الكهرباء من أجل التحكم و الجيل الاول من التحكم الكهربائي كان يعتمد - يستند-اساساعلى الريلايات relays . هذه الريلايات سمحت للقدرة بالتوصيل والفصل ON –OFF بدون استخدام تحويلات – مفاتيح- ميكانيكية. ومن الشائع استخدام الريلايات لعمل انظمة تحكم منطقى بسيط logical control .
تطور الكومبيوتر رخيص الثمن ادى الى حدوث ثورة الا وهى اجهزة التحكم المبرمج Programmable Logic Controller (PLC) . بدأ ظهور PLC في عام 1970 وأصبح الخيار الأكثر شيوعالصناعة التحكم .
2-المنطق السلمى المنطق السلمى هو الطريقة الرئيسية المستخدمة في برمجة ال PLCs. المنطق السلمى كان تطوير لمنطق تقليد الريلايات mimic relay logic . ومن ثم كان قرار استخدام مخططات منطق الريلايات خيار استراتيجي وحيد. اختيار المنطق السلمى كطريقة رئيسية للبرمجة ادت الى تقليل المجهود و تكاليف اعادة تأهيل وتدريب المهندسين والفنيين والعاملين فى التسويق . نظم التحكم الحديثة ، لا تزال تتضمن الريلايات ولكن نادرا ما تستخدم في المنطق.
3-الريلاى جهاز بسيط يستخدم المجال المغناطيسي للتحكم فى التحويلswitch . عندما يطبق الجهد على مدخل الملف coil يؤدى الى مرور تيار وبدوره يخلق مجال مغناطيسي. المجال المغناطيسي يجذب – يسحب - معدن ميكانيزم التحويل تجاهه ويتم توصيل التلامسات والتحويل .
التلامس contact الذى يغلق عندما يتم تنشيط – تغذية - الملف يسمى مفتوح عادة Normally Open . التلامس الذى يكون مغلق عادة Normally Closed يتلامس عندما لا يكون الملف منشط ( لا توجد عليه تغذية ) .
عادة ما يتم الرسم التخطيطي للريلايات باستخدام شكل دائرة تمثل دخل الملف ( ).و تلامسات الخرج يتم تمثلها بخطين من الخطوط المتوازية . التلامسات المفتوحة عادة NO يتم تمثيلها بخطين وتكون مفتوحة – غير متصلة - عندما لا يغذى الملف l l . التلامسات المغلقة عادة NC يتم تمثيلها بخطين وخط قطرى بينهما l/l عندما لاتكون هناك تغذية على الملف هذه التلامسات مقفولة - فى حالة تلامس او توصيل -.
اسس البرمجة بلغة المنطق السلمى Ladder logic programming language 1- المخططات السلمى كمقدمة للمخطط السلمى اعتبر مخطط التوصيل البسيط المبين بالشكل 1a. المخطط يبين تشغيل وتبطيل محرك كهربائى . نستطيع اعادة هذا المخطط بطرسقة اخرى , باستخدام خطين راسيين يمثلان خطى دخول – توصيل – القدرة يسميان input power rails ونقل stringing باقى الدائرة بينهما . الشكل 1b يبين النتيجة . كلتا الدائرتين عبارة عن مفتاح على التوالى مع المحرك ويتم تغذيته بالقدرة الكهربية عند غلق المفتاح . الدائرة المبيينة بالشكل 1b تعرف بالمخطط السلمى
الشكل 1 يبين طرق رسم نفس الدائرة الكهربية فى هذا المخطط ( السلمى ) يتم تمثيل مصدر التغذية كخطين راسيين rails وباقى الدائرة بخطوط افقية . خطوط القدرة مثل الجانبين الراسيين للسلم وخطوط الدوائر الافقية كدرجات rungs . الدرجات الافقية تمثل فقط جزء التحكم للدائرة.
كتابة البرنامج تكافىءرسم الدائرة . فى النهاية يتكون المخطط السلمى من خطين راسيين يمثلان خطى القدرة .توصل الدوائر فى خطوط افقية - كدرجات السلم - بين الخطين الراسيين
2- قواعد واسس البرمجة كأى لغة من لغات البرمجة قواعد واسس يجب ماعاتها بدقة قبل لبدء فى كتابة البرنامج لكى ينجح عند رسم المخطط السلمى يجب الاخذ فى الاعتبار القواعد الاتية : 1- الخطوط الراسية للمخطط تمثل خطى القدرة والتى يتم بينها توصيل الدوائر . اتجاه تدفق القدرة يكون ماخوذا من الخط الراسى الايسر خلال السلم . 2-كل سلمة فى السلم تعرف عملية واحدة من عمليات التحكم . 3-يتم قراءة المخطط السلمى من اليسار الى اليمين ومن اعلا الى اسفل . الشكل 2 يوضح حركة المسح scanning حيث يتم قراءة السلمة العليا من اليسار الى اليمين ثم بعد ذلك الدرجة الى تليها الى اسفل تقرا من اليسار الى اليمين وهكذا الى اخر سلمة والتى يجب ان تحتوى على عبارة النهايةEND
شكل 2 طريقة مسح scanning المخطط السلمى
4-كل سلمة يجب ان تبدا بدخل واحد او اكثر ويجب ان تنتهى بخرج او اكثر . المقصود بكلمة دخل هو فعل تحكم control action مثل قفل تلامس مفتاح . والمقصود بكلمة خرج بجهاز device متصل بالخرج مثل ملف مرحل او كونتاكتور او لمبات 5-يتم بيان الاجهزة الكهربائية فى حالتها العادية normal . وهكذا فان المفتاح المفتوح عاديا يظهر مفتوحا فى المخطط السلمى حتى يحدث شىء يعمل على غلقه . والمفتاح المغلق عاديا يظهر مغلقا
*اى جهاز معين ممكن ان يظهر فى اكئر من سلمة .على سبيل المثال , قد يكون لدينا مرحل ويقوم بتحويل switches on جهاز واحد او اكثر . تستخدم نفس الحروف و او الارقام لعنونة الجهاز فى كل مكان .
*يعرف كل دخل وكل خرج بعنوانه الخاص وذلك حسب البرنامج المستخدم ( الصانع ) . هذا العنوان هو عنوان فى ذاكرة الميكرو كونترولر .
3—التعليمات الاساسية الخاصة بالبرمجة INSTRUCTIONS كأى لغة من لغات البرمجة هناك تعليمات هى الوحيدة التى يمكن استخدامها وذلك لان المترجم compiler لايفهم الا حسب القواعد والاسس المذكورة علاوة على هذه التعليمات 1-التلامسات CONTACTS *التلامس المفتوح عاديا Xname Rname Yname ----] [---- ----] [---- ----] [----
اذا كانت الاشارة الوصلة الى التعليمة : غير متواجدة ( يطلق عليها 0 او false او low ) فان اشارة خرجها غير متواجدة . اذا كانت الاشارة الواصلة للتعليمة متواجدة ( يطلق عليها 1 او true او high ) فان اشارة خرجها تكون متواجدة بشرط ان تكون التعليمة عاملة . *التلامس المغلق عاديا Xname Rname Yname ----]/[---- ----]/[---- ----]/[---- اذاكانت الاشارة الواصلة الى الى التعليمة غير موجودة فان اشارة خرجها تكون غير موجودة . اذا كانت الاشارة الواصلة الى التعليمة موجودة فان اشارة الخرج تكون موجودة بشرط ان تكون التعليمة غير عاملة . 2-الملفات COILS *الملف العادى NORMAL Rname Yname ----( )---- ----( )---- اذا كانت الاشارة الواصلة الى التعليمة غير متواجدة فان المرحل الداخلى او طرف الخرج ( الذى يمثله الملف ) يكون غير متواجد . اذا كانت الاشارة الواصلة الى التعليمة متواجدة فان المرحل الداخلى او طرف الخرج يكون موجودا . هذه التعليمة يجب ان تكون فى النهاية اليمنى للسلمة rung المتواجدة فيها . *الملف المعكوس NEGATED Rname Yname ----(/)---- ----(/)---- اذا كانت الاشارة الواصلة الى التعليمة متواجدة فان المرحل الداخلى او طرف الخرج ( الذى يمثله الملف ) يكون غير متواجد اذا كانت الاشارة الواصلة الى التعليمة غير متواجدة فان المرحل الداخلى او طرف الخرج سوف يكون متواجد . هذه التعليمة عكس تعليمة الملف ويجب ايضا ان تتواحد فى النهاية اليمنى للسلمة المتواجدة فيها .
مثال توضيحى بسيط : فى الدائرة الموضحة بالشكل : التلامس يمثل مفتاح وهو الدخل لاننا عن طريقه ندخل الامر والملف يمثل خرج لانة نتيجة نحصل عليها فى الشكل a تشغيل المفتاح (توصيل) يؤدى الى تشغيل ( توصيل ) الخرج والعكس . فى الشكل b تشغيل المفتاح يؤدى الى فصل الخرج والعكس
4-الرموز والدلالات notations المستخدمة فى البرنامج المستخدم ( تختلف من برنامج لاخر ) الحرف الاول يشير الى نوع الكائن : Xname يشير الى طرف من اطراف الميكروكونترولر ( يعبر عن دخل ) Yname يشير الى طرف من اطراف الميكروكونترولر ( يعبر عن خرج )
Rname يشير الى مرحل مساعد داخلى ( ويمثل بت bit فى الذاكرة ) يتم اختيار الاسم للكائن ( المتغير فى لغات البرمجة الاخرى ) name بحيث يعبر عن الكائن ( مثل مفتاح تشغيل اى دخل Xon ومفتاح ايقاف ايضا دخل Xoff ) وبحيث يكون وحيدا بمعنى ان الكائن الواحد يسمى باسم واحد فقط . ممكن للاسم ان يحتوى على حروف وارقام وعلامة (_) ولكنه يجب الايبدا برقم مع الاخد فى الاعتبار انه حساس لنوع الحرف case-sensitive .
فى الدرس القادم سوف نرى انه بمثل هذه التعليمات البسيطة يمكن عمل الدوائر المنطقية الاتية AND-OR- NOT NAND – NOR – XOR
واليكم رابط تحميل الملف كاملاً :
الدرس الاول فديو
من المعلوم ان الPIC هو اختصار لprephiral interface controller اى المتحكم ذو الواجه الطرفيه اى انه يمكن للمستخدم ان يتعامل معه عن طريق اطراف الدخل ولاخرج
وابسط نوع يمكن ان يتم التعليم عليه بسهوله هو PIC16f84
حيث انه يتكون من 35 instructions
والتى يمكن استخدمها فى لغه assembly
ولكنها معقده الى حد ما بالنسبه للغه السى
حيث يمكننا ان نعمل برامج بلغه السى يكون من الصعب جدا ان نصنعها بالassembly
اليكم شرح ال Software الرابط http://filaty.com/f/905/23029/shrh_al-_software-.zip.html
الدرس الثانى فديو الرابط http://filaty.com/f/905/88120/al-drs_al-tani_fdio-logic_gates.zip.html
الموضوع منقول لامانة العلمية ولمزيد من المعلومات عليكم برابط الموضوع الاصلي :
وبالتوفيق ان شاء الله ... | |
|
محمد عبدالله الصادق مراقب
عدد المساهمات : 190 النقاط : 264 تاريخ التسجيل : 13/07/2009 الاقامة : الخرطوم
| موضوع: رد: برمجة الميكروكونترولر PIC& AVR بالمخطط السلمى ladder diagram من البداية وحتى الاحتراف الثلاثاء يناير 19, 2010 3:23 pm | |
| مشكور يايس بس قصه الرد دىشنو | |
|
أحمدمحمدأحمدعبدالرحيم .:: الإدارة العامة للمنتدي ::.
عدد المساهمات : 3139 النقاط : 5401 تاريخ التسجيل : 14/06/2009 الاقامة : الدامر / حي الكنوز
| |