تسميات
إنتبه إلى أنه قد اعتمدنا التسميات التالية خلال هذه السلسلة:
تجد جميع مصطلحات مقالات هذه السلسلة في قاموس المصطلحات التابع لها. |
ملفات المقال
يمكنك تحميل ما يلي للاستفاذة أكثر من المقال: |
محاضرة المقال
{jumi [*3]}
برمجة بوابات الدخل والخرج في متحكمات AVR
التجربة الرابعة
تم وصل عشرة ثنائيات ضوئية إلى متحكم ATmega32A على القطب PIND.6 (“1”)i، وعشرة أخرى إلى القطب PIND.7 (“0”)i، والمطلوب: كتابة برنامج خفقان لكلا المجموعتين معاً كل 0.5S وتصميم دارة المفتاح الترانزستوري. |
|
الشكل 1: توصيل الثنائيات مع المتحكم عن طريق مفاتيح تحكم ترانزستورية للتجربة 4 |
|
أولاً: إن الترانزستور الذي قمنا باختيارهBC337 له المواصفات التالية: ICmax=800mA, VBE_saturate=0.65V, VCE_saturate=0.2V, hFE = 100, VCE_max=50V
ثانياً: نحسب تيار الحمل (IC) الكلي علماً أن: ILED = 10mA و VLED = 2.2V: IC = 10 × 10mA = 100mA
ثالثاً: نحسب مقاومة تحديد التيار RCواستطاعتها: Rc = (Vcc – VLED) / IC = (5 – 2.2) / 100 = 28Ω PRC = (Vcc –VLED) × IC=(5 – 2.2) × 100 = 280mW
رابعاً: نحسب قيمة التيار الأصغري اللازم لقيادة الترانزستور : IC = hfe × IB → IB = IC/ hfe =100 / 100 =1.0mA Pcmax = UCE × IC = 0.2 ×100 = 20mW
خامساً: الآن يمكن حساب قيمة مقاومة القاعدة واستطاعتها من العلاقة التالية: RB = (VP – VBE) / IB= (5 – 0.7) / 1 = 4.3KΩ PRC = (VP – VBE) × IB =5 – 0.7 × 1 = 4.3mW
|
|
البرنامج Exp.04.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
التجربة الخامسة
التحكم بمصباح كهربائي 36V تياره 5A عن طريق متحكم ATmega32A على القطب PIND.7، وكتابة برنامج بحيث يخفق المصباح كل 1Secعلماً أن جهد تغذية وشيعة المُرَحّل هو 5V وتيار تشغيل وشيعة هو 100mA. |
|
الشكل 2: توصيل المُرَحّل مع المتحكم عن طريق مفتاح تحكم ترانزستوري للتجربة 5 |
|
البرنامج Exp.05.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
التحكم بالمُرَحّل باستخدام مفتاح ترانزستوري ثنائي القطبية
يستخدم المُرَحّل (Relay) للتحكم بأحمال التيار المستمر والمتناوب التي لا تتطلب تحكماً سريعاً بالوصل والفصل – أي أن المُرَحّل يستخدم كقاطع ميكانيكي متحكم به كهربائياً. يتوفر المُرَحّل التجاري بجهود تحكم ذات مجال واسع نسبياً ومن هذه الجهود نذكر: 3V و 5V و 6V و 9V و 12V و 15V و 24V و 36V و 48V و 60V. كما أن التيار الذي يستجره وشيعة تشغيل المُرَحّل يتراوح من 30mA إلى 300mA وذلك حسب حجم واستطاعة المُرَحّل ويتناسب مع ذلك تناسباً طردياً. |
||
الشكل 3: رسم تمثيلي للبنية الداخلية للمرحل |
||
الشكل 4: رسم تفصيلي للبنية الداخلية للمرحل |
||
يتألف المُرَحّل من وشيعة وهو مسؤول عن فصل ووصل المُرَحّل (التحكم)، ومن تماسات استطاعية لقيادة الحمل واستطاعتها تختلف من مرحل لأخرى، ولكن معظم المُرَحّلات المستخدمة في الدارات الإلكترونية تكون تماساتها قادرة على قيادة حمل بتيار من 3 إلى 10A عند جهد تشغيل الشبكة 220V. |
||
يبين الشكل 3 والشكل 4 رسماً تفصيلياً للبنية الداخلية للمرحل حيث أنه عندما يتم تغذية وشيعة المُرَحّل فإن الزراع الذي يحمل التماس المتحرك سوف ينجذب ويلامس التماس الثابت مؤدياً إلى وصل الدارة، وعندما تفقد الوشيعة تهييجها تؤثر قوة النابض العكسية على الذراع وتعيده إلى وضعيته الأساسية.
يبين الشكل 5 دارة تحكم بمرحل تعمل وشيعته على جهد 12V وتتحكم بدورها بعمل مصباح تيار مستمر جهد تشغيله 24V، حيث أنه عند تطبيق “1” على قطب بوابة المتحكم فإن الترانزستور سوف يغلق مؤدياً إلى وصل النقطة الأرضية إلى الطرف الثاني من وشيعة المُرَحّل، فتتهيج الوشيعة مؤدياً بدوره إلى جذب تماس المُرَحّل K1 وإغلاق النقطتين P و S، وعندها يضيء المصباح الكهربائي.
ملاحظة: من أجل حماية الترانزستور من أن يتم تدميره (حرقه) بسبب تيار التفريغ العكسي لوشيعة المُرَحّل عند فصل الترانزستور، يتم إضافة صمام ثنائي على التوازي مع وشيعة المُرَحّل (D1) يسمى صمام ثنائي المسار الحر والذي بدوره يشكل حلقة مغلقة لتفريغ تيار الوشيعة عند قطع الترانزستور.
يبين الشكل 6 دارة عملية لقيادة مصباح كهربائي متناوب ذو جهد 220V وتيار 1A عن طريق مرحل متحكم بها من متحكم مصغر. |
||
الشكل 5: التحكم بحمل باستخدام مرحل |
||
الشكل 6: قيادة مصباح كهربائي متناوب عن طريق مرحل متحكم به من متحكم مصغر |
وصل المفاتيح اللحظية مع المتحكم المصغر
يوجد طريقتين لوصل المفاتيح مع أقطاب المتحكم المصغر:
|
||
على الشكل 7 وعند ضغط المفتاح يتم توصيل النقطة الأرضية إلى قطب المتحكم، اما عند تحرير المفتاح فيتم تطبيق التغذية 5V+ على مدخل قطب المتحكم. وبالعكس تماماً تكون الحالة في طريقة التوصيل المبينة على الشكل 8. وفي كلا الحالتين يقوم المتحكم في برنامجه الرئيسي بفحص حالة التغير على القطب المتصل مع المفتاح. |
|
|
|
|
|
الشكل 7: توصيل المفتاح ليكون فعال عند “0” |
الشكل 8: توصيل المفتاح ليكون فعال عند “1” |
|
إن المفاتيح الميكانيكية لها تأثير سلبي عند ضغطها وتحريرها يسمى بالعطالة الميكانيكية للمفتاح والتي بدورها تسبب نشوء تغيرات سريعة في الإشارة على قطب المتحكم، هذه التغيرات ناتجة عن الاهتزاز الميكانيكي للمفتاح قبل أن تستقر الإشارة على الحالة المنطقية الحقيقية كما هو مبين على الشكل 9. |
||
الشكل 9: أثر العطالة الميكانيكية للمفتاح عند ضغطه وتحريره |
||
بشكل عام يوجد طريقتين للتخلص من العطالة الميكانيكية للمفاتيح وهما:
|
||
الشكل 11: التخلص من الاهتزاز الميكانيكي للمفتاح (“1”) |
الشكل 10: التخلص من الاهتزاز الميكانيكي للمفتاح (“0”) |
مقاومات الرفع والسحب
(Pull-up & Pull-down Resistors)
بالعودة إلى الشكل 7 أو الشكل 10 والذي تم فيهما توصيل المفتاح ليكون فعالاً عند “0” – أي بالضغط على المفتاح سيتم تطبيق صفر منطقي على قطب الدخل – فإن المقاومة R1 تمثل مقاومة رفع وظيفتها تأمين القيمة المنطقية “1” (5V+) على مدخل القطب عندما يكون المفتاح غير مضغوط، وبدونها ستكون الحالة على قطب الدخل غير معرّفة. بالعودة إلى الشكل 8 أو الشكل 11 والذي تم فيهما توصيل المفتاح ليكون فعالاً عند “1” – أي بالضغط على المفتاح سيتم تطبيق واحد منطقي على قطب الدخل – فإن المقاومة R3 تمثل مقاومة سحب وظيفتها تأمين القيمة المنطقية “0” (GND) على مدخل القطب عندما يكون المفتاح غير مضغوط، وبدونها ستكون الحالة على قطب الدخل غير معرّفة. قيمة مقاومات الرفع أو السبح تتراوح عادة بين القيمة 10KΩ و 50KΩ. هل يمكن الاستغناء عن مقاومة الرفع الخارجية في الشكل 7 والشكل 10 عند وصل المفتاح إلى قطب متحكم AVR؟ |
الشكل 12: مخطط البنية الداخلية لقطب دخل/خرج لمتحكم AVR |
تمتلك أقطاب متحكمات AVR عند استخدامها كأقطاب دخل مقاومات رفع داخلية قيمتها RPU = 50KΩ كما هو مبين على الشكل 12 وهو مخطط البنية الداخلية لقطب دخل/خرج لمتحكم AVR. يمكن تفعيل أو إلغاء تفعيل هذه المقاومة لكل قطب دخل على حدى وبشكل افتراضي تكون هذه المقاومات غير مفعلة.
ملاحظة: لا تملك متحكمات AVR مقاومات سحب داخلية وبالتالي يجب وضع مقاومات سحب خارجية من أجل التوصيلات في الشكل 8 والشكل 11. |
تعليمات تعريف الأقطاب كمداخل في Bascom-AVR
وظيفة التعليمة |
شكل التعليمة |
تعريف البوابة C كبوابة دخل |
ConfigPORTC=Input |
تعريف القطب رقم 5 من البوابة C كقطب دخل |
ConfigPINC.5 =Input |
تفعيل مقاومات الرفع الداخلية للبوابة C كاملةً |
PORTC=255 |
إلغاء تفعيل مقاومات الرفع الداخلية للبوابة C كاملةً |
PORTC=0 |
تفعيل مقاومة الرفع الداخلية للقطب رقم 5 فقط من البوابة C |
PINC.5 = 1 |
إلغاء تفعيل مقاومة الرفع الداخلية للقطب رقم 5 فقط من البوابة C |
PINC.5 = 0 |
تفعيل بعض مقاومات الرفع الداخلية للبوابة C (PIN.4,5,6,7)i |
PORTC= &B11110000 |
يمكن استخدام هذا الشكل لتعريف الأقطاب من البوابة كدخل/خرج حيث أن (0) تعني قطب دخل، و (1) تعني قطب خرج. |
ConfigPORTC=&B11110000 |
يصرح إلى أن PINC سوف يشار إليها أثناء البرنامج بالاسم (SWs) |
SWs Alias PINC |
يصرح إلى أن القطب PINC.5 سوف يشار إليه بالاسم (SW) |
SW Alias PINC.0 |
التجربة السادسة
المطلوب التحكم بتشغيل وفصل المُرَحّل في التجربة الخامسة باستخدام مفتاح لحظي موصول إلى القطب PINB.0، بحيث أنه عند ضغط المفتاح تعمل المُرَحّل وعند تحرير المفتاح تفصل المُرَحّل - باستخدام مقاومة رفع خارجية. |
|
الشكل 13: التحكم بالمُرَحّل عن طريق مفتاح لحظي |
|
البرنامج Exp.06.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
|
ملاحظة: من أجل الاستغناء عن مقاومة الرفع الخارجية وتفعيل مقاومة الرفع الداخلية فإن كل ما نحتاجه هو إضافة تعليمة تفعيل مقاومة الرفع الداخلية للقطب PINB.0 بعد تعليمة تفعيل القطب وهي: PORTB.0 = 1 |
التجربة السابعة
المطلوب التحكم بتشغيل وفصل ثمانية ثنائيات ضوئية موصولة إلى البوابة PORTC باستخدام مفتاح DIP-Switch موصول إلى البوابة PINB، بحيث أنه عند تفعيل المفتاح (on) يعمل الثنائي الموافق لرقم المفتاح وعند إلغاء تفعيل المفتاح (off) سوف يتوقف عمل الثنائي مع مراعات استخدام مقاومات الرفع الداخلية لبوابة الدخل PORTC. |
|
الشكل 14: توصيل المفاتيح الانزلاقية DIP-Switch |
|
البرنامج Exp.07.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
تعليمات قراءة حالة مفتاح موصول إلى قطب دخل في Bascom
إن التجربة السادسة تضمنت قراءة حالة مفتاح لحظي من خلال قراءة القيمة الموجودة على القطب المتصل معه المفتاح، ومبدأ التخلص من العطالة الميكانيكية استخدم مكثف خارجي مع القطب. وتضمنت الفقرة 3-4 طريقتان للتخلص من العطالة الميكانيكية للمفاتيح، حيث أن الطريقة الثانية تستخدم تأخير زمني برمجي. التعليمات التالية يمكن استخدامها كتعليمات برمجية جاهزة في البيئة Bascom تسهل إلى حد كبير التعامل مع المفاتيح اللحظية وإضافة تأخير زمني. |
وظيفة التعليمة |
شكل التعليمة |
يراقب حالة القطب المحدد فيPx.y كلما مر عليه، وعندما تصبح حالته موافقة للحالة المحددة في state، سوف يقفز إلى البرنامج الفرعي عند اللافتة label وينفذ البرنامج ويعود. |
Debounce Px.y, state , label ,Sub
Ex. Debounce Key1 , 0 , Sw1 ,Sub |
تهيئة زمن تأخير (ميلي ثانية) عن استعمال تعليمة Debounce للتخلص من العطالة الميكانيكية للمفتاح. |
ConfigDebounce= time |
سوف يقف البرنامج عند هذه التعليمة وينتظر أن تصبح حالة القطب صفر (reset) أو واحد (set) منطقي ليكمل البرنامج. |
Bitwait x , Set/reset
Ex. Bitwait Pinb.7 ,reset |
التجربة الثامنة
يوجد على اللوحة التعليمية Mini-Phoenix ثلاث مفاتيح لحظية موصولة إلى الأقطاب Pind2, Pind3, Pinb.2، كما يوجد ثمانية صمامات ضوئية (Leds) موصولة إلى البوابة PortC،
والمطلوب: باستخدام التعليمة الشرطية If تغيير حالة عمل (Toggle) الثنائي D1 عن الضغط على المفتاح S1، وتغيير حالة D2 عند الضغط على S2، وتغيير حالة D3 عند الضغط على S3. |
الشكل 15: توصيل المفاتيح اللحظية الثنائيات مع المتحكم ATmega32A على اللوحة Mini-Phoenix |
البرنامج Exp.08.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
التجربة التاسعة
المطلوب تعديل البرنامج في التجربة الثامنة باستبدال التعليمة الشرطية If بالتعليمة Debounce.
|
البرنامج Exp.09.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
التجربة العاشرة
المطلوب تعديل البرنامج في التجربة الثامنة باستبدال التعليمة الشرطية If بالتعليمة Bitwait.
|
البرنامج Exp.10.bas في بيئة BASCOM-AVR: ' ****************************************************************************** |
الحقوق الفكرية
حقوق النشر محفوطة م.وليد بليد Copyright © 2012 Walid Balid All rights reserved |
تأليف
المؤلف: وليد بليد (سوريا)
{jumi [*3]}