الثلاثاء، 9 أبريل، 2013

التحكم فى درجات الحرارة

هناك العديد من التطبيقات والصناعات التى لابد وأن تحتوى على  - أنظمة التحكم فى درجات الحرارة - Temperature Control System  فمثلا اللابتوب لما تزيد درجة حرارته نتيجة مثلا تلف مروحة التبريد فانه يفصل تلقائيا وطبعا هناك تطبيقات تحتاج فيها التحكم فى درجة حرارة المياه او درجة حرارة غرفة معينة وغير ذلك الكثير .
وتتلخص عملية التحكم فى درجة الحرارة فى الاتى
يتم قراءة درجة حرارة الجزء المراد التحكم فى درجة حرارته وليكن خزان مياه ثم عن طريق قيمة درجة الحرارة التى تم قرائتها يتم اما تشغيل سخان لتسخين المياه أو فصله ... فلو مثلا افترضنا ان درجة حرارة الماء تعدت ال 50 درجة عندئذ يلزم فصل السخان وعندما تقل عن ذلك يتم تشغيله .... وهذه هى الفكرة البسيطة والعامة لأى نظام تحكم فى درجة الحرارة.



المشروع الأول  
 التحكم فى درجة حرارة خزان مياه

أولاً : المكونات المطلوبة

 PIC Micro 16f877a or another one that has ADC Module As PIC 16f628
LCD : وتستخدم لعرض قيم درجات الحرارة
Relay : ويستخدم للتحكم فى الجهد العالى عن طريق خرج الميكروكنترولر
Push buttons
مقاومات 10ك أوم

ترانزستور 2n2222
كريستالة 8 ميجا هرتز
مصدر جهد خمسة فولت
أسلاك توصيل .


ثانياً : شرح فكرة المشروع
المطلوب هو الحفاظ على درجة حرارة المياه عند درجة معينة ولتكن 50 درجة سليزيوس وهذه القيمة يمكن تعديلها بالزيادة أو النقصان عن طريق مفتاحين .
لابد من وجود Heater  -سخان- ولذلك لتسخين المياه عندما تنزل عن الدرجة المحددة ... ال Heater  هو عبارة عن عنصر يقوم بتحويل الطاقة الكهربية الى طاقة حرارية مثل سخان الشاى .
يقوم الميكرو بقراءة قيمة درجة الحرارة الفعلية للمياه باستخدام حساس درجة الحرارة LM35 وعلى أساسها يتم تشغيل أو فصل السخان فمثلا لو كانت أكبر من 50 يتم فصل السخان ولو كانت أقل يتم تشغيله. 
ولأننا هنستخدم سينسور لدرجة الحرارة واللى الخرج الخاص به عبارة عن اشارة تماثلية وليست اشارة رقمية وبالتالى لابد من استخدام ميكرو يحتوى على ADC Interface  .
تبرز هنا مشكلة ولابد من حلها وهى أنه اذا تأرجحت درجة حرارة الماء ما بين 51 ة 50 و 49 فهذا هيحعل السخان يفصل ويشتغل مرات كثيرة وحل هذه المشكلة هو أن يتم تشغيل السخان لو درجة الحراة قلت عن 45 ويفصله لو درجة الحراة زادت عن 55 وما بينهم يظل على اخر حالة كان عليها . 
مثال لو زادت درجة الحرارة عن 55 فان السخان يفصل ولو قلت درجة الحرارة عن 55 فان السخاز يظل فاصل ولن يعمل وهذا يمكن تحقيقه من خلال الامرين التاليين : 
If ( temp > 55 ) heater become on ;
If (temp < 45 ) heater become off ;
المفروض أننا نقوم بإدخال قيمة درجة الحرارة المراد وصول المياه لها للميكروكنترولر لذلك هنعتبر فى البرنامج ان درجة الحرارة 50 ولما نحتاج نزودها يتم ذلك من خلال سويتش , ويستخدم سويتش آخر لتقليلها وفى البرنامج جعلت نسبة الزيادة والنقصان لكل ضغطة  تعادل 5 درجات مئوية ... بمعنى ان الدرجة الاساسية التى سيعمل عندها الميكرو هى 50 درجة واذا ضغط على احد السويتشين ضغطة فاما ستزودها بخمسة لتصبحح 55 او تقللها لتصبح 45 وبإمكانك تغيير كل ذلك من خلال التعديل فى البرنامج .


صورة توضح الجزء الأول من البرنامج

صورة توضح الجزء الثانى من البرنامج




ملحوظة :
الامر  Adcon1 = 0x84; معناه الاتى
الرجوول AN0 , AN1  ستعمل كأنالوج – يعنى تستخدم لتةصيل عليها اشارات تماثلية .أما باقى الرجول فستعمل كديجيتال عادى وهذا يمكنك معرفته من خلال الداتا شيت 

صورة من نافذة المساعدة فى برنامج المكرو ى توضح لك كيف تختار مخرج معين ليعمل كأنالوج


صورة المشروع فى بروتس قبل تشغيله





فى حالة التشغيل اذا كانت درجة الحرارة اقل من 50 درجة وستلاحظ ان الريلاى اشتغل






فى حالة التشغيل اذا كانت درجة الحرارة أكبرمن 50 درجة وستلاحظ ان الريلاى فصل






لاحظ فى هذه الصورة انه تم تزويد درجة الحراة لمطلوبة لتصبح 75 بدلا من 50


من هنا نبدأ فى عرض صور الهاردوير
مع ملاحظة أن الجزء اللى هيتوصل على الريلاى ( الحمل + الجهد ال 200 فولت ) لم أقم بتوصيله لأننى سأعرف ما اذا كان التوصيل قد تم أم لا عن طريق سماع صوت الريلاى .


صورة للمشروع كامل قبل تشغيله


صورة لتوصيل الميكروكنترولر


صورة توضح توصيلة الميكروكنترولر بالشاشة


صورة توضح المخرجات على الشاشة


صورة للمشروع وهو شغال