Мазмуну:

Arduino AD8495 Термометр: 7 кадам
Arduino AD8495 Термометр: 7 кадам

Video: Arduino AD8495 Термометр: 7 кадам

Video: Arduino AD8495 Термометр: 7 кадам
Video: Аналоговый усилитель термопары типа-К на 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ти Arduino менен туташтырат)

ширетүүчү жана ширетүүчү зым

ОПЦИОНАЛДУУ:

1х 9В батарея

2x резисторлор (биз 1x 10kOhms & 2x5kOhms колдонгонбуз, анткени биз 2x5kти бириктирдик)

Сураныч, этияттык менен улантуудан жана манжаларыңызды кароодон сак болуңуз. Этияттык менен колдонулбаса, ширетүүчү күйүк алып келиши мүмкүн.

1 -кадам: Бул жалпысынан кантип иштейт

Ал жалпысынан кантип иштейт
Ал жалпысынан кантип иштейт

Жалпысынан алганда, бул термометр Adafruit продуктусу, анын K-типтеги сенсору бар, аны үйдө же жертөлөдөгү температураны өлчөөдөн мешке жана мешке жылуулукту өлчөөгө чейин дээрлик бардык нерселер үчүн колдонсо болот. Ал -260 градустан 980ге чейин температурага туруштук бере алат жана электр менен камсыздоонун кичине жөнгө салынышы менен 1380 градуска чейин жетет (бул абдан таң калыштуу) жана ал абдан так, +/- 2 градус менен айырмачылык абдан пайдалуу. Эгер сиз муну Arduino Nano менен кылгандай кылып жасасаңыз, аны кичинекей кутуга салып коюңуз (бул окуу куралына кирбеген өзүңүздүн кутуңузду жасайсыз).

2 -кадам: туташуу жана туура зым

Байланыш жана туура зым
Байланыш жана туура зым
Байланыш жана туура зым
Байланыш жана туура зым
Байланыш жана туура зым
Байланыш жана туура зым

Биз алган пакет жогорудагы сүрөттөрдөн көрүнүп тургандай ушундай болгон. Сиз Arduino тактасына туташтыруу үчүн секиргич зымдарды колдонсоңуз болот, бирок мен зымдарды ширетүүнү сунуштайт элем, анткени ал өтө кичине чыңалууда иштейт, андыктан кандайдыр бир кичине кыймыл натыйжаларды бузушу мүмкүн.

Жогорудагы сүрөттөр сенсорго зымдарды кантип ширеткенибиз тартылган. Биздин долбоор үчүн биз Arduino Nano колдондук жана сиз көрүп тургандай, биз өзүбүздүн өлчөөлөрдөн оптималдуу натыйжаларды алуу үчүн Arduino -бузду бир аз өзгөрттүк.

3 -кадам: Колдонуунун түрү

Колдонуу түрү
Колдонуу түрү

Маалыматтар барагына ылайык, бул сенсор кадимки Arduino 5V кубаттуулугу менен -260тан 980 градуска чейин өлчөө үчүн колдонулушу мүмкүн же сиз тышкы энергия булагын кошо аласыз жана бул сизге 1380 градуска чейин өлчөөгө мүмкүнчүлүк берет. Бирок, этият болуңуз, эгер термометр Arduinoго 5Вдан көп кайтарып берсе, анда ал сиздин Arduinoңузга зыян келтириши мүмкүн жана сиздин долбооруңуз ишке ашпай калышы мүмкүн.

Бул көйгөйдү чечүү үчүн, биз түзмөктө Вин чыңалуусунун жарымына чейин Vout болгон чыңалуу бөлүштүргүчтү койдук.

Маалымат барагына шилтемелер:

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

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

4 -кадам: Өлчөө учурунда код менен болгон чоң көйгөй

Өлчөө учурунда код менен болгон чоң көйгөй
Өлчөө учурунда код менен болгон чоң көйгөй

Термометрдин маалымат барагына ылайык, референттик чыңалуу 1,25В. Биздин өлчөөлөрдө андай болгон жок … Биз дагы текшерип көрсөк, референттик чыңалуу өзгөрмөлүү экенин билдик жана биз эки компьютерде сынап көрдүк, экөөндө тең (!?!). Ооба, биз тактага төөнөгүчтү койдук (жогорудагы сүрөттө көрсөтүлгөндөй) жана биз эсептөө алдында ар бир жолу референттик чыңалуунун маанисин окуу үчүн кодго сызык койдук.

Бул үчүн негизги формула Temp = (Vout-1.25) / 0.005.

Биздин формулада биз аны жасадык: Temp = (Vout-Vref) / 0.005.

5 -кадам: Код 1 -бөлүк

Код 1 -бөлүм
Код 1 -бөлүм
Код 1 -бөлүм
Код 1 -бөлүм

const int AnalogPin = A0; // AnalogPin2 = A1; // Referent valuefloat Temp окуу үчүн аналогдук пин; // Temperaturefloat Vref; // Referent kuchlanishfloat Vout; // AdCfloat SenValдан кийинки чыңалуу; // SensVelfloat SenVal2; // Referent pinvoid setupтен сенсордун мааниси () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // SenVal2 температурасынан аналогдук маани = analogRead (A1); // Refererent pinVref аналогдук мааниси = (SenVal2 *5.0) /1024.0; // Referent valueVout үчүн санарипке аналогдук которуу = (SenVal * 5.0) /1024.0; // Температураны окуу чыңалуусу үчүн санарипке которуу Temp = (Vout - Vref) /0.005; // Температураны эсептөө Serial.print ("Температура ="); Serial.println (Temp); Serial.print ("Referent Voltage ="); Serial.println (Vref); кечигүү (200);}

Бул код Arduino (тышкы энергия булагы жок) кубатын колдонгондо колдонулат. Бул маалымат барагына ылайык өлчөөңүздү 980 градуска чейин чектейт.

6 -кадам: Код 2 -бөлүк

Кодекс 2 -бөлүк
Кодекс 2 -бөлүк
Кодекс 2 -бөлүк
Кодекс 2 -бөлүк

const int AnalogPin = A0; // AnalogPin2 = A1; // Биз референттик маанини окуган жерден аналогдук пин (муну сенсордун референттик мааниси туруксуз болгондуктан жасашыбыз керек болчу) калкып жүрүүчү Темп; // Temperaturefloat Vref; // Референттик чыңалуу флоаты Vhalf; // Ардуинодогу чыңалуу Vout бөлгүчүнөн кийин окулат; // ConvertFloat SenValдан кийинки чыңалуу; // SensVelfloat SenVal2; // Сенсордун мааниси биз кайдан алабыз referent valuevoid setup () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // Analog output valueSenVal2 = analogRead (A1); // Аналогдук чыгаруу, биз referent valueVref = кайдан алабыз, (SenVal2 * 5.0) /1024.0; // Аналогдук маанини Referent пинден санарипке которууVhalf = (SenVal * 5.0) /1024.0; // Аналогду санарипке которуу ValueVout = 2 * Vhalf; // Жарым чыңалуудан кийин чыңалууну эсептөөTemp = (Vout - Vref) /0.005; // Температуранын формуласын эсептөөSerial.print ("Temperature ="); Serial.println (Temp); Serial.print ("Vout ="); Serial.println (Vout); Serial.print ("Referent Voltage ="); Serial.println (Vref); кечиктирүү (100);}

Бул тышкы кубат булагын колдонуп жаткан болсоңуз, бул үчүн биз чыңалуу бөлүштүргүчүн колдонобуз. Ошондуктан биз ичинде "Vhalf" баалуулугу бар. Биз колдонгон чыңалуу бөлүштүргүч (3 -бөлүктү караңыз) кирүүчү чыңалуунун жарымына чейин (R1 R2 ом маанилерине ээ), анткени биз 9В батареяны колдондук. Жогоруда айтылгандай, 5Vдан жогору болгон ар кандай чыңалуу сиздин Arduino -ңузга зыян келтириши мүмкүн, ошондуктан биз аны максималдуу 4.5В алдык (бул учурда мүмкүн эмес, анткени чыңалуу бөлүштүргүчтөн кийин сенсордун жогорку кубаттуулугу 3,5В айланасында болушу мүмкүн).

7 -кадам: Жыйынтыктар

Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар

Жогорудагы скриншоттордон көрүнүп тургандай, биз аны сынап көрдүк жана ал иштейт. Мындан тышкары, биз сизге түпнуска Arduino файлдарын бердик.

Бул сиздин долбоорлоруңузга жардам берет деп үмүттөнөбүз.

Сунушталууда: