قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 07-04-2012, 06:32 PM المشاركة 1   
افتراضي بداية جديدة : تبسيط برمجة الإلكترونيات الرقمية وأجهزة PLC باستخدام لغة السى Twitter FaceBook Google+



بداية جديدة : تبسيط برمجة الإلكترونيات الرقمية وأجهزة PLC باستخدام لغة السى والميكروسى برو .
أولا : البوابات المنطقية Logic gates
1- البوابة المنطقية AND :




الدائرة الكهربية السابقة تمثل وظيفة البوابة المنطقية AND . المصباح LAMP1 سوف يضىء فقط عندما يكون المفتاح SWITCH1 "و" AND المفتاح SWITCH2 فى حالة توصيل ON .
يمكن التعبير عن منطق هذه الوظيفة بتعبير يسمى تعبير بول Boolean expression بالشكل التالى :


Lamp1 = (Switch1) • (Switch2)

كما يمكن التعبير عن هذه الوظيفة فى الإلكترونيات الرقمية بالرمز التالى :






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





هذا السطر أو الخط يسمى "درجة" rung والسبب فى هذه التسمية هو أنه بإضافة أسطر (خطوط) لدوائر أخرى إلى المخطط فسوف يتكون من قضيبى القدرة (القوائم) ودرجات ويبدأ فى الشبه بالسلم ولذلك يسمى المخطط حينئذ بمخطط السلمLadder .
يوجد بعض الإضافات الهامة التى تمت إضافتها إلى جانب المفتاحين والمصباح . لاحظ أن الأسلاك المضافة تم تخصيص أرقام لها فأصبح لدينا السلك رقم 3 والسلك رقم 4 كما تم تخصيص أسماء مرجعية للمكونات المضافة فأبح لدينا المفتاح الضاغط الأول PB1 والمفتاح الضاغط الثانى PB2 والمصباح L1 . لاحظ أيضا أن المفاتيج موجودة فى الجانب الأيسر والمصباح موجود فى نهاية الجانب الأيمن وهذا هو المتفق عليه عياريا عند تصميم ورسم الدوائر الكهربية . أجهزة التحكم ( المفاتيح فى هذه الحالة) توضع دائما فى الجاب الأيسر من الدرجة بينما الأجهزة المتحكم فيها ( المصباح فى هذه الحالة) دائما توضع فى الجانب الأيمن من الدرجة . ولقد تم عمل هذا المخطط بهذا الشكل لأغراض الأمان Safety . لنفترض على سبيل المثال أننا وضعنا المصباح فى الجانب الأيسر والمفاتيح فى الجانب الأيمن . عند حدوث قصر مع الأرضى فى الوصلات ما بين المصباح والمفاتيح عندئذ سوف يضىء المصباح بدون الضغط على أى مفتاح . إضاءة المصباح عن غير قصد ليست مشكلة خطيرة ولكن نفترض أنه بدلا من المصباح كان لدينا ملف coil لريلاى والذى يقوم ببدء آلة . هذا يعنى أن القصر سوف يتسبب فى بدء الآلة بدون أى سابق إنذار . عن طريق التوصيل الصحيح للجهاز الذى يتم التحكم فيه ( يسمى الحمل load ) فى الجانب الأيمن فإن حدوث قصر سوف يتسبب فى إنصهار مصهر (فيوز) الحماية عند تفعيل الدرجة وبالتالى فصل دائرة التحكم فى الآلة ومن ثم إيقافها تماما .

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 07-04-2012, 06:39 PM المشاركة 2   
افتراضي


خطوات البرمجة بلغة السى والميكروسى برو :
الدائرة الكهربية :





أسس البرمجة :

1- كل مفتاح ( أو حساس رقمى) يمثل مدخل Input رقمى لطرف Pin من أطراف منفذ Port للميكروكونترولر وهو عبارة عن بت bit بهذا المنفذ لذلك يجب تعريفه بالصيغة :


كود:
sbit PB1 at PORTC.B0; sbit PB2 at PORTC.B1;
مع إعداد هذه الأطراف كمداخل TRISC.B0=1و TRISC.B1=1 أو TRISC=0xFF دفعة واحدة.

2- المصباح (أو ملف الريلاى أو الترانزستور أو ...) يمثل مخرج Output رقمى على طرف من أطراف منفذ للميكروكونترولر وهو عبارة عن بت bit بهذا المنفذ لذلك يجب تعريفة بالصيغة :

كود:
sbit L1 at PORTD.B0;
مع إعداد هذا الطرف كمخرج TRISD.B0=0 أو TRISD=0

3- يستخدم العامل "&" فى تنفيذ العملية المنطقية AND حيث يقوم بالمقارنة بين زوج من البتات (بت قيله وبت بعده) ويعود (يعطى) بنتيجة المقارنة وهى إما الواحد إذا كان كلا البتين بواحد , وإلا كانت نتيجة المقارنة (العائد) بصفر وتكون الصيغة كما يلى "

كود:
L1= (PB1&PB2);
4- وضع هذه الخطوات فى شكل برنامج كما يلى :


كود:
 
/*
1- Logic AND Operation
Eng.F.ABDELAZIZ
*/
sbit PB1 at PORTC.B0; sbit PB2 at PORTC.B1; sbit L1 at PORTD.B0;
void main() {
TRISC=0xFF ;// All PORTC as Inputs TRISD=0;//All PORTD as Outputs PORTC=0;//Clear PORTD=0;//Clear
while(1) {
L1= (PB1&PB2);// Only If PB1=1 AND PB2=1 then L1=1
} }

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 07-04-2012, 10:48 PM المشاركة 3   
افتراضي


1- البوابة المنطقية "أو" OR :




يمكن إتباع نفس النهج لوظيفة OR . الدائرة تبين مفتاحين متصلان لتحقيق الوظيفة OR للتكم فى المصباح LAMP2 . كما هو واضح من الدائرة , سوف يضىء المصباح إذا تم غلق المفتاح SWITCH1 أو OR المفتاح SWITCH2 أى الضغط على أى من المفتاحين سوف يتسبب فى إضاءة المصباح LAMP2 . تعبير بول لهذه الدائرة كما يلى :


Lamp2 = (Switch1) + (Switch2)


والرمز فى الإلكترونيات الرقمية هو كما يلى :




الآن يمكننا إضافة هذه الدائرة إلى مخطط السلم السابق كدرجة أخرى كما فى الشكل التالى :






لاحظ حيث أن المفتاحين SWITCH1 و SWITCH2 هما نفسها المستخدمة فى الدرجة العليا فسيكون لها نفس الأسماء ونفس الرمز المرجعى . هذا يعنى أن كل من المفتاحين له تلامسين مفتوحين فى الوضع الطبيعة NO .
عندما يكون لدينا عنصرين أو أكثر على التوازى فى الدرجة يسمى كل مسار متوازى بالفرع branch. هنا لدسنا فى الدرجة الثانية فرعين أحدهما بالمفتاح PB1 والثانى بالمفتاح PB2 . أيضا يمكن أن يكون لدينا فروع جهة الحمل . على سبيل المثال يمكننا وضع مصباح آخر على التوازى مع المصباح LAMP2 وبالتالى يتم خلق فرع جهة الحمل .
من المهم ملاحظة أنه فى مخطط السلم من الممكن إبدال الدرجة الأولى بالدرجة الثانية دون التأثير على طريقة تشغيل المصابيح . وهذا أحد مميزات استخدام مخطط السلم . يمكن ترتيب الدرجات بأى ترتيب دون تغيير طريقة تشغيل الآلة . هذا يسمح للمصمم بتجزءة وتنظيم دوائر التحكم حتى تصبح سهلة للفهم واكتشاف الأعطال . مع ذلك يجب ملاحظة أن ترتيب الدرجات هام عن إنشاء المتحكمات حتى يتم التحكم وفق تسلسل مبرمج .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 07-04-2012, 10:57 PM المشاركة 4   
افتراضي


خطوات البرمجة بلغة السى والميكروسى برو :

الدائرة الكهربية :




  • يتم تعريف طرف الخرج الخاص بالمصباح L2 .
  • وإضافة عبارة تحتوى على العمل OR و "|" .
  • يستخدم العامل "|" فى تنفيذ العملية المنطقية OR حيث يقوم بالمقارنة بين زوج من البتات (بت قبله وبت بعده) ويعود (يعطى) بنتيجة المقارنة وهى إما الواحد إذا كان أى من البتين بواحد , وإلا كانت نتيجة المقارنة (العائد) بصفر وتكون الصيغة كما يلى :
كود:
L2= (PB1 | PB2);

يصبح البرنامج كما يلى :


كود:
/* 1- Logic OR Operation Eng.F.ABDELAZIZ http://www.eeecb.com/vb/index.php */ sbit PB1 at PORTC.B0; sbit PB2 at PORTC.B1; sbit L1 at PORTD.B0; sbit L2 at PORTD.B1; void main() { TRISC=0xFF ; // All PORTC as Inputs TRISD=0; //All PORTD as Outputs PORTC=0; //Clear PORTD=0; //Clear while(1) { L1= (PB1 & PB2); // Only If PB1=1 AND PB2=1 then L1=1 L2=(PB1 | PB2); // If PB1=1 OR PB2=1 Then L2=1 } }


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 08-04-2012, 12:48 AM المشاركة 5   
افتراضي


البوابات المختلطة AND OR ( ANDs يليها OR) و OR AND ( ORs يليها AND)
دعونا نعقد الدائرة إلى حد ما . انفترض أننا أضفنا مفتاحين إضافيين إلى الدائرة السابقة وتم إعادة التوصيل كما فى الشكل التالى :





لاحظ أنه قد تم إضافة المفتاحين SWITCH3 و SWITCH4 . يضىء المصباح LAMP3 إذا ( تم توصيل كل من المفتاح SWITCH1 و AND المفتاح SWITCH2 ) أو إذا ( تم توصيل كل من المفتاحين SWITCH3 و AND المفتاح SWITCH4 ) . هذه الدائرة تسمى دائرة AND-OR . تعبير بول لهذه الدائرة كما يلى :



Lamp3 = (Switch1• Switch2) + (Switch3• Switch4)

عكس هذه الدائرة يسمى دائرة OR-AND كما فى الشكل التالى :





فى هذه الدائرة سوف يضىء المصباح LAMP4 حينما ( يتم توصيل المفتاح SWITCH1 أو OR المفتاح SWITCH2 ) و AND حينما ( يتم توصيل المفتاح SWITCH3 أو OR المفتاح SWITCH4 ) .
فى مثل هذه الدوائر المنطقية المعقدة يكون من المفيد عمل قائمة بجميع توليفات المداخل (المفاتيح) الممكنة والتى سوف تعمل على تنشيط الدرجة . فى دائرة OR-AND هذه المصباح LAMP4 سوف يضىء عند توليفات المفاتيح التالية :


SWITCH1 and SWITCH3
SWITCH1 and SWITCH4
SWITCH2 and SWITCH3
SWITCH2 and SWITCH4
SWITCH1 and SWITCH2 and SWITCH3
SWITCH1 and SWITCH2 and SWITCH4
SWITCH1 and SWITCH3 and SWITCH4
SWITCH2 and SWITCH3 and SWITCH4
SWITCH1 and SWITCH2 and SWITCH3 and SWITCH4
تعبير بول لدائرة OR-AND كما يلى :
Lamp3 = (Switch1+ Switch2) • (Switch3+ Switch4)
الآن سوف يتم إضافة هذين الدرحتين إلى مخطط السلم ليصبح كما فى الشكل التالى :









دقق النظر بالدائرة وتتبع مسارات القدرة الممكنة والتى تؤدى إلى إضاءة المصباح LAMP3 والمصباح LAMP4 . لابد أنك لاحظت وجود مسارين محتملين للمصباح LAMP3 هما :

SWITCH1 AND SWITCH2
SWITCH3 AND SWITCH4

أى من هذين المسارين يسمح بإضاءة المصباح .
بالنسبة للمصباح LAMP4 لابد أنك لاحظت وجود أربعة مسارات ممكنة لإضأته وهى :

SWITCH1 AND SWITCH3
SWITCH1 AND SWITCH4
SWITCH2 AND SWITCH3
SWITCH2 AND SWITCH4.
أى من هذه المسارات يؤدى إلى إضاءة المصباح LAMP4 .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 08-04-2012, 12:56 AM المشاركة 6   
افتراضي


البرمجة بلغة السى :
الدائرة الكهربية :



البرنامج :



كود:
/* 3- AND-OR --- OR-AND Eng.F.ABDELAZIZ http://www.eeecb.com/vb/index.php */ sbit PB1 at PORTC.B0; sbit PB2 at PORTC.B1; sbit PB3 at PORTC.B2; sbit PB4 at PORTC.B3; sbit L1 at PORTD.B0; sbit L2 at PORTD.B1; sbit L3 at PORTD.B2; sbit L4 at PORTD.B3; void main() { TRISC=0xFF ; // All PORTC as Inputs TRISD=0; //All PORTD as Outputs PORTC=0; //Clear PORTD=0; //Clear while(1) { if (PB1 & PB2) L1=1; else L1=0; if (PB1 | PB2) L2=1; else L2=0; if ((PB1 & PB2) | (PB3 & PB4)) L3=1 ; else L3=0 ; if ((PB1 | PB2) & (PB3 | PB4) ) L4=1;else L4=0; } }


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 08-04-2012, 09:35 AM المشاركة 7   
افتراضي


ريلاى "إحكام الغلق" ذو المزلاج (الترباس) Latch
فى بعض الأحيان يكون من الضرورى وجود ريلاى بمزلاج (ترباس) latch بحيث إذا تم فصل الجهاز الذى قام بتشغيل on هذا الريلاى يظل الريلاى فى حالة توصيل on . هذا الريلاى مفيد من أجع جعل توصيل المفتاح الضاغظ لحظيا كما لو كان محافظا على حالة التوصيل بعد رفع الضغط عنه .
على سبيل المثال المفاتيح الضاغطة التى تقوم بتوصيل وفصل الماكينة . يمكن فعل ذلك بمفاتيح ضاغطة لحظيا إذا تم ضم ريلاى إلى الدائرة بحيث يوصل كريلاى بمزلاج كما هو موضح بالشكل التالى (المحول والفيوز غير موضحة بالشكل للتوضيح ) :




تتبع المخطط لتتعرف على طريقة عمل الدائرة :
فى البداية , عند توصيل القدرة يكون الريلاى CR1 فى البداية غير نشط de-energized وتلامساته CR1 المفتوحة فى الوضع العادى NO الموجودة على التوازى مع المفتاح S1 مفتوحة أيضا . وحيث أن المفتاح S1 لم يتم الضغط عليه بعد فلا يوجد مسار (طريق) لمرور التيار خلال الدرجة rung ونكون فى وضع الفصل OFF . بعد ذلك نقوم بالضغط على مفتاح البدء START وهو S1 . هذا المفتاح يوفر مسار لمرو التيار من خلال المفتاح S1 والمفتاح S2 وملف الريلاى CR1 والذى يؤدى إلى تنشيط الريلاى CR1 . بمجرد تنشيط الريلاى CR1 تتحولا تلامساته CR1 إلى حالة الغلق close . عند هذه النقطة نحن لسنا بحاجة لبقاء المفتاح S1 فى حالة توصيل حيث تم توفير مسار بديل لمرور التيار خلال الدرجة من خلال التلامسات CR1 المغلقة حاليا و التلامس المغلق فى الوضع الطبيعى NC للمفتاح الضاغط S2 , عندئذ يمكننا تحرير المفتاح S1 وسوف يظل الريلاى CR1 فى حالة تنشيط . . التلامس CR1 يقوم بعمل "المزلاج" latch ليحفظ الدائرة فى حالة توصيل on ولذلك يسمى هذا التلامس "تلامس المزلاج" أو تلامس إحكام الغلق .
يتم فصل الدائرة عن طريق الضغط على المفتاح الضاغط للإيقاف STOP وهو S2 . هذا المفتاح يقوم بقطع مرور التيار خلال الدرجة مما يؤدى إلى عدم تنشيط ملف الريلاىCR1 وفتح التلامسات CR1 المتوازية مع المفتاح S1 . عند تحرير المفتاح الضاغط S2 سوف تظل حالة عدم مرور تيار خلال الدرجة لأن كل من المفتاح S1 والتلامس CR1 مفتوحين .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 08-04-2012, 09:40 AM المشاركة 8   
افتراضي


البرمجة بلغة السى والميكروسى برو :
الدائرة الكهربية :



البرنامج :



كود:
/* 4- LATCH RELAY Eng.F.ABDELAZIZ http://www.eeecb.com/vb/index.php */ sbit START at PORTC.B0; sbit STOP at PORTC.B1; sbit LATCH at PORTD.B0; void main() { TRISC=0xFF ; // All PORTC as Inputs TRISD=0; //All PORTD as Outputs PORTC=0; //Clear PORTD=0; //Clear while(1) { LATCH=((START | LATCH) & ~STOP); } }

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:32 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025