Mundarija:

Arduino AD8495 termometr: 7 qadam
Arduino AD8495 termometr: 7 qadam

Video: Arduino AD8495 termometr: 7 qadam

Video: Arduino AD8495 termometr: 7 qadam
Video: Аналоговый усилитель термопары типа-К на AD8495 2024, Noyabr
Anonim
Arduino AD8495 termometr
Arduino AD8495 termometr
Arduino AD8495 termometr
Arduino AD8495 termometr
Arduino AD8495 termometr
Arduino AD8495 termometr
Arduino AD8495 termometr
Arduino AD8495 termometr

K-tipli termometr yordamida muammolaringizni hal qilish bo'yicha tezkor qo'llanma. Umid qilamizki, bu yordam beradi:)

Quyidagi loyiha uchun sizga kerak bo'ladi:

1x Arduino (har qanday turdagi, bizda faqat 1 Arduino Nano bepul bo'lganga o'xshardi)

1x AD8495 (odatda sensori va hamma narsaga ega to'plam sifatida keladi)

6x o'tish simlari (AD8495 -ni Arduino -ga ulash)

lehim temir va lehim simlari

Ixtiyoriy:

1x 9V batareya

2x rezistorlar (biz 1x 10kOm va 2x5kOm ishlatardik, chunki biz 2x5kni bir -biriga uladik)

Ehtiyot bo'ling va barmoqlaringizni diqqat bilan kuzatib boring. Agar lehimlantiruvchi temir ehtiyotkorlik bilan ishlatilmasa, kuyishga olib kelishi mumkin.

1 -qadam: U umuman qanday ishlaydi

Umuman qanday ishlaydi
Umuman qanday ishlaydi

Umuman olganda, bu termometr-A tipidagi sensori bo'lgan Adafruit mahsuloti bo'lib, u uydan yoki podvaldagi haroratni o'lchashdan tortib o'choq va pechning issiqligini o'lchashgacha deyarli hamma narsada ishlatilishi mumkin. U -260 darajadan 980 gacha bo'lgan haroratga bardosh bera oladi va quvvat manbaini ozgina sozlash bilan u 1380 darajagacha boradi (bu juda ajoyib) va u juda aniq, +/- 2 daraja. o'zgarishi juda foydali. Agar siz buni Arduino Nano -da qilganimizdek qilsangiz, uni kichik qutiga ham yig'ib qo'yishingiz mumkin (agar siz o'z qo'lingiz bilan bu darslikka kirmagan bo'lsangiz).

2 -qadam: ulanish va to'g'ri simlar

Ulanish va to'g'ri simlarni ulash
Ulanish va to'g'ri simlarni ulash
Ulanish va to'g'ri simlar
Ulanish va to'g'ri simlar
Ulanish va to'g'ri simlar
Ulanish va to'g'ri simlar

Biz olganimizda, paket yuqoridagi rasmlardan ko'rinib turibdiki, shunday edi. Siz uni Arduino kartasiga ulash uchun o'tish simlarini ishlatishingiz mumkin, lekin men simlarni lehimlashni tavsiya qilaman, chunki u juda kichik kuchlanishlarda ishlaydi, shuning uchun har qanday engil harakat natijalarni buzishi mumkin.

Yuqoridagi fotosuratlar biz simlarni sensorga qanday lehimlaganimiz haqida olingan. Loyihamiz uchun biz Arduino Nano -dan foydalandik va ko'rib turganingizdek, biz o'lchovlarimizdan optimal natijalarga erishish uchun Arduino -ni biroz o'zgartirdik.

3 -qadam: Foydalanish turi

Foydalanish turi
Foydalanish turi

Ma'lumotlar varag'i ma'lumotlariga ko'ra, bu sensor oddiy Arduino 5V quvvat manbai bilan -260 dan 980 darajagacha bo'lgan haroratni o'lchash uchun ishlatilishi mumkin yoki siz tashqi quvvat manbasini qo'shishingiz mumkin, bu sizga 1380 gradusgacha o'lchash imkoniyatini beradi. Ehtiyot bo'ling, agar termometr Arduino -ga o'qish uchun 5V dan yuqori kuchlanish qaytarsa, Arduino -ga zarar etkazishi mumkin va sizning loyihangiz muvaffaqiyatsiz bo'lishi mumkin.

Ushbu muammoni bartaraf etish uchun biz qurilmaga VV kuchlanishining yarmigacha bo'lgan kuchlanish taqsimlagichini qo'yamiz.

Ma'lumotlar jadvaliga havolalar:

www.analog.com/media/en/technical-documenta…

www.analog.com/media/en/technical-documenta…

4 -qadam: O'lchashda kod bilan bog'liq katta muammo

O'lchashda kod bilan bog'liq katta muammo
O'lchashda kod bilan bog'liq katta muammo

Termometr uchun ma'lumotlar jadvaliga ko'ra, mos yozuvlar zo'riqishida 1.25V. Bizning o'lchovlarimizda bunday emas edi … Biz yana sinab ko'rdik, referent kuchlanish o'zgaruvchan va biz ikkita kompyuterda sinab ko'rdik, ikkalasida ham har xil (!?!). Biz taxtaga pin qo'yamiz (yuqoridagi rasmda ko'rsatilgandek) va biz har safar hisoblashdan oldin referent kuchlanish qiymatini o'qish uchun kodni qo'yamiz.

Buning asosiy formulasi Temp = (Vout-1.25) / 0.005.

Biz formulada shunday qildik: Temp = (Vout-Vref) / 0.005.

5 -qadam: Kod 1 -qism

Kod 1 -qism
Kod 1 -qism
Kod 1 -qism
Kod 1 -qism

const int AnalogPin = A0; // temp o'qish uchun analog pin int AnalogPin2 = A1; // Harorat qiymatini o'qish uchun analog pin. // Harorat yuzasi Vref; // Yo'naltiruvchi kuchlanish // SenValdan keyingi kuchlanish; // SensVlofloat SenVal2; // Sensor qiymati mos yozuvlar pinvoid sozlamasidan () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // SenVal2 haroratidan analog qiymat = analogRead (A1); // Referativ pinVref = (SenVal2 *5.0) /1024.0 dan analog qiymat; // Referent valueVout uchun analogga raqamli konvertatsiya = (SenVal * 5.0) /1024.0; // Harorat o'qiladigan kuchlanish uchun analogga raqamli konvertatsiya Temp = (Vout - Vref) /0.005; // Haroratni hisoblash Serial.print ("Harorat ="); Serial.println (Temp); Serial.print ("Referent kuchlanish ="); Serial.println (Vref); kechikish (200);}

Bu kod Arduino quvvatidan foydalanganda ishlatiladi (tashqi quvvat manbai yo'q). Ma'lumotlar jadvaliga ko'ra, bu sizning o'lchovingizni 980 darajagacha cheklaydi.

6 -qadam: Kod 2 -qism

Kod 2 -qism
Kod 2 -qism
Kod 2 -qism
Kod 2 -qism

const int AnalogPin = A0; // temp o'qish uchun analog pin int AnalogPin2 = A1; // Analog pin biz referent qiymatini o'qiymiz (buni sensorning referent qiymati beqaror bo'lgani uchun qilishimiz kerak edi) float Temp; // Harorat yuzasi Vref; // Yo'naltiruvchi kuchlanish qanoti Vhalf; // Vout ajratgichdan keyin o'qilgan arduino kuchlanish. // SenVal konvertatsiyasidan keyingi kuchlanish; // SensVlofloat SenVal2; // Sensor qiymati, biz qayerda referent valuevoid ni olsak () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // Analog chiqish qiymatiSenVal2 = analogRead (A1); // Analog chiqish qaerdan biz referent valueVref = (SenVal2 * 5.0) /1024.0 olamiz; // Analog qiymatni mos yozuvlar pinidan raqamli qiymatga o'tkazishVhalf = (SenVal * 5.0) /1024.0; // Analogni raqamli qiymatga aylantirishVout = 2 * Vhalf; // Yarim kuchlanish kuchlanishidan keyin kuchlanishni hisoblashTemp = (Vout - Vref) /0,005; // Harorat formulasini hisoblashSerial.print ("Harorat ="); Serial.println (Temp); Serial.print ("Vout ="); Serial.println (Vout); Serial.print ("Referent kuchlanish ="); Serial.println (Vref); kechiktirish (100);}

Agar siz tashqi quvvat manbaidan foydalanayotgan bo'lsangiz va bu uchun biz kuchlanish taqsimlagichidan foydalansak, bu kod. Shuning uchun biz ichimizda "Vhalf" qiymatiga egamiz. Bizning kuchlanish taqsimlagichimiz (3 -qismga qarang) kiruvchi kuchlanishning yarmiga teng (R1 R2 bilan bir xil ohmli qiymatlarga ega), chunki biz 9V batareyadan foydalanganmiz. Yuqorida aytib o'tilganidek, 5V dan yuqori bo'lgan har qanday kuchlanish sizning Arduino -ga zarar etkazishi mumkin, shuning uchun biz uni maksimal 4,5 V ga etkazdik (bu holda mumkin emas, chunki kuchlanish bo'linishidan keyin sensordan yuqori quvvat chiqishi 3,5 V atrofida bo'lishi mumkin).

7 -qadam: Natijalar

Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar

Yuqoridagi skrinshotlardan ko'rib turganingizdek, biz uni sinab ko'rdik va u ishlaydi. Bundan tashqari, biz sizga asl Arduino fayllarini taqdim etdik.

Bu shunday, umid qilamizki, bu sizning loyihalaringizga yordam beradi.

Tavsiya: