قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:03 PM المشاركة 1   
افتراضي مشروع : تصميم نظام قياس درجة الحرارة يعتمد على الميكروكونترولر و RTD و Pt100 Twitter FaceBook Google+



مشروع : تصميم نظام قياس درجة الحرارة يعتمد على الميكروكونترولر باستخدام مقاومة حرارية RTD نوع Pt100 .


حساس الحرارة المستخدم بمعامل حرارى =0.00385 . وخواصه :




إذا فرضنا أن مقومة المصدر Rs=1K وجهد المصدر Vs=5V فإن الجهد بين طرفى الحساس RTD عند كل من نهايتى مدى درجة حرارة التشغيل تكون :




فإذا استخدمنا مكبر عمليات كسبه (تكبيرة) يساوى 5 فإن المدى الذى يرى من جهة المجول A/D سوف يكون:





وحيث أن المحول ذات 10 بت ومداه الكامل هو 5V فإن دقته أو الجهد المناظر لكل بت يكون :




ولكن مدى جهد الدخل :







ومن ثم سوف تكون دقة (حساسية) النظام حوالى واحد درجة مئوية .



الدائرة الكهربية :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:07 PM المشاركة 2   
افتراضي


الدائرة الكهربية :






اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:11 PM المشاركة 3   
افتراضي


مبدأ العمل :
  • يتم تحويل الجهد بين طرفى الحساس RTD إلى الشكل الرقمى .
  • يتم حساب مقاومة الحساس Rt باستخدام المعادلة :





  • حيث Vt الجهد بين طرفى الحساس و Vs=5V و Rs=1k , بالتعويض نحصل على :




  • يتم حساب درجة الحرارة من المعادلة :




  • حيث t هى درجة الحرارة المقاسة بالدرجات المئوية , و Rt هى مقاومة الحساس عند درجة الحرارة t , و :


بالتعويض نحصل على :



حيث يمكننا حساب درجة الحرارة t بمعلومية المقاومة Rt .

البرنامج :
ملخص لخطوات البرنامج :
  • إعدادات وحدة العرض .
  • إعدادات الميكروكونترولر .
  • إنشاء حلقة غير منتهية وفيها يتم :
# قراءة الجهد التناظرى بين طرفى الحساس RTD وتحويله إلى الشكل الرقمى .
# حساب المقاومة Rt .
# حساب درجة الحرارة t .
# عمل المقياس اللازم للتحويل إلى درجة حرارة .
# عرض درجة الحرارة علىوحدة العرض LCD .
# الانتظار لثانية ثم التكرار بصفة مستمرة لتحديث البيانات .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:15 PM المشاركة 4   
افتراضي












الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:17 PM المشاركة 5   
افتراضي




كود:
 
/* This project measures the temperature with a RTD PT100  and
* then displays on a LCD
Eng.F.Abdelaziz
 http://www.eeecb.com/vb/index.php
*/
// LCD module connections
sbit LCD_RS at RC0_bit;
sbit LCD_EN at RC1_bit;
sbit LCD_D4 at RC4_bit;
sbit LCD_D5 at RC5_bit;
sbit LCD_D6 at RC6_bit;
sbit LCD_D7 at RC7_bit;
sbit LCD_RS_Direction at TRISC0_bit;
sbit LCD_EN_Direction at TRISC1_bit;
sbit LCD_D4_Direction at TRISC4_bit;
sbit LCD_D5_Direction at TRISC5_bit;
sbit LCD_D6_Direction at TRISC6_bit;
sbit LCD_D7_Direction at TRISC7_bit;
// End LCD module connections
float rtdv,rtdr,temp,y; //  Floating-point Types
int msd, isd;
char temperature [6] ;
void main()
{
/* Initialize the microcontroller */
TRISA=0xFF; //configure PORTA as Input direction
TRISB=0;  //configure PORTB as Output direction
TRISC=0;  //configure PORTD as Output direction
PORTA=0; //Clear
PORTB=0;
PORTC=0;
//===============================================
  Lcd_Init();                          // Initialize LCD
  Lcd_Cmd(_LCD_CLEAR);                // CLEAR display
  Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  Lcd_Out(1,1,"RTD Pt100 TEMP.");
while(1) {
 
rtdv = ADC_Read(0);// Get RTD voltage 10-bit result
rtdv  = rtdv  *5 /1024 ; //Scale RTD voltage in Volts
rtdv  = rtdv/5; //for op amp gain
/* Calculate RTD resistance rtdr */
rtdr = rtdv*1000.0/(5.0-rtdv);
/* Calculate temperature temp */
y = 0.15274- (rtdr-100.0)*0.0002310;
if(y>= 0)y = sqrt(y) ;
temp = (y-0.39083)/(-0.0001155) ;
ByteToStr(temp,temperature); // Change to string
   Lcd_Out(2,6,temperature); // Display
   Lcd_Chr(2, 9, 223);// Add degree character
   Lcd_Chr(2, 10, 'C');// Add letter "c"
delay_ms(1000);
//==============
}
}
 



الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:22 PM المشاركة 6   
افتراضي


النتائج :





















الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 13-03-2012, 05:26 PM المشاركة 7   
افتراضي


الملفات الكاملة على الرابط :

http://www.eeecb.com/vb/showthread.php?p=2614&posted=1#post2614


الصورة الرمزية mohatvnet
mohatvnet
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: https://t.me/pump_upp
المشاركات: 961
نشاط [ mohatvnet ]
قوة السمعة:0
قديم 13-03-2012, 08:50 PM المشاركة 8   
افتراضي


استاد الكريم عبد العزيز هل يمكن ان نستبدل RTD بالحساس NTC ادا كان الجواب نعم فمادا نغير في دائرة

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 06:42 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025