Мазмұны:

XinaBox пен термистордың көмегімен температураны өлшеу: 8 қадам
XinaBox пен термистордың көмегімен температураны өлшеу: 8 қадам
Anonim
XinaBox пен термистордың көмегімен температураны өлшеу
XinaBox пен термистордың көмегімен температураны өлшеу

Сұйықтың температурасын XinaBox xChip аналогты кірісі мен термисторлық зонд көмегімен өлшеңіз.

1 -қадам: Бұл жобада қолданылатын заттар

Аппараттық компоненттер

  • ADC бар XinaBox SX02 x 1 xChip аналогты кіріс сенсоры
  • ATmega328P негізіндегі Arduino Uno XinaBox CC01 x 1 xChip нұсқасы
  • Резистор 10к ом х 1 1к кернеуді бөлетін желі үшін резистор
  • Thermistor Probe x 1 10k 25 ° C температурада NTC су өткізбейтін термисторлық зонд
  • XinaBox IP01 x 1 xChip USB бағдарламашысы FTDI Limited компаниясының FT232R негізіндегі
  • XinaBox OD01 x 1 xChip 128x64 пикселдік OLED дисплейі
  • XinaBox XC10 x 4 xChip шиналық қосқыштары
  • XinaBox PU01 x 1 xChip USB (А түрі) қуат көзі
  • 5В USB қуат көзі x 1 қуат банкі немесе соған ұқсас

Бағдарламалық жасақтама және онлайн қызметтері

Arduino IDE

Қолмен жұмыс жасайтын машиналар мен машиналар

Жалпақ бұрағыш Бұрандалы қысқыш қысқышын қатайту немесе босату үшін

2 -қадам: Әңгіме

Кіріспе

Мен сұйықтықтың температурасын қарапайым термометр жасау арқылы өлшегім келді. XinaBox xChips көмегімен мен бұған салыстырмалы қарапайымдылықпен қол жеткізе аламын. Мен температура нәтижелерін көру үшін 0 - 3.3V қабылдайтын SX02 аналогты кірісті xChip, ATmega328P және OD01 OLED дисплейіне негізделген CC01 xChip қолдандым.

Шыныдағы судың температурасын өлшейтін термистор

3 -қадам: Қажетті файлдарды жүктеңіз

Сізге келесі кітапханалар мен бағдарламалық қамтамасыз ету қажет:

  • xSX0X- аналогты кіріс сенсорының кітапханасы
  • xOD01 - OLED дисплей кітапханасы
  • Arduino IDE - даму ортасы

Кітапханаларды қалай орнату керектігін білу үшін мына жерді басыңыз.

Arduino IDE орнатқаннан кейін оны ашып, бағдарламаны жүктеу үшін тақта ретінде «Arduino Pro немесе Pro Mini» таңдаңыз. Сонымен қатар ATmega328P (5V, 16MHz) процессоры таңдалғанына көз жеткізіңіз. Төмендегі суретті қараңыз.

Arduino Pro немесе Pro Mini тақтасын және ATmega328P (5V, 16МГц) процессорын таңдаңыз

4 -қадам: жинау

XChip, IP01 және ATmega328P негізіндегі CC01 xChip бағдарламашысын төменде көрсетілгендей XC10 шина қосқыштарын пайдаланып шертіңіз. CC01 -ге жүктеу үшін қосқыштарды тиісінше 'A' және 'DCE' позициясына орналастыру қажет.

IP01 және CC01 бірге шертілді

Әрі қарай, 10 кОм резисторды алып, бір ұшын «IN» деп белгіленген терминалға, екінші ұшын SX02 жердегі «GND» терминалына бұраңыз. Термисторлық зондтағы сымдарды алып, бір ұшын Vcc, «3.3V», екінші ұшын «IN» терминалына бұраңыз. Төмендегі графикті қараңыз.

SX02 қосылымдары

Енді OD01 мен SX02 -ді CC01 -мен біріктіріп, оларды XC10 шиналық қосылымдарының көмегімен бірге басыңыз. Төменде қараңыз. Суреттегі күміс элемент - термисторлық зонд.

Бағдарламалауға арналған толық қондырғы

5 -қадам: Бағдарлама

Құрылғыны компьютердің USB портына салыңыз. Төмендегі кодты жүктеңіз немесе көшіріңіз және Arduino IDE -ге қойыңыз. Кодты құрастырыңыз және тақтаға жүктеңіз. Жүктелгеннен кейін бағдарлама іске қосылуы керек. Егер зонд бөлме температурасында болса, төменде көрсетілгендей OLED дисплейінде ± 25 ° C температураны сақтау керек.

Жүктелгеннен кейін OLED дисплейіндегі бөлме температурасын бақылаңыз

6 -қадам: Портативті термометр

Құрылғыны компьютерден алып тастаңыз. Құрылғыны бөлшектеңіз және IP01 орнына PU01 көмегімен қайта жинаңыз. Енді 5В USB портативті қуат көзін алыңыз, мысалы, қуат банкі немесе соған ұқсас жаңа қондырғыны. Сізде жақсы дәлдікпен салқын портативті термометр бар. Мұқабаның жұмыс істеуін көру үшін оны қараңыз. Мен шыныдағы ыстық суды өлшедім. Төмендегі суреттер сіздің толық қондырғыңызды көрсетеді.

CC01, OD01, SX02 және PU02 бар толық қондырғы.

7 -қадам: Қорытынды

Бұл жобаны құрастыруға 10 минуттан аз уақыт қажет болды, ал бағдарламаға тағы 20 минут қажет болды. Жалғыз пассивті компонент резистор болды. XChips бірге басу арқылы оны өте ыңғайлы етеді.

8 -қадам: код

ThermTemp_Display.ino Arduino Кодтағы есептеулерді түсіну үшін термисторларды зерттеу.

#include // xCHIPs үшін негізгі кітапхананы қамтиды

#include // аналогты кіріс датчиктерінің кітапханасын қосады #include // OLED дисплей кітапханасын қосады #include // математикалық функцияларды қосады #C_Kelvin 273.15 // келвиннен цельсийге түрлендіру үшін анықтайды #series_res 10000 анықтаңыз // сериялы резистордың омдағы мәні #анықтаңыз B 3950 // термистор үшін В параметрі #бөлмені_таңдауды анықтау K 298.15 // бөлме температурасы келвинде #бөлмені_таңдау 10000 // бөлме температурасындағы омдағы кедергі #define vcc 3.3 // қоректендіру кернеуі xSX01 SX01 (0x55); // i2c адресінің өзгермелі кернеуін орнату; // өлшенетін кернеуді қамтитын айнымалы (0 - 3.3В) float therm_res; // термистордың кедергісі float act_tempK; // нақты температура kelvin float act_tempC; // Цельсийдегі нақты температура void setup () {// бір рет іске қосу үшін орнату кодын осында қойыңыз: // айнымалыларды 0 кернеу = 0 мәніне инициализациялаңыз; therm_res = 0; act_tempK = 0; act_tempC = 0; // сериялық байланысты бастау Serial.begin (115200); // i2c байланысын бастау Wire.begin (); // аналогты кіріс сенсорын іске қосыңыз SX01.begin (); // іске қосу OLED дисплейі OLED.begin (); // таза дисплей OD01.clear (); // кешігуді қалыпқа келтіру үшін кешіктіру (1000); } void loop () {// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз: // SX01.poll () кернеуін оқыңыз; // кернеу кернеуін сақтау = SX01.getVoltage (); // термистордың кедергісін есептеу term_res = ((vcc * series_res) / кернеу) - series_res; // нақты температураны kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)) нақты температураны есептеңіз; // келвинді цельсияға түрлендіру act_tempC = act_tempK - C_Kelvin; // OLED дисплейде басып шығару температурасы // OD01.set2X () орталығында көрсету үшін қолмен форматтау; OD01.println («»); OD01.println («»); OD01. басып шығару («»); OD01.print (act_tempC); OD01. басып шығару («C»); OD01.println («»); кешіктіру (2000); // әр 2 секунд сайын дисплейді жаңартыңыз}

Ұсынылған: