تسميات
إنتبه إلى أنه قد اعتمدنا التسميات التالية خلال هذه السلسلة:
تجد جميع مصطلحات مقالات هذه السلسلة في قاموس المصطلحات التابع لها. |
ملفات المقال
يمكنك تحميل ما يلي للاستفاذة أكثر من المقال: |
محاضرة المقال
{jumi [*3]}
الـتغذية الكهربائية للمتحكم وتردد التشغيل القصوي
بقدر ماتكون التغذية الكهربائية الرئيسية – لأي دارة إلكترونية – مصممة بشكل جيد وفق اعتبارات تصميمية قياسية، بقدر ما يكون عمل العناصر الإلكترونية في الدارة مستقراً وقريباً من منحني العمل الأمثلي. إن التغذية الكهربائية التي توصل للمتحكم المصغر هي بمثابة الروح التي تبث الحياة والحركة في المتحكم المصغر، كما أن استهلاك التغذية في المتحكم يتعلق مباشرة بسرعة عمل المتحكم المصغر، حيث أنه كلما ازداد تردد عمل المعالج، ازداد استهلاك التغذية في المعالج. |
|
الشكل 1: منحني العمل الآمن للمعالج نسبة إلى التغذية المطبقة من أجل كل كامل مجال تردد التشغيل |
الشكل 1 يبين منحني العمل الآمن للمعالج نسبة إلى التغذية المطبقة من أجل كل تردد عمل. من أجل متحكم مصغر من العائلة "AVR" فإن التغذية 4.5Vستؤمن عمل آمن للمعالج عند كامل مجال تردد الهزاز الكريستالي، أما من أجل جهد تغذية "3V" فإن أقصى سرعة عمل للمتحكم يجب أن لا تزيد عن "8MHZ" لكي يبقى المعالج ضمن منطقة العمل الآمنة. |
نطاقات قيم التشغيل القصوية
أحد أهم النطاقات التي يجب أن تؤخذ بعين الاعتبار عن ربط أقطاب المتحكم إلى الأحمال هو التيار القصوي المستهلك من قطب المتحكم (Vcc-to-Gnd). |
||
إن قيمة التيار التي يمكن سحبها أو تصريفها لقطب دخل/خرج من أقطاب المتحكم تتراوح عادة من 20mA إلى 40mA حسب المواصفات الكهربائية للمتحكم المصغر. كما أن التيار القصوي الذي يمكن سحبه أو تصريفه عن طريق المتحكم بشكل كلي بالنسبة لمتحكمات AVR هو 200mA.
يبين الشكل 2 معدلات القيم الكهربائية القصوية لمتحكمات العائلة AVR. |
|
|
الشكل 2: معدلات قيم التشغيل القصوية لمتحكمات العائلة AVR |
||
إن التيار القصوي الذي يمكن استجراره من المتحكم هو مجموع تيارات الأقطاب إضافةً إلى تيار التشغيل للمتحكم، وإن زيادة التيار فوق الحدود العظمى سوف يؤدي إلى عطل دائم في المتحكم ويتوجب بعدها تغييره. في الشكل 3 تم استخدام ثمانية أقطاب من متحكم مصغر كأقطاب خرج لتشغيل ثنائيات ثمانية ضوئية. |
|
|
الشكل 3: توصيل ثنائيات ضوئية إلى أقطاب متحكم مصغر |
||
إن التيار القصوي المسحوب من المتحكم هو مجموع تيارات الثنائيات الثمانية بالإضافة لتيار عمل المتحكم ويمكن حسابه بالشكل: Itotal = Ioperating_current + (8 × ILED)
بافتراض أن جهد عمل الثنائي الضوئي هو 2V وقيمة المقاومة التسلسلية (مقاومة تحديد تيار عمل الثنائي الضوئي) هي 150Ω، فيمكن حساب قيمة التيار المستجر من كل قطب من العلاقة التالية: ILED = V / R = (5 - 2) / 150 = 20mA
كما أن تيار عمل المتحكم من العائلة AVR في النمط الفعال هو 2.4mA، وبالتالي يمكن حساب التيار الكلي من العلاقة: Itotal = 2.5mA + 8 × ILED = 8 × 20mA = 162.5mA
كما هو واضح فإن هذه القيمة تقترب من القيمة العظمة للتيار المسموح استجراره من متحكمات العائلة AVR والذي هو 200mA، بينما تفوق القيمة العظمة للتيار المسموح استجراره من متحكمات العائلة PIC والذي هو 90mA. وبالتالي فإن حساب التيارات المسحوبة من أقطاب المتحكم يعتبر من أهم الأمور التي يجب دراستها في بداية أي مشروع وهو ما سوف نناقشه فيما يأتي.
ملاحظة: عملياً ينصح بأن لا يتجاوز التيار المسحوب من المتحكم نصف قيمة التيار القصوي المسموح به لتخفيض ضجيج العمل وللتأكد من أن المتحكم قادر على تيار لعمل الأحمال الموصولة معه بشكل جيد. |
تسلسل كتابة برنامج في Bascom-AVR
من أجل كتابة كود برمجي متماسك ومفهوم مع إمكانية تطويره بسهولة مستقبلاً، فإنه يجب الالتزام بالهيكلية التالية في مراحل كتابته:
|
|
الشكل 4: تسلسل كتابة برنامج لمتحكم مصغر |
خطوات كتابة كود برمجي في البيئة Bascom-AVR
|
|
الشكل 5: محرر التعليمات ونافذة تتبع الأخطاء في البيئة Bascom-AVR |
التعليمات الأساسية في Bascom-AVR
تعليمات التوجيهات الأساسية
وظيفة التعليمة |
شكل التعليمة |
تحديد اسم المعالج المستخدم (ATmega128) |
$regfile="m128def.dat" |
تحديد تردد الهزاز الكريستالي الذي يعمل عليه المعالج |
$crystal= 1000000 |
تحديد معدل بود النقل لنافذة الاتصال التسلسلي |
$baud= 9600 |
تعليمات التأخير الزمني
وظيفة التعليمة |
شكل التعليمة |
تأخير زمني (قيمة التأخير Value تعطى بالثانية) |
Wait value |
تأخير زمني (قيمة التأخير Value تعطى بالميلي ثانية) |
Waitms value |
تأخير زمني (قيمة التأخير Value تعطى بالميكرو ثانية) |
Waitus value |
تعليمات تعريف الأقطاب (دخل/خرج) ومقاومات الرفع الداخلية
وظيفة التعليمة |
شكل التعليمة |
تعريف البوابة C كبوابة خرج |
Config PORTC=Output |
تعريف القطب رقم 5 من البوابة C كقطب خرج |
Config PINC.5 =Output |
تعريف البوابة C كبوابة دخل |
Config PORTC=Input |
تعريف القطب رقم 5 من البوابة C كقطب دخل |
Config PINC.5 =Input |
تفعيل مقاومات الرفع الداخلية للبوابة C |
PORTC=255 |
تفعيل مقاومة الرفع الداخلية للقطب رقم 5 من البوابة C |
PINC.5 = 1 |
إلغاء تفعيل مقاومة الرفع الداخلية للقطب رقم 5 من البوابة C |
PINC.5 = 0 |
تفعيل بعض مقاومات الرفع الداخلية للبوابة C |
PORTC= &B11110000 |
يمكن استخدام هذا الشكل لتعريف الأقطاب من البوابة كدخل/خرج حيث أن (0) تعني قطب دخل، و (1) تعني قطب خرج. |
Config PORTC=&B11110000 |
يصرح إلى أن البوابة C سوف يشار إليها أثناء البرنامج بالاسم Leds |
Leds Alias PORTC |
يصرح إلى أن القطب رقم 5 سوف يشار إليه أثناء البرنامج بالاسم Led |
Leds Alias PORTC.5 |
تعليمات التعامل على مستوى البت (Set/Reset)
وظيفة التعليمة |
شكل التعليمة |
جعل قيمة (الزوج من متغير المتغير) واحد منطقي |
Set bit |
جعل قيمة (الزوج من متغير المتغير) صفر منطقي |
Reset bit |
تغيير قيمة (الزوج من متغير المتغير) إلى الحالة المعاكسة |
Toggle bit |
تعليمات الحلقات
وظيفة التعليمة |
شكل التعليمة |
يستمر بالدوران في الحلقة وتنفيذ التعليمات الموجودة في جسم الحلقة حتى تحقق الشرط أو الخروج القسري من الحلقة. |
Do |
تنفيذ جملة من التعليمات طالما أن الشرط محقق. |
While Condition |
تنفيذ جملة من التعليمات عدداً من المرات يبدأ من القيمة Start وينتهي عند القيمة End. يمكن تحديد خطوة العد بالمتغير step. |
For Var =StartToEnd[step Value] |
خروج قسري من الحلقة For خروج قسري من الحلقة Do خروج قسري من الحلقة While |
ExitFor ExitDo ExitWhile |
التعليمات الشرطية
وظيفة التعليمة |
شكل التعليمة |
اختبار حالة أو قيمة متغير وتنفيذ تعليمات معينة تبعاً لنتيجة شروط الاختبار. إذا تحقق الشرط1 فنفذ التعليمات1
وإلا إذا تحقق الشرط2 فنفذ التعليمات2
وغير ذلك نفذ التعليمات3 |
If Expression1Then |
اختبار حالة أو قيمة متغير وتنفيذ تعليمات معينة تبعاً لنتيجة شرط الاختبار المتحقق. إذا كان var = Test1 فنفذ التعليمات1 إذا كان var = Test2 فنفذ التعليمات2 وغير ذلك نفذ التعليمات3 |
SELECTCASE var |
تعليمات تعريف المتغيرات في الذاكرة SRAM
وظيفة التعليمة |
شكل التعليمة |
تعريف متغير عددي نوع "زوج" |
Dim Var1 AsBit |
تعريف متغير عددي نوع "ثمن" |
Dim Var2 AsByte |
تعريف متغير عددي"صحيح" |
Dim Var3 AsInteger |
تعريف متغير عددي نوع "وورد" |
Dim Var4 AsWord |
تعريف متغير عددي "طويل" |
Dim Var5 AsLong |
تعريف متغير عددي "مؤشر" |
Dim Var6 AsSingle |
تعريف متغير عددي "مؤشر مضاعف". |
Dim Var7 AsDouble |
تعريف متغير نوع "محرفي" محدد المحارف بـ (* chr_num). |
Dim Var8 AsString* 1 |
تعريف مصفوفة بثمان أثمان. |
Dim Array(8)AsByte |
تعريف متغير "رقمي ثابت". |
Const Symbol = Numconst |
تعريف متغير "محرفي ثابت". |
Const Symbol = Stringconst Ex. Const S ="TEST" |
تعريف "تعبير رياضي ثابت". |
Const Symbol = Expression Ex. Const E =(b1 * 3)+ 2 |
تعريف "متغير محلي" في برنامج فرعي أو برنامج فرعي وظيفي. |
Local Var AsType |
تعليمات قراءة حالة مفاتيح موصولة مع أقطاب دخل
وظيفة التعليمة |
شكل التعليمة |
يراقب حالة القطب المحدد فيPx.y كلما مر عليه وعندما تصبح حالته موافقة للحالة المحددة في state، سوف يقفز إلى البرنامج الفرعي عند اللافتة label وينفذ البرنامج ويعود. |
Debounce Px.y, state , label ,Sub Ex. Debounce Key1 , 0 , Sw1 ,Sub |
تهيئة زمن تأخير (ميلي ثانية) عن استعمال تعليمة Debounce للتخلص من العطالة الميكانيكية للمفتاح. |
ConfigDebounce= time |
سوف يقف البرنامج عند هذه التعليمة وينتظر أن تصبح حالة البت (القطب) صفر أو واحد منطقي عندها يكمل البرنامج. |
Bitwait x , Set/reset Ex. Bitwait Pinb.7 ,reset |
يمكن الاطلاع على مبادى وأساسية البرمجة في البيئة Bascom من خلال ملف المساعدة (BASCOM-AVR IDE Help) وضمن “Language Fundamentals”. |
بوابات الدخل والخرج في متحكمات AVR
تتمتع جميع أقطاب بوابات متحكمات العائلة AVR بأنها أقطاب ثنائية الاتجاه وظائف قراءة وكتابة وتعديل عند استخدامها كأقطاب دخل/خرج للأغراض العامة (GPIOs)، كما يمكن تغيير اتجاه أحد أقطاب بوابة بشكل منفصل – خلافاً لمتحكمات 8051 – فيمكن تعريف كل قطب من الأقطاب على حدى كقطب دخل أو خرج. كذلك تمتلك الأقطاب عند تعريفها كأقطاب دخل مقاومات رفع داخلية - إلى التغذية - يمكن تفعيلها أو إلغاء تفعيلها لكل قطب بشكل منفصل. |
|
إن بنية الأقطاب هي من النوع “Push-pull” أي أنها قادرة على قيادة الخرج على المستوى المنطقي “0” والمستوى “1” حيث أن التيار الذي يمكن أن يزوده القطب قادر على قيادة ثنائي ضوئي (LED) بشكل مباشر دون الحاجة إلى دارة مفتاح ترانزستوري. كما أن جميع الأقطاب مزودة بدارة حماية من تفريغ الشحنات الستاتيكية (ESD) مؤلفة من ثنائيين شوتكي أحدها موصل إلى التغذية (للحماية من شحنات التفريغ الموجبة) والآخر موصل إلى النقطة الأرضية (للحماية من شحنات التفريع السالبة) كما هو مبين في الشكل 6. |
|
الشكل 6: دارة الحماية من شحنات التفريغ الستاتيكية لقطب متحكم AVR |
|
يتم تصنيف أقطاب الدخل/الخرج العامة (GPIOs) في مجموعات تسمى بوابات (PORTs) كل بوابة تتألف من ثمانية أقطاب (PINs)، ويختلف عدد البوابات باختلاف عدد أقطاب المتحكم حيث يمكن أن يصل عدد البوابات في متحكمات AVR المتقدمة إلى أحد عشر بوابة ويشار إليها بالأحرف: PORTA, B, C, D, E, F, G, H, J, K, L. |
|
|
|
الشكل 7: البنية الداخلية الكاملة والدارات المنطقية لقطب متحكم AVR |
مسجلات بوابات الدخل والخرج في متحكمات AVR
تمتلك كل بوابة من بوابات المتحكم ثلاث مسجلات تحكم (Registers)، حيث يمثل الرمز xرمز البوابة (A, B, C, D, E, F, G, H, J, K, L) والرمز y قطب البوابة (0 : 7). مسجل التحكم باتجاه المعطيات للبوابة DDRx |
|
الشكل 8: مسجل اتجاه المعطيات للبوابة PORTA |
مسجل الخرج للمعطيات PORTx
|
|
الشكل 9: مسجل خرج المعطيات للبوابة PORTA |
مسجل الدخل للمعطيات PINx |
|
الشكل 10: مسجل دخل المعطيات للبوابة PORTA |
طرق توصيل الأحمال مع أقطاب المتحكم
إن بنية الأقطاب في متحكمات AVR ومتحكمات PIC هي من النوع “Push-pull”، أي أنها قادرة على قيادة الخرج على المستوى المنطقي “0” والمستوى “1” حيث أن التيار الذي يمكن أن يزوده القطب قادر على قيادة ثنائي ضوئي (LED) بشكل مباشر دون الحاجة إلى دارة مفتاح ترانزستوري. وبالتالي يمكن وصل الأحمال مع أقطاب المتحكم بطريقتين:
في الحالة الأولى – القطب يعمل كمنبع لتيار تشغيل الحمل – يتم تزويد التغذية للحمل عن طريق التغذية الداخلية للمتحكم والتصريف يكون من خلال النقطة الأرضية مباشرة؛ أما في الحالة الثانية – القطب يعمل كمصرف لتيار تشغيل الحمل – فإنه يتم تزويد التغذية للحمل مباشرة من التغذية الرئيسية ويتم التصريف من خلال المتحكم والنقطة الأرضية له. في كلا الحالتين سيكون الأداء للمتحكم واحداً إلا أنه يوصى عادة بالطريقة الثانية وذلك لتخفيض ضجيج التغذية VCC داخل المتحكم، كما أن توزع مسارات النقطة الأرضية GND داخل المتحكم أكبر وبالتالي التصريف سيكون موثوقاً ومناعته للضجيج أكبر. |
|
|
|
الشكل 11: طرق توصيل الأحمال مع أقطاب المتحكم – كمنبع أو مصرف للتيار |
|
إن مبدأ سير التيار في الحالة الأولى (المسار باللون الأحمر على اليسار) والثانية (المسار باللون الأخضر على اليمين) داخل البنية الداخلية لأقطاب المتحكم مبين على الشكل 12. |
|
|
|
الشكل 12: سير التيار داخل البنية الداخلية لقطب متحكم AVR كمصرف ومنبع للتيار |
حساب قيمة واستطاعة مقاومة تحديد التيار
إن قيمة مقاومة تحديد التيار للحمل تتعلق مباشرة بجهد تشغيل الحمل وتياره ومقاومته الأمامية. من أجل حساب قيمة مقاومة تحديد التيار لثنائي ضوئي (LED) على سبيل المثال فإنه يجب معرفة تيار وجهد التشغيل للثنائي.
إن تيار وجهد العمل للثنائيات الضوئية يختلف حسب لون الثنائي الضوئي، الجدول التالي يوضح المواصفات الكهربائية للثنائيات الضوئية. |
|
|
النوع |
اللون |
IF |
VF |
VF |
VR |
شدة الإضاءة |
زاوية انعكاس الرؤية |
طول الموجة |
Standard |
الأحمر |
20mA |
2.0V |
2.3V |
5V |
5mcd @ 10mA |
60° |
660nm |
Super bright |
الأحمر الفاتح |
25mA |
3.0V |
3.4V |
5V |
80mcd @ 10mA |
60° |
625nm |
Standard |
الأصفر |
20mA |
2.1V |
2.3V |
5V |
32mcd @ 10mA |
60° |
590nm |
Standard |
الأخضر |
20mA |
3.2V |
3.5V |
5V |
32mcd @ 10mA |
60° |
565nm |
High intensity |
الأزرق |
20mA |
3.4V |
3.6V |
5V |
60mcd @ 20mA |
50° |
430nm |
Super bright |
الأبيض |
20mA |
3.4V |
3.6V |
5V |
500mcd @ 20mA |
60° |
660nm |
IF max: التيار القصوي الأمامي المار في الثنائي. VF typ: الجهد الأمامي النموذجي من اجل تشغيل الثنائي. VF max: الجهد الأمامي القصوي الذي يمكن للثنائي أن يتحمله. VR max: الجهد العكسي القصوي الذي يمكن للثنائي أن يتحمله. شدة الإضاءة : Luminous intensity. زاوية انعكاس الرؤية للإضاءة : Viewing angle. طول موجة الضوء الصادر : Wavelength. |
|
وبالتالي من أجل ثنائي ضوئي ذو لون أحمر فإن جهد وتيار العمل هو 2V/20mA، وبالتالي يمكن حساب مقاومة تحديد التيار من العلاقة: RLED= (Vcc- VLED) / ILED
RLED= (5- 2)/20= 3/20=150Ω
PRLED= VR × IR =(Vcc - VLED) × ILED
PRLED=5- 2× 20=60mW
وبالتالي فإن الذي نحتاجه هو مقاومة 150Ω ذات استطاعة 1/4Watt. |
|
الشكل 13 |
مفاتيح التحكم الترانزستورية
من أجل التحكم بأحمال ذات تيارات كبيرة (محركات، مرحل، سخانات) فإن تيار الخرج لقطب المتحكم (20mA) لا يمكنه قيادة هذه الأحمال، لذا يتم استخدام الترانزستورات كمفاتيح إلكترونية (On/Off) للتحكم بهذه الأحمال. بشكل عام يوجد نوعين من الترانزستورات: |
|
|
BJT |
FET/MOSFET |
طريقة التحكم |
يتم التحكم به عن طريق تيار القاعدة ويحتاج تيار 1 – 10mA بالإضافة إلىVBE=0.6V |
يتم التحكم به عن طريق جهد البوابة ويختلف الجهد حسب استطاعة الترانزستور. |
سرعة الفتح والإغلاق |
أبطئ لا يتجاوز 200MHZ (uS)i |
10 مرات أسرع (nS) |
العمل |
تأثر كبير بالحرارة |
أقل تأثراً بالحرارة |
المقاومة الأمامية |
المقاومة الأمامية (هبوط جهد أمامي) صغيرة جداً |
مقاومة أمامية كبيرة نسبياً |
التأثر |
لا يتأثر بالشحنات الساكنة |
يمكن أن يتأثر ويدمر بالشحنات الساكنة |
ممانعة الدخل |
متوسطة |
كبيرة جداً (1012 ) |
مجلات جهود العمل |
صغيرة لا تتجاوز 100V |
كبيرة جداً |
تيار الحمل |
يعمل من أجل تيارات أحمال صغيرة |
يمكنه أن يقود أحمال بتيارات عالية (محرك) |
ضجيج العمل |
ضجيج عالي |
ضجيج منخفض |
يتم استخدام الترانزستورات ثنائية القطبية من أجل التحكم بأحمال ذات تيارات صغيرة. بينما تستخدم الترانزستورات الحقلية من أجل التحكم بأحمال ذات تيارات وجهود متوسطة وكبيرة. |
|
إن مجال استخدام الترانزستورات في أنظمة التحكم الرقمي يقتصر على استخدام هذه الترانزستورات كمفاتيح إلكترونية تحكمية (On/Off) - يعمل في منطقتي القطع والإشباع، وبالتالي فإن اختيار الترانزستور نسبة إلى الحمل سيعتمد على ثلاث عوامل أساسية:
1-في حالة القطع (Off state): يكون تيار القاعدة IB=0. IC = IB x hFE وهي الحالة التي يستخدم فيها الترانزستور كمضخم فعال - أي زيادة في تيار القاعدة ينتج عنه زيادة في تيار المجمع. |
|
|
|
الشكل 14: عمل الترانزستور وما يقابل كل حالة من شروط للجهد والتيار |
استخدام مفاتيح التحكم الترانزستورية ثنائية القطبية (BJT Transistors)
|
|
الشكل 15: مفتاح ترانزستوري فعال عند المنطق “1” |
الشكل 16: مفتاح ترانزستوري فعال عند المنطق “0” |
يمكن توصيل المفاتيح الترانزستورية بطريقتين:
في بعض الأحيان يحصل خطأ في تصميم دارة المفتاح الإلكتروني باستخدام الترانزستور ثنائي القطبية، وهو من خلال استخدام الترانزستورات من نوع NPN كمفتاح لوصل/فصل نقطة التغذية (VCC) للحمل - الشكل 17، أو استخدام الترانزستور من نوع PNP كمفتاح لوصل/فصل النقطة الأرضية (GND) للحمل – الشكل 18. |
|
|
|
الشكل 17: توصيل خاطئ لمفتاح ترانزستوري نوع NPN |
الشكل 18: توصيل خاطئ لمفتاح ترانزستوري نوع PNP |
لنوضح الخطأ من خلال الحسابات التالية: حتى يفتح الترانزستور بشكل كامل (الإشباع)، فيجب أن يكون الجهد VBE=0.7V. بالنظر إلى الدارة على الشكل 10-6 نجد أن الجهد الموجود على المشع (E) هو: VE= VCC – VCE = 5 – 0.2 = 4.8V كما أن الجهد على قاعدة الترانزستور هو: VB = VPIN = 5V وبالتالي فإن: VBE = VB – VE = 5 – 4.8 = 0.2V هذا يعني أن الترانزستور يعمل في المنطقة الفعالة ولن يكفي تيار مجمع الترانزستور ICلتشغيل الحمل وسيعمل الثنائي الضوئي بشكل خافت. إن الجهد المطبق على قاعدة الترانزستور في الدارة المبينة في الشكل 15 والشكل 16 يساوي 5V وهو نفسة جهد منطق بوابة المتحكم المصغر، بنفس الوقت من أجل الفتح الكامل للترانزستور فإنه يكفي تطبيق 0.7V، وإن هذا الجهد الزائد على القاعدة يؤدي إلى سحب تيار زائد وضياع في الاستطاعة، وبالتالي يمكن إضافة مقاومة مع مقاومة القاعدة ليتشكل لدينا مقسم كمون خرجه يتراوح بين 0.7 و1 فولط. الشكل 19 والشكل 20 يوضحان طريقة إضافة المقاومة وحساب الجهد VBE. VBE = Vcc × R6 / (R6 + R5 )= 5 × 1 / (4.7 + 1) = 0.87V |
|
|
|
الشكل 19: دارة مفتاح ترانزستوري فعال عند المنطق “0” |
الشكل 20: دارة مفتاح ترانزستوري فعال عند المنطق “1” |
برمجة بوابات الدخل والخرج في متحكمات AVR
التجربة الأولى
تم وصل ثنائيين ضوئيين إلى متحكم ATmega32A، الثنائي الأول (LED1) موصول إلى القطب PINA.0 بحيث أن قطب المتحكم هو منبع للتيار (فعال عند المستوى المنطقي “1”) ، الثنائي الثاني (LED2) موصول إلى القطب PIND.0 بحيث أن قطب المتحكم هو مصرف للتيار (فعال عند المستوى المنطقي “0”)، والمطلوب: كتابة برنامج خفقان بالتناوب لكلا الثنائيين كل 0.5S. |
|
الشكل 21: توصيل الثنائيات مع المتحكم للتجربة 1 |
|
البرنامج Exp.01.bas في بيئة BASCOM-AVR: '***************************************************************************** |
التجربة الثانية
تم وصل ثمانية ثنائيات ضوئية (LEDs_A) إلى البوابة PORTA للمتحكم ATmega32A بحيث أن بوابة المتحكم هي في حالة منبـــــع للتيار، وتم وصل ثمانية ثنائيات ضوئية أخرى (LEDs_D) إلى البوابة PORTD بحيث أن بوابة المتحكم هي في حالة مصرف للتيار، والمطلوب: كتابة برنامج بحيث تعمل الثنائيات بالتتابع ذهاباً وإياباً باستخدام الحلقات. |
|
الشكل 22: توصيل الثنائيات مع المتحكم للتجربة 2 |
البرنامج Exp.02.bas في بيئة BASCOM-AVR: '***************************************************************************** |
التجربة الثالثة
تم وصل مجموعة من خمسة ثنائيات ضوئية (LEDs_A) إلى متحكم ATmega32A مع القطب PINA.0 عن طريق مفتاح ترانزستوري وبحيث أن الترانزستور هو من النوع PNP (فعال عند المستوى المنطقي “0”)، كما تم وصل خمسة ثنائيات ضوئية أخرى (LEDs_B) مع القطب PIND.0 عن طريق مفتاح ترانزستوري وبحيث أن الترانزستور هو من النوع NPN (فعال عند المستوى المنطقي “1”)، والمطلوب: كتابة برنامج خفقان بالتناوب لكلا المجموعتين كل 0.5S. |
|
الشكل 23: توصيل الثنائيات مع المتحكم للتجربة 3 |
البرنامج Exp.03.bas في بيئة BASCOM-AVR: '***************************************************************************** |
تصميم دارة مفتاح ترانزستوري ثنائي القطبية
لنأخذ مثالاً عملياً ونحسب قيم المقاومات والتيارات للدارة المبينة في الشكل24 والتي تستخدم في التجربة السابقة (Exp.03).
لتصميم دراة المفتاح قمنا باختيار الترانزستور BC337 والذي له المواصفات التالية: IC_max= 800mA, VBE_saturate = 0.65V, VCE_saturate = 0.2V, hFE = 100, VCE_max=50V |
|
الشكل 24: التحكم بمجموعة ثنائيات من قطب متحكم باستخدام مفتاح ترانزستوري BJT
|
IC = 5 × 20mA = 100mA
Rc = (Vcc – VLED) /IC = (5 – 2) /100 = 30Ω
PRC = (Vcc – VLED) × IC = (5 – 2) × 100 = 300mW
IC = hfe × IB→ IB = IC / (hfe) =100 / 100 = 1mA
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 |
الحقوق الفكرية
حقوق النشر محفوطة م.وليد بليد Copyright © 2012 Walid Balid All rights reserved |
تأليف
المؤلف: وليد بليد (سوريا)
{jumi [*3]}