جدول المحتويات:

قياس درجة الحرارة باستخدام PT100 و Arduino: 16 خطوة
قياس درجة الحرارة باستخدام PT100 و Arduino: 16 خطوة

فيديو: قياس درجة الحرارة باستخدام PT100 و Arduino: 16 خطوة

فيديو: قياس درجة الحرارة باستخدام PT100 و Arduino: 16 خطوة
فيديو: #lm35 #Arduino قياس درجة الحرارة باستخدام الحساس مع الاردوينو 2024, يوليو
Anonim
قياس درجة الحرارة باستخدام PT100 و Arduino
قياس درجة الحرارة باستخدام PT100 و Arduino

الهدف من هذا المشروع هو تصميم وبناء واختبار نظام استشعار درجة الحرارة. تم تصميم النظام لقياس مدى درجة حرارة من 0 إلى 100 درجة مئوية. تم استخدام PT100 لقياس درجة الحرارة ، وهو كاشف درجة حرارة مقاومة (RTD) يغير مقاومته اعتمادًا على درجة الحرارة المحيطة به.

الخطوة 1: الجهاز

1x PT100

1x اللوح

مقاومات 2x 2.15 kohms

1x 100 أوم المقاوم

الأسلاك

مزود الطاقة

مكبر تفاضلي

الخطوة 2: حول PT100

حول PT100
حول PT100

كجزء من مشروعنا ، نحن مكلفون بقياس درجة الحرارة المحيطة التي تتراوح من 0 درجة إلى 100 درجة مئوية. قررنا استخدام PT100 للأسباب التالية:

جهاز PT100 عبارة عن كاشف لدرجات حرارة المقاومة (RTD) ، يمكنه قياس درجات الحرارة من -200 درجة إلى 850 درجة مئوية كحد أقصى ، ولكنه لا يستخدم عادةً لقياس درجات الحرارة التي تزيد عن 200 درجة. هذا النطاق يتوافق مع متطلباتنا.

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

يتميز جهاز PT100 أيضًا بوقت استجابة بطيء ولكنه دقيق. لا تؤثر هذه الخصائص كثيرًا على هدفنا ، وبالتالي لم تكن مؤثرة بنفس القدر عند تحديد مستشعر درجة الحرارة الذي يجب استخدامه.

الخطوة 3: جسر ويتستون

جسر يتستون
جسر يتستون

يُستخدم جسر ويتستون لقياس مقاومة كهربائية غير معروفة من خلال موازنة ساقين لدائرة جسر ، تتضمن إحدى ساقيها المكون غير المعروف.

تتمثل الفائدة الأساسية للدائرة في قدرتها على الحصول على نطاق لجهد الخرج يبدأ عند 0 فولت.

يمكن استخدام مقسم جهد بسيط ولكنه لن يسمح لنا بالتخلص من أي إزاحة موجودة ، مما يجعل تضخيم خرج الجهد أقل فعالية.

تتراوح المقاومة في PT100 من 100 إلى 138.5055 لدرجة حرارة من 0 إلى 100 درجة مئوية.

معادلة جسر ويتستون أدناه ، يمكن استخدامها لإعادة قياس جسر ويتستون للنطاقات المختلفة التي تم الحصول عليها من جدول pdf المرفق.

صوت = فين (R2 / (R1 + R2) - R4 / (R3 + R4))

في السيناريو الخاص بنا:

ستكون R2 هي مقاومة PT100 الخاصة بنا.

ستكون R1 مساوية لـ R3.

يجب أن يكون R4 مساويًا لـ 100 أوم من أجل إخراج 0V عند 0 درجة مئوية.

يتيح لنا ضبط Vout على 0V و Vin إلى 5V مقاومة الحصول على قيم R1 و R2 = 2.2k أوم.

يمكننا بعد ذلك الضغط على 138.5055 أوم لمقاومة المستشعر للحصول على جهد الخرج عند 100 درجة مئوية = 80 مللي فولت

الخطوة 4: محاكاة الدائرة

محاكاة الدائرة
محاكاة الدائرة

أداة لمحاكاة الدوائر ، تم استخدام OrCAD Capture لمحاكاة دائرتنا والعثور على مخرجات الجهد المتوقعة في درجات حرارة مختلفة. سيتم استخدام هذا لاحقًا لمقارنة مدى دقة نظامنا.

تمت محاكاة الدائرة من خلال إجراء تحليل زمني عابر بمسح بارامي يغيّر مقاومة pt 100 من 100 أوم إلى 138.5055 أوم في درجات 3.85055 أوم.

الخطوة 5: نتائج محاكاة

نتائج محاكاة
نتائج محاكاة

توضح النتائج أعلاه العلاقة الخطية لجهد الخرج للدائرة وقيم المقاومة.

ثم تم إدخال النتائج في برنامج Excel ورسمها. يوفر Excel الصيغة الخطية المرتبطة بهذه القيم. تأكيد الخطية ونطاق جهد الخرج لجهاز الاستشعار.

الخطوة السادسة: إنشاء الدائرة

إنشاء الدائرة
إنشاء الدائرة

تم وضع الدائرة معًا باستخدام مقاومين 2.2 كيلو أوم ومقاوم 100 أوم.

المقاومات لها تحمل + -5٪. تتسبب قيم المقاومة المختلفة في عدم توازن الجسر عند 0 درجة.

تمت إضافة مقاومات متوازية في سلسلة إلى المقاوم 100 أوم لإضافة مقادير اسمية من المقاومة للحصول على R4 أقرب ما يكون إلى 100 أوم قدر الإمكان.

أنتج هذا جهد خرج قدره 0.00021V وهو قريب جدًا من 0V.

R1 هي 2 ، 1638 أوم و R3 تساوي 2 ، 1572 أوم. يمكن توصيل المزيد من المقاوم لجعل R1 و R3 متساويين تمامًا ، مما يعطي جسرًا متوازنًا تمامًا.

الأخطاء المحتملة:

يمكن أن يكون مربع المقاوم المتغير المستخدم لاختبار قيم درجات حرارة مختلفة غير دقيق

الخطوة 7: النتائج المقاسة

النتائج المقاسة
النتائج المقاسة

يمكن رؤية النتائج المقاسة أدناه.

تم قياس التغير في درجة الحرارة باستخدام صندوق مقاوم متغير ، لضبط مقاومة R2 لمقاومات مختلفة يمكن العثور عليها في ورقة بيانات PT100.

سيتم استخدام الصيغة الموجودة هنا كجزء من الكود لتحديد ناتج درجة الحرارة.

الخطوة 8: لنطاقات درجات حرارة أكبر بكثير

لنطاقات درجات حرارة أكبر بكثير
لنطاقات درجات حرارة أكبر بكثير

يمكن إدخال مزدوج حراري من النوع K في الدائرة إذا دعت الحاجة إلى تسجيل درجات حرارة عالية جدًا. يمكن للمزدوجة الحرارية من النوع K قياس نطاق درجة حرارة من -270 إلى 1370 درجة مئوية.

تعمل المزدوجات الحرارية على أساس التأثير الكهروحراري ، ويؤدي الاختلاف في درجة الحرارة إلى فرق الجهد (الجهد).

نظرًا لأن المزدوجات الحرارية تعمل على أساس الاختلاف بين درجتي حرارة ، يجب معرفة درجة الحرارة عند التقاطع المرجعي.

هناك طريقتان للقياس باستخدام المزدوجات الحرارية يمكننا استخدامها:

يمكن وضع مستشعر PT100 عند التقاطع المرجعي وقياس الجهد المرجعي

يمكن وضع التقاطع المرجعي للمزدوجة الحرارية في حمام جليدي والذي سيكون ثابتًا بدرجة 0 درجة مئوية ولكنه سيكون غير عملي لهذا المشروع

الخطوة 9: نظرة عامة: مرحلة مكبر الصوت التفاضلي

نظرة عامة: مرحلة مكبر الصوت التفاضلي
نظرة عامة: مرحلة مكبر الصوت التفاضلي

مكبر الصوت التفاضلي جزء لا يتجزأ من البناء. يجمع مكبر الصوت التفاضلي بين ما هو في الأساس مضخم غير مقلوب ومضخم في دائرة واحدة. بالطبع كما هو الحال مع أي بناء ، فإنه يأتي مع حدوده الخاصة ، ولكن كما هو موضح في الخطوات القليلة التالية ، فإنه يساعد بالتأكيد في الحصول على الإخراج الصحيح 5V.

الخطوة 10: حول مكبر الصوت التفاضلي

حول المضخم التفاضلي
حول المضخم التفاضلي

مكبر الصوت التفاضلي هو مضخم تشغيلي. إنها تلعب دورًا رئيسيًا في تصميم هذه الدائرة لتضخيم خرج الجهد من جسر ويتستون بالسيارات المترية إلى الخامس ثم تتم قراءتها كمدخل للجهد بواسطة Arduino. يأخذ هذا مكبر الصوت مدخلي جهد ويضخم الفرق بين الإشارتين. وهذا ما يسمى مدخلات الجهد التفاضلي. يتم بعد ذلك تضخيم مدخلات الجهد التفاضلي بواسطة مكبر الصوت ويمكن ملاحظتها عند إخراج مكبر الصوت. يتم الحصول على مدخلات مكبر الصوت من فواصل الجهد لجسر ويتستون في القسم السابق.

الخطوة 11: الفوائد والقيود

يأتي مكبر الصوت التفاضلي مع نصيبه من الإيجابيات والسلبيات. الفائدة الرئيسية لاستخدام مثل هذا مكبر للصوت هو سهولة البناء. نتيجة لهذا البناء السهل ، فإنه يجعل استكشاف الأخطاء وإصلاحها التي تواجهها الدائرة أسهل وأكثر كفاءة.

تتمثل سلبيات استخدام مثل هذه الدائرة في أنه من أجل ضبط كسب مكبر الصوت ، يجب إيقاف مقاومات تحديد الكسب (المقاوم الارتجاعي والمقاوم المتصل بالأرض) ، مما قد يستغرق وقتًا طويلاً. ثانيًا ، يحتوي جهاز op-amp على CMRR منخفض نسبيًا (نسبة رفض الوضع الشائع) وهو ليس مثاليًا للتخفيف من تأثير جهد إزاحة الإدخال. وبالتالي ، في تكوين مثلنا ، فإن وجود CMRR عالي أمر ضروري في التخفيف من آثار جهد الإزاحة.

الخطوة 12: تحديد كسب الإخراج المرغوب

يتميز جهاز op-amp بـ 4 مقاومات متصلة بالدائرة. 2 مقاومات متطابقة عند مدخلات الجهد ، ومقاوم آخر متصل بالأرض بالإضافة إلى المقاوم الارتجاعي. يعمل هذان المقاومان كمقاومة مدخلات op-amp. عادةً ما يكفي المقاوم في نطاق 10-100 كيلو أوم ، ولكن بمجرد تعيين هذه المقاومات ، يمكن تحديد الكسب عن طريق ترك كسب الإخراج المطلوب مساويًا لنسبة المقاوم التغذية المرتدة إلى المقاوم المدخل في أحد المدخلات (رف / رين).

يتم مطابقة المقاوم المتصل بالأرض ، وكذلك المقاوم الارتجاعي. هذه هي المقاومات التي تحدد الكسب. من خلال وجود مقاومة عالية للمدخلات ، فإنه يقلل من آثار التحميل على الدائرة ، أي منع كميات عالية من التيار من القيادة عبر الجهاز والذي يمكن أن يكون له تأثيرات مدمرة إذا لم يتم التحكم فيه.

الخطوة 13: متحكم أردوينو الصغير

متحكم أردوينو
متحكم أردوينو

Arduino عبارة عن متحكم دقيق قابل للبرمجة يتميز بمنافذ إدخال / إخراج رقمية وتناظرية. تمت برمجة المتحكم الدقيق لقراءة الجهد من مكبر الصوت عبر دبوس الإدخال التناظري. أولاً ، سيقرأ Arduino الجهد من نطاق خرج الدائرة 0-5 فولت ويحوله إلى 0-1023 DU وسيطبع القيمة. بعد ذلك ، سيتم ضرب القيمة التناظرية في 5 وقسمة 1023 للحصول على قيمة الجهد. سيتم ضرب هذه القيمة في 20 لإعطاء المقياس الدقيق لنطاق درجة الحرارة من 0-100 درجة مئوية.

للحصول على قيم الإزاحة والحساسية ، تم أخذ القراءات من دبوس الإدخال على A0 بقيم مختلفة لـ PT100 وتم رسم الرسم البياني للحصول على المعادلة الخطية.

الكود الذي تم استخدامه:

إعداد باطل () {Serial.begin (9600) ؛ // بدء الاتصال التسلسلي مع الكمبيوتر

pinMode (A0، INPUT) ؛ // سيتم توصيل الإخراج من مكبر الصوت بهذا الدبوس

}

حلقة فارغة()

{تعويم تعويض = 6.4762 ؛

حساسية الطفو = 1.9971 ؛

int AnalogValue = analogRead (A0) ، // اقرأ الإدخال على A0

Serial.print ("قيمة تناظرية:") ؛

Serial.println (AnalogValue) ؛ // طباعة قيمة الإدخال

تأخير (1000) ؛

تعويم DigitalValue = (AnalogValue * 5) / (1023) ؛ // mul بمقدار 5 لإعطاء النطاق 0-100 درجة

Serial.print ("القيمة الرقمية:") ؛

Serial.println (DigitalValue) ؛ // قيمة الجهد التناظري

تعويم درجة الحرارة = (القيمة التناظرية - الإزاحة) / الحساسية ؛

Serial.print ("قيمة درجة الحرارة:") ؛

Serial.println (درجة الحرارة) ؛ // طباعة درجة الحرارة

تأخير (5000) ؛

}

الخطوة 14: استكشاف الأخطاء وإصلاحها

يجب أن يكون لتزويد 15V لجهاز op-amp و 5 V لجسر ويتستون واردوينو أرضية مشتركة. (يجب توصيل جميع قيم 0 فولت معًا.)

يمكن استخدام الفولتميتر للتأكد من أن الجهد ينخفض بعد كل مقاوم للمساعدة في ضمان عدم وجود دوائر قصيرة.

إذا كانت النتائج متفاوتة وغير متسقة ، يمكن اختبار الأسلاك المستخدمة باستخدام الفولتميتر لقياس مقاومة السلك ، إذا كانت المقاومة تقول "غير متصل" فهذا يعني أن هناك مقاومة غير محدودة والسلك به دائرة مفتوحة.

يجب أن تكون الأسلاك أقل من 10 أوم.

يجب أن يكون فرق الجهد عبر جسر ويتستون 0V عند الحد الأدنى لنطاق درجة الحرارة ، إذا لم يكن الجسر متوازنًا ، فقد يكون ذلك بسبب:

المقاومات لها تفاوت ، مما يعني أنه يمكن أن يكون لها خطأ قد يتسبب في عدم توازن جسر ويتستون ، ويمكن فحص المقاومة باستخدام مقياس الفولتميتر إذا تمت إزالته من الدائرة. يمكن إضافة مقاومات أصغر في سلسلة أو موازية لموازنة الجسر.

Rseries = r1 + r2

1 / الموازي = 1 / r1 + 1 / r2

الخطوة 15: إعادة القياس

يمكن العثور على صيغة وطريقة إعادة قياس النظام لدرجة حرارة مختلفة في قسم جسر ويتستون. بمجرد العثور على هذه القيم وإعداد الدائرة:

يجب استبدال PT100 بصندوق مقاوم ، يجب تعديل قيم المقاومة من نطاق درجة الحرارة الجديد باستخدام قيم المقاومة المناسبة التي تم الحصول عليها من ملف pdf المرفق.

الجهد والمقاومات المقاسة ويجب أن يتم رسمها بالتفوق مع درجة الحرارة (المقاومة) على المحور x والجهد على y.

سيتم إعطاء معادلة من هذا الرسم البياني ، سيكون الإزاحة هو الثابت الذي تمت إضافته والحساسية ستكون الرقم مضروبًا في x.

يجب تغيير هذه القيم في الكود وقمت بإعادة تقييم النظام بنجاح.

الخطوة 16: إعداد Arduino

قم بتوصيل خرج أمبير الدائرة بدبوس إدخال A0 في Arduino

قم بتوصيل Arduino Nano عبر منفذ USB على جهاز الكمبيوتر.

الصق الكود في مساحة عمل Arduino Sketch.

قم بتجميع الكود.

حدد أدوات> لوحة> حدد Arduino Nano.

حدد أدوات> منفذ> تحديد منفذ COM.

قم بتحميل الكود إلى Arduino.

القيمة الرقمية الناتجة هي ناتج الجهد لجهاز op-amp (يجب أن يكون 0-5V)

قيمة درجة الحرارة هي الأنظمة التي تقرأ درجة الحرارة بالدرجة المئوية.

موصى به: