فئات: دوائر متحكم
مرات المشاهدة: 9996
تعليقات على المقال: 0
قياس درجة الحرارة والرطوبة على اردوينو - مجموعة مختارة من الطرق
لإنشاء محطة الطقس الرئيسية أو مقياس الحرارة ، تحتاج إلى معرفة كيفية إقران لوحة Arduino وجهاز لقياس درجة الحرارة والرطوبة. يمكن التعامل مع قياس درجة الحرارة باستخدام الثرمستور أو جهاز استشعار رقمي DS18B20 ، ولكن لقياس الرطوبة استخدام أجهزة أكثر تعقيدًا - أجهزة استشعار DHT11 أو DHT22. في هذه المقالة ، سنعرض لك كيفية قياس درجة الحرارة والرطوبة باستخدام Arduino وهذه المجسات.

قياس الثرمستور
أسهل طريقة لتحديد درجة الحرارة هي الاستخدام الثرمستور. هذا هو نوع من المقاومة التي تعتمد مقاومتها على درجة الحرارة المحيطة. هناك ثيرموستات مع معامل درجة حرارة موجب وسالب للمقاومة - PTC (وتسمى أيضا posistors) و NTC ثيرمستورات ، على التوالي.
في الرسم البياني أدناه ترى اعتماد درجة حرارة المقاومة. يظهر الخط المتقطع الاعتماد على الثرمستور TCS السلبي (NTC) ، والخط الصلب للعاكس الحراري TCS الإيجابي (PTC).

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

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

حيث A و B و C هي ثوابت الثرمستور التي تحددها قياس ثلاث درجات حرارة بفارق 10 درجات مئوية على الأقل. في الوقت نفسه ، تشير مصادر مختلفة إلى أن الثرمستور NTC النموذجي 10 كيلووات متساوٍ:


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

في هذه الحالة ، يشار إلى B في النموذج:

هذا يعني أن المعامل تم حسابه على أساس البيانات التي تم الحصول عليها عند قياس المقاومة عند درجات حرارة 25 و 100 درجة مئوية ، وهذا هو البديل الأكثر شيوعًا. ثم يتم حسابها بواسطة الصيغة:
B = (ln (R1) - ln (R2)) / (1 / T1 - 1 / T2)
يظهر أدناه مخطط اتصال نموذجي لثرمستور إلى متحكم.

هنا R1 عبارة عن مقاوم ثابت ، ويتم توصيل الثرمستور بمصدر الطاقة ، ويتم أخذ البيانات من نقطة المنتصف بينهما ، ويوضح الرسم البياني بشرط أن الإشارة موصولة بالدبوس A0 - هذا التناظرية المدخلات اردوينو.

لحساب مقاومة الثرمستور ، يمكنك استخدام الصيغة التالية:
R من الثرمستور = R1⋅ ((Vcc / Voutput) −1)
للترجمة إلى لغة يمكن فهمها بالنسبة إلى arduino ، يجب أن تتذكر أن لدى arduino وحدة ADC ذات 10 بتات ، وبالتالي فإن الحد الأقصى للقيمة الرقمية لإشارة الدخل (جهد 5V) سيكون 1023. ثم ، بشرط:
-
Dmax = 1023 ؛
-
D هي القيمة الفعلية للإشارة.
ثم:
R من الثرمستور = R1⋅ ((Dmax / D) −1)
الآن نستخدم هذا لحساب المقاومة ومن ثم حساب درجة حرارة الثرمستور باستخدام معادلة بيتا في لغة البرمجة لاردوينو. سيكون الرسم مثل هذا:

DS18B20
أكثر شعبية لقياس درجة الحرارة مع.عثر اردوينو على جهاز استشعار رقمي DS18B20. يتواصل مع المتحكم الدقيق عبر واجهة واحدة من سلك ، يمكنك توصيل العديد من أجهزة الاستشعار (ما يصل إلى 127) بسلك واحد ، وللوصول إليها سيكون عليك معرفة هوية كل من أجهزة الاستشعار.
ملاحظة: يجب أن تعرف المعرف حتى لو كنت تستخدم جهاز استشعار واحد فقط.

مخطط اتصال مستشعر ds18b20 بأردوينو يبدو كما يلي:


يوجد أيضًا وضع طاقة طفيلي - يبدو مخطط الاتصال الخاص به هكذا (تحتاج إلى سلكين بدلاً من ثلاثة):

في هذا الوضع ، لا يضمن التشغيل الصحيح عند قياس درجات الحرارة فوق 100 درجة مئوية.
يتكون مستشعر درجة الحرارة الرقمي DS18B20 من مجموعة كاملة من العقد ، مثل أي نظام SIMS آخر. يمكنك مشاهدة أجهزته الداخلية أدناه:

للعمل معها ، تحتاج إلى تنزيل مكتبة Onewire لـ Arduino ، ومن المستحسن استخدام مكتبة DallasTemperature للمستشعر نفسه.

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

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

مخطط الاتصال بسيط للغاية:
-
1 الاستنتاج - التغذية ؛
-
2 استنتاج - البيانات ؛
-
3 استنتاج - لا تستخدم ؛
-
4 الاستنتاج - السلك العام.
إذا كان لديك جهاز استشعار في شكل وحدة ، فستحصل على ثلاثة مخرجات ، لكنك لا تحتاج إلى مقاوم - فهي ملحومة بالفعل على اللوحة.

للعمل ، نحتاج إلى مكتبة dht.h ، فهي ليست في المجموعة القياسية ، لذلك يجب تنزيلها وتثبيتها في مجلد المكتبات في المجلد باستخدام ملف arduino IDE. وهو يدعم جميع أجهزة الاستشعار في هذه العائلة:
-
دهت 11 ؛
-
DHT 21 (AM2301) ؛
-
DHT 22 (AM2302، AM2321).
مثال على استخدام المكتبة:

استنتاج
في الوقت الحاضر ، أصبح إنشاء محطة خاصة بك لقياس درجة الحرارة والرطوبة أمرًا بسيطًا جدًا بفضل نظام Arduino. تكلفة هذه المشاريع هي 3-4 مائة روبل. لعمر البطارية ، وليس الإخراج إلى جهاز كمبيوتر ، يمكن استخدامها عرض الأحرف (وصفناها في مقالة حديثة) ، ثم يمكنك إنشاء جهاز محمول لاستخدامه في المنزل وفي السيارة. اكتب في التعليقات ماذا تريد أن تعرفه عن الحرف اليدوية المنزلية البسيطة على اردوينو!
انظر أيضا في هذا الموضوع:أجهزة استشعار شعبية لاردوينو - اتصال ، الرسوم البيانية ، اسكتشات
انظر أيضا في electro-ar.tomathouse.com
: