حساس الحرارة LM35
ستكون تدوينتي اليوم مخصصة للحديث عن حساس للحرارة مشهور يدعى LM35 , ذو خرج دقيق و مدى عمل واسع, و يعطي مباشرة خرج بالسليسيوس C و بتغير فولتية المخرج شكل منتظم مع درجة الحرارة المُقاسة , و يأتي بأشكال مختلفة و بمواصفات مختلفة , لكن هذا التعليب Package TO46 هو الأكثر شيوعاً
الشكل الخارجي لها كما في الصورة
من الصورة يتبين لنا أنها تتكون من 3 أرجل و هي
Vs : و هي مدخل تغذية الحساس .
Vout: و هو مخرج درجة الحرارة , و الذي نقوم بوصله بالمتحكم .
Gnd: ارضي الدارة .
المواصفات القياسية لهذا الحساس يمكن معرفتها من النشرة الفنية Datasheet لها و يمكن أن نلخص أهمها فيما يلي :
1) تتغير فولتية الخرج خطياً مع درجة الحرارة "10mV/C "
2) نسبة الخطأ في درجة الحرارة لا تزيد أو تنقص عن 0.5C
3) مدى حراري واسع يبدأ من 55C- سيلسيوس إلى 150C
4)مقاومة الخرج قليلة
5) يمكن تغذيته ضمن مدى فولتية كبير "من 4- 30 فولت "
هذه أهم المعلومات التي يمكننا أن نستعرض بها ميزات هذا الحساس , و القيم الكهربائية الضرورية لهذا الحساس موجودة في الجدول أدناه :
المعدات :
لكي تنفذ تجربة اليوم ستحتاج إلى ما يلي :
1) بطاقة أردوينو
1) بطاقة أردوينو
2) الحساس LM35
3) أسلاك توصيل
4) BreadBoard .
5) وسائل إظهار رقمية " اختيارية في حال توافرها " مثل المقطعات السباعية Seven segment أو الشاشة الكريستالية LCD1602
التوصيل :
التوصيل سهل للغاية
نأتي الآن لجانب البرمجة .
البرمجة :
البرمجة :
المعلومة الأكثر أهمية لهذا الحساس هو أنه يقوم بمعايرة الخرج مباشرة بالسيلسيوس , ومن النشرة الفنية Datasheet نعرف أنه
أذن كل 10 ملي فولت على المخرج تساوي 1 سيلسيوس , رائع .
بعد أن تفتح السيريال Serial Monitor سترى درجة الحرارة على الشاشة .لو أردنا تطوير المشروع , فما علينا سوى عرض قيمة الخرج Celsius على شاشة العرض المطلوبة .
هذا البرنامج يوضح عرض درجة الحرارة على 7sement
seven segment temperature display
المقال راائع ومتعوب عليه الله يعطيك العافية ..
ردحذفأتمنّى لك التوفيق.. بارك الله بك ونفع بك..
الله يعافيك نور الدين
ردحذفأخيراً كُتب لي اليوم أن ارى أول تعليق بعد مرور أكثر من 3 أشهر على افتتاح مدونتي
شكراً لك أخي الكريم , و أعدك بالمزيد
يعطيك العافيه اخي على المجهود الرائع الذي تبذله على اظهار هذه المدونه بابهى صوره
ردحذفبس عندي استفسار
كيف بدي اقدر اعالج مشكله error في درجه الحراره لو حكينا هيك بيزبط ؟؟
input = (LM35*5000)/1024
input= input - 5000
celsius =input/10
ونسبه الخطء 0.5 على ما اظن انها مؤثره شوي
وشكرا
اهلاً محمد
حذفعلى العكس هذا السنسور مميز في هذا الأمر
اغلب السنسورات التي تماثله , نسبة خطأها +-2سيلسيوس
النسبة غير مؤثرةلأن 0.5c شبه مهملة مع مدى هذا الحساس "-55>> 150 " سيلسيوس
جربه و سترى هذا بنفسك
تحياتي لك صديقي
يمكن أيضاً أخذ متوسط حسابي لقراءات هذا الحساس , هذا يقلل نوعا ما من نسبة الخطأ .
حذفشكرا الك مهندس
حذفلم انتبه لمسأله المتوسط الحسابي
^^
العفو ^-^
حذفمرحبا يا جماعة بدي مساعدة في برمجة Arduino uno أنا وصلت معها LM35) Temperature sensor على مدخل التماثليA0 و أريد أن أفعل ثلاثة مخارج بشروط معينه
ردحذف1:- أذا كانت الحرارة ما بين 13 الى 30 يضيء الليد على مخرج 2
2:- أذا كانت الحرارة مابين 31 الى 55 يضيء الليد على مخرج 3
3:- أذا كانت الحرارة مابين 56 الى 90 يضيء لليد على المخرج 4
أنا بحاجة عقولكم يا اصدقائي
ومشكورين على تعاونكم (:
أهلاً بك , ستجد الكود في التعليق التالي .
حذف//Name :Mohannad Rawashdeh .
ردحذف//temeratuer sensor using LM 35 sensor.
//Push button on pin 3 "as power switch"
//Lm 35 have 3 pin , +Vcc,Gnd,out
//hooked up:
//connect pin one to +5v "from arduino board"
//connect pin two to A0 analoge input.
//connect pin three to Gnd
//LM 35 have a linearity curve
// it change 10mV for each 1 Celesus
// Programmed for http://genotronex.blogspot.com/
//****************************************************************
float LM35=0;
float input=0; // reading the voltage on pin A0
float celsius=0;
const int first_cond_low =13;
const int first_cond_high =30;
const int second_cond_low =31;
const int second_cond_high =55;
const int third_cond_low =56;
const int third_cond_high =90;
void setup(){
Serial.begin(9600);
pinMode(A0,INPUT);
for(int i=2;i<5;i++){
pinMode(i,OUTPUT);
}
}
void loop(){
LM35 = analogRead(A0);
input = (LM35*5000)/1024; // convert raw sensor value to millivolts
celsius = input/10; // convert millivolts to Celsius
Serial.println(" sensor read");
Serial.println(LM35);
Serial.println(" --------------------------");
if(celsius >first_cond_low && celsius <= first_cond_high){
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}
if(celsius >=second_cond_low && celsius <= second_cond_high){
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
}
if(celsius >=third_cond_low && celsius <= third_cond_high){
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
}
delay(1000);
Serial.print("Temperature: ");
Serial.print(celsius,2);
Serial.println(" degrees C");
Serial.println("_ _ _ _ _ _ _ _ ");
}
أخي أريد برنامج في ج اردوينو LM35 الاستشعار مع لوحة اردوينو على شاشة LCD
ردحذفاكرر نحن هنا لا نكتب كودات خاصة لكل شخص كما يريد , نحن نضعك على اول الطريق و نسهل لك كل المواضيع , و انت عليك ان تبدع ما تريد .
حذفيعطيك العافية عالمشروع ..
ردحذفعندي سؤال .. ما هو أفضل موقع لمحاكان الأردوينو اونلاين ؟ وماهو إسم الموقع أو البرنامج يلي استخدمتو بالمشروع ؟
وشكرا جزيلا
شكرا على الموضوع بس يريت يكون شرح الكود بالعربي
ردحذفموضوع رائع
ردحذفولكن سؤال انا جربت الحساس على حهازتسخين وشبكة الحساس على الجهاز وكن درجة الحرارة بدأت من العد 4C مش المفروض يعطي الحساس درجة حرارة الغرفة بصراحة انا مش عارف وين المشكلة
لا تستخدم lm35 بهذا الشكل لانه ابسط من ان يستخدم في قياس حرارة عاليه بشكل مباشرة بدون عزل .
حذفاستخدم الثيرمستور افضل .
جيت اجرب الlm35 عن طريق كود مكتوب فى كتاب اردوينو ببساطة ولقيتها بطلع حاجات غريبة قيم بالسالب والموجب زالاختلاف كبيربين القيم وبعضها
ردحذفالسلام عليكم شكرا على المجهودات المبذولة
ردحذفهل يمكن اضهار القيم السالبة
حسب النشرة الفنية لهذا الحساس نجد التيار المرجعي هو 1,8v وليس 5V
السلام عليكم
ردحذفبغيت مساعدة اريد برنامج الاردوينو للتحكم في درجة حرارة و برودة معينة في الماء بحيث اذا وصل مثلا الى درجة 50 يعمل الاردوينو على اعطاء اوامر لجهاز التبريد بالعمل و العكس صحيح اريد البرنامج لو سمحتون
م.محمد الرواشده
ردحذفجزاك الله خير
اخي الكريم بدي الكود اذا كانت درجه حراره 37.5 لانو ما بعطيني 37.5 بعطي قيم اعلى من نسبه الخطا كمان
ردحذفWatch Dance Deewane 3 Colors Tv Show Watch Episodes Full Video. Dance Deewane The Show Features Dance Performers, Including Solo Acts, Duo Representing Any Style of Dance. Madhuri Dixit, Tushar Kalia, Dharmesh Yelande. Dance Deewane
ردحذف