Სარჩევი:

Arduino AD8495 თერმომეტრი: 7 ნაბიჯი
Arduino AD8495 თერმომეტრი: 7 ნაბიჯი

ვიდეო: Arduino AD8495 თერმომეტრი: 7 ნაბიჯი

ვიდეო: Arduino AD8495 თერმომეტრი: 7 ნაბიჯი
ვიდეო: Аналоговый усилитель термопары типа-К на AD8495 2024, ივლისი
Anonim
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი
Arduino AD8495 თერმომეტრი

სწრაფი სახელმძღვანელო, თუ როგორ უნდა მოაგვაროთ თქვენი პრობლემები ამ ტიპის K თერმომეტრით. ვიმედოვნებთ, რომ დაგვეხმარება:)

შემდეგი პროექტისთვის დაგჭირდებათ:

1x Arduino (ნებისმიერი სახის, ჩვენ, როგორც ჩანს, გვქონდა 1 Arduino Nano უფასო)

1x AD8495 (ის ჩვეულებრივ მოდის როგორც სენსორი და ყველაფერი)

6x Jumper მავთული (AD8495 აკავშირებს არდუინოს)

soldering რკინის & soldering მავთულები

სურვილისამებრ:

1x 9V ბატარეა

2x რეზისტორები (ჩვენ ვიყენებდით 1x 10kOhms & 2x5kOhms რადგან ჩვენ დავუკავშირეთ 2x5k ერთად)

გთხოვთ გაუფრთხილდეთ რომ გააგრძელოთ ზრუნვა და დააკვირდეთ თქვენს თითებს. გამაგრილებელ რკინას შეუძლია დამწვრობა გამოიწვიოს, თუ სიფრთხილით არ იქნებით დამუშავებული.

ნაბიჯი 1: როგორ მუშაობს ზოგადად

როგორ მუშაობს საერთოდ
როგორ მუშაობს საერთოდ

საერთოდ ეს თერმომეტრი ადაფრუტის პროდუქტია, მისი K ტიპის სენსორით, რომელიც შეიძლება გამოყენებულ იქნას თითქმის ყველაფრისთვის სახლიდან ან სარდაფში ტემპერატურის გაზომვიდან ღუმელსა და ღუმელში სითბოს გაზომვამდე. მას შეუძლია გაუძლოს ტემპერატურა -260 გრადუსი C– დან 980 – მდე, ხოლო ელექტროენერგიის მიწოდების მცირედი კორექტირებით ის 1380 გრადუს ცელსიუსამდე (რაც საკმაოდ შესამჩნევია) და ისიც საკმაოდ ზუსტი, +/– 2 გრადუსამდე. ვარიაცია საოცრად სასარგებლოა. თუ თქვენ გააკეთებთ ისე, როგორც ჩვენ გავაკეთეთ არდუინო ნანოსთან ერთად, შეგიძლიათ ჩაალაგოთ იგი პატარა ყუთში (იმის გათვალისწინებით, რომ თქვენ გააკეთებთ საკუთარ ყუთს, რომელიც არ შედის ამ გაკვეთილში).

ნაბიჯი 2: დაკავშირება და სწორი გაყვანილობა

დაკავშირება და სწორი გაყვანილობა
დაკავშირება და სწორი გაყვანილობა
დაკავშირება და სწორი გაყვანილობა
დაკავშირება და სწორი გაყვანილობა
დაკავშირება და სწორი გაყვანილობა
დაკავშირება და სწორი გაყვანილობა

როგორც მივიღეთ, პაკეტი ასეთი იყო, როგორც ხედავთ ზემოთ მოყვანილი ფოტოებიდან. არდუინოს დაფასთან დასაკავშირებლად შეგიძლიათ გამოიყენოთ ჯამპერის მავთულები, მაგრამ მე გირჩევთ მავთულის შედუღებას, რადგან ის მუშაობს ძალიან მცირე ძაბვებზე, ასე რომ ნებისმიერმა უმნიშვნელო მოძრაობამ შეიძლება გააფუჭოს შედეგები.

ზემოთ მოყვანილი ფოტოები გადაღებულია იმაზე, თუ როგორ შევაერთეთ მავთულები სენსორზე. ჩვენი პროექტისთვის ჩვენ გამოვიყენეთ Arduino Nano და როგორც ხედავთ ჩვენ ოდნავ შევცვალეთ ჩვენი Arduino ასევე ჩვენი გაზომვებიდან ოპტიმალური შედეგის მისაღებად.

ნაბიჯი 3: გამოყენების ტიპი

გამოყენების ტიპი
გამოყენების ტიპი

მონაცემთა ცხრილის თანახმად, ეს სენსორი შეიძლება გამოყენებულ იქნას -260 -დან 980 გრადუსამდე გაზომვისთვის Arduino 5V ნორმალური კვების ბლოკით, ან შეგიძლიათ დაამატოთ გარე კვების წყარო და ეს მოგცემთ შესაძლებლობას გაზომოთ 1380 გრადუსამდე. მაგრამ ფრთხილად იყავით, თუ თერმომეტრი არდუინოს 5 ვ -ზე მეტს დაუბრუნებს მის წასაკითხად, შეიძლება დააზიანოს თქვენი არდუინო და თქვენი პროექტი განწირული იყოს წარუმატებლად.

ამ პრობლემის გადასაჭრელად ჩვენ ვდებთ ძაბვის გამყოფ მოწყობილობას, რომელიც ჩვენს შემთხვევაში არის Vout Vin ძაბვის ნახევარზე.

ბმულები მონაცემთა ფურცელზე:

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

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

ნაბიჯი 4: კოდის დიდი პრობლემა გაზომვისას

კოდის დიდი პრობლემა გაზომვისას
კოდის დიდი პრობლემა გაზომვისას

თერმომეტრის მონაცემთა ფურცლის თანახმად, რეფერენტი ძაბვაა 1.25V. ჩვენი გაზომვებისას ეს ასე არ იყო … შემდგომი გამოცდისას აღმოვაჩინეთ, რომ რეფერენტული ძაბვა ცვალებადია და ჩვენ ორ კომპიუტერზე შევამოწმეთ, ორივეზე განსხვავებული იყო (!?!). ჩვენ დავამატეთ დაფა დაფაზე (როგორც ნაჩვენებია ზემოთ მოცემულ სურათზე) და ჩვენ კოდში ვდებთ ხაზს, რომ ყოველ ჯერზე წავიკითხოთ რეფერენტი ძაბვის მნიშვნელობა გამოთვლამდე.

ამის მთავარი ფორმულაა Temp = (Vout-1.25) / 0.005.

ჩვენს ფორმულაში ჩვენ გავაკეთეთ: Temp = (Vout-Vref) / 0.005.

ნაბიჯი 5: კოდი ნაწილი 1

კოდი ნაწილი 1
კოდი ნაწილი 1
კოდი ნაწილი 1
კოდი ნაწილი 1

const int AnalogPin = A0; // ანალოგიური პინი temp readconst int AnalogPin2 = A1; // ანალოგური პინი რეფერენტული მნიშვნელობის წასაკითხად float Temp; // Temperaturefloat Vref; // რეფერენტი ძაბვა float Vout; // ძაბვა adcfloat SenVal– ის შემდეგ; // სენსორის მნიშვნელობა float SenVal2; // სენსორის მნიშვნელობა referent pinvoid setup () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // ტემპერატურის ანალოგური მნიშვნელობა SenVal2 = analogRead (A1); // ანალოგიური მნიშვნელობა რეფერენტი pinVref = (SenVal2 *5.0) /1024.0; // ციფრული ანალოგზე გადაყვანა რეფერენტული ღირებულებისთვის Vout = (SenVal * 5.0) /1024.0; // ციფრულიდან ციფრული გარდაქმნა ტემპერატურის კითხვის ძაბვისთვის Temp = (Vout - Vref) /0.005; // ტემპერატურის გაანგარიშება Serial.print ("Temperature ="); Serial.println (Temp); Serial.print ("Referent Voltage ="); Serial.println (Vref); დაგვიანებით (200);}

ეს კოდი გამოიყენება მაშინ, როდესაც თქვენ იყენებთ ენერგიას არდუინოდან (გარე ენერგიის წყაროს გარეშე). ეს შეზღუდავს თქვენს გაზომვას 980 გრადუსამდე C მონაცემების ცხრილის მიხედვით.

ნაბიჯი 6: კოდი ნაწილი 2

კოდი ნაწილი 2
კოდი ნაწილი 2
კოდი ნაწილი 2
კოდი ნაწილი 2

const int AnalogPin = A0; // ანალოგიური პინი temp readconst int AnalogPin2 = A1; // ანალოგური პინი, საიდანაც ვკითხულობთ რეფერენტულ მნიშვნელობას (ეს უნდა გავაკეთოთ იმიტომ, რომ სენსორის რეფერენტი მნიშვნელობა არასტაბილურია) float Temp; // Temperaturefloat Vref; // რეფერენტი ძაბვის მცურავი ვალფი; // ძაბვა არდუინოზე წაკითხვის შემდეგ გამყოფი ფლოტი Vout; // ძაბვა კონვერტაციის შემდეგ float SenVal; // სენსორის მნიშვნელობა float SenVal2; // სენსორის მნიშვნელობა იქიდან, სადაც ვიღებთ referent valuevoid setup () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // ანალოგური გამომავალი მნიშვნელობაSenVal2 = analogRead (A1); // ანალოგური გამომავალი საიდანაც ვიღებთ რეფერენტულ მნიშვნელობას Vref = (SenVal2 * 5.0) /1024.0; // ანალოგური მნიშვნელობის გადატანა რეფერენტი პინიდან ციფრულ მნიშვნელობამდე Vhalf = (SenVal * 5.0) /1024.0; // ანალოგი ციფრულ მნიშვნელობად გარდაქმნა Vout = 2 * Vhalf; // ძაბვის გაანგარიშება ნახევარი ძაბვის გამყოფის შემდეგ Temp = (Vout - Vref) /0.005; // ტემპერატურის ფორმულის გამოთვლა.println (Vref); დაგვიანებით (100);}

ეს არის კოდი, თუ თქვენ იყენებთ ენერგიის გარე წყაროს და ამისათვის ჩვენ ვიყენებთ ძაბვის გამყოფს. ამიტომ ჩვენ გვაქვს "Vhalf" მნიშვნელობა შიგნით. გამოყენებული ძაბვის გამყოფი (იხ. ნაწილი 3) არის შემომავალი ძაბვის ნახევარი (R1 აქვს იგივე ოჰ მნიშვნელობები, როგორც R2), რადგან ჩვენ ვიყენებდით 9 ვ ბატარეას. როგორც ზემოთ აღვნიშნეთ, 5V- ზე ზემოთ ნებისმიერმა ძაბვამ შეიძლება დააზიანოს თქვენი Arduino, ასე რომ ჩვენ მივიღეთ მაქსიმალური 4.5V (რაც ამ შემთხვევაში შეუძლებელია, ვინაიდან ძაბვის გამყოფის შემდეგ სენსორიდან მაქსიმალური სიმძლავრე შეიძლება იყოს დაახლოებით 3.5V).

ნაბიჯი 7: შედეგები

შედეგები
შედეგები
შედეგები
შედეგები
შედეგები
შედეგები
შედეგები
შედეგები

როგორც ხედავთ ეკრანის სურათებიდან ზემოთ, ჩვენ გამოვცადეთ და მუშაობს. გარდა ამისა ჩვენ მოგაწოდეთ ორიგინალური Arduino ფაილები.

ეს არის ის, ჩვენ ვიმედოვნებთ, რომ ის დაგეხმარებათ თქვენი პროექტების განხორციელებაში.

გირჩევთ: