عرض مشاركة واحدة
  #17  
قديم 09-22-2011, 06:22 PM
 
المعلومات النظرية :
الحساس LM35 لا يحتاج إلى أى معايرة خارجية وجهد خرجه يتناسب مع درجة الحرارة . عامل مقياس scale factor التحويل من درجة حرارة إلى جهد هو 10 mV per °C "10 ملى فولت لكل درجة مئوية" .
توجد عدة أشكال من الحساس LM35 كما فى الشكل .




قياس درجة الحرارة السالبة الأقل من الصفر يحتاج لمصدر جهد سالب وهذا المشروع يتناول فقط قياس درجة الحرارة الموجبة من الصفر وحتى 100 درجة مئوية .
يتم يحويل جهد خرج الحساس إلى عدد رقمى مكون من 10 خانات باستخدام المحول ADC الداخلى بالميكروكونترولر .وحيث أن الجهد المراد قياسه بواسطة المحول ADC يكون فى المدى من صفر إلى واحد فولت (والمناظر لدرجة حرارة من صفر حتى 100 درجة مئوية لأن كل درجة مئوية تعطى خرج قدره 10 ملى فولت) فأن المحول ADC يحتاج إلى جهد مرجع منخفض (بدلا من جهد المنبع Vdd= 5V ) للتحويل من تناظرى لرقمى وذلك للحصول على دقة قياس أفضل . يمكن الحصول على جهد المرجع المنخفض باستخدام زنر دايود ومقاومات أو يمكن استخدام دايودات فقط . يمكنك الحصول على جهد مرجع قدره 1.2V بتوصيل دايودان ومقاومة على التوالى بين طرفى مصدر الجهد كما فى الشكل التالى .



ملحوظة :
بالقياس العملى للجهد عبر الدايودان وجد 1.196 V وقياسه عمليا هام للحصول على نتائج دقيقة .
كما يمكنك استخدام مقاومة 1K بدلا من المقاومة 3.6K .
نحتاج لبعض العمليات الرياضية للتحويل من تناظرى لرقمى :
جهد المرجع 1.196 V والمحول ADC بسعة 10-bit ، لذلك فإن أى جهد دخل فى المدى بين 0-1.196V سوف يتم تحويله إلى عدد رقمى فى المدى بين 0-1023 .
وتكون دقة التحويل ( خارج قسمة المدى الكامل للجهد على المدى الكامل لكود عدد التحويل ليعطى الجهد لكل قسم ) 1.196/1024 = 0.001168 V/Count.
لذلك يكون العدد الرقمى N للخرج المناظر لأى جهد دخل Vin هو N = Vin/0.001168.
مثال :
نفترض أن درجة الحرارة المحيطة هى 26.4 °C .
يكون جهد خرج الحساس 264 mV (0.264 V): .
ويكون كود العدد لخرج المحول ADC : 0.264/0.001168 = 226
إذا عكسنا العملية : أى أن كان لدينا فى خرج المحول ADC عدد رقمى قدره 226 يمكننا العودة للخلف بتحويله إلى جهد الدخل بضربه فى الدقة ثم نحول هذا الجهد إلى درجة الحرارة بالقسمة على عامل قياس الحساس وهو (10 mV/°C) كما يلى :
temperature = 226 * 0.001168 (V/Count) / 0.01 (V/°C) = 26.4 °C
لتجنب استخدام الأعداد الحقيقية التى تحتوى على علامة عشرية متحركة والتى تسمى floating فقط نستخدم عملية ضرب كما يلى (الدقة كعدد صحيح) :
temperature = 226 * 1168 = 263968
عند عرض النتيجة نحتاج لوضع علامة عشرية فى المكان الرابع من اليسار .لذلك تكون درجة الحرارة المحسوبة 26.3968°C والتى هى قريبة بالفعل من الفعلية .
فى هذا المشروع سوف يتم عرض درجة الحرارة بدقة كسر عشرى واحد أى نقوم بقسمة العدد العلوى على 1000 لنحصل على 263 ويتم بيان درجة الحرارة بالشكل 26.3 °C .
بعد اشتقاق درجة الحرارة بالدرجات المئوية يمكنك تحويلها إلى الفهرنيت باستخدام المعادلة البسيطة التالية :
temperature in °F = 9 x temperature in °C /5 + 32
فى هذه الحالة يتم ضرب درجة الحرارة المئوية فى 10 فتتحول 26.3 إلى263 (للتخلص من العلامة العشرية ) ويمكنك استخدام العلاقة :
temperature in °F = 9 x temperature in °C /5 + 320
وحيث إن العدد الذى يمثل درجة الحرارة المئوية قد لا يقبل القسمة على 5 بالضبط ( العدد 263 لا يقبل القسمة على 5 ( يمكنك مرة أخرى التخلص من العلامة العشرية بالضرب مرة أخرى فى 10 وتصبح المعادلة الجديدة :
temperature in °F = 9 x temperature in °C x 10 /5 + 3200
or,
temperature in °F = 18 x temperature in °C + 3200 = 18 x 263+3200 = 7934
أى أن 79.34 °F تكافىء 26.3 °C
فى هذا المشروع سوف يتم عرض النتيحة بالشكل 79.3 °F
الدائرة الكهربية :
__________________
angel4angel4angel4angel4angel4
رد مع اقتباس