Talaan ng mga Nilalaman:

Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor: 8 Hakbang
Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor: 8 Hakbang

Video: Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor: 8 Hakbang

Video: Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor: 8 Hakbang
Video: THERMOMETER - SCIENCE 3 - QUARTER 1 2024, Nobyembre
Anonim
Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor
Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor

Sukatin ang temperatura ng isang likido gamit ang isang analogue input xChip mula sa XinaBox at isang probe ng thermistor.

Hakbang 1: Mga Bagay na Ginamit sa Project na Ito

Mga bahagi ng hardware

  • XinaBox SX02 x 1 xChip analogue input sensor na may ADC
  • XinaBox CC01 x 1 xChip bersyon ng Arduino Uno batay sa ATmega328P
  • Resistor 10k ohm x 1 10k risistor para sa boltahe divider network
  • Thermistor Probe x 1 10k sa 25 ° C NTC hindi tinatagusan ng tubig thermistor probe
  • XinaBox IP01 x 1 xChip USB Programmer batay sa FT232R Mula sa FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 Pixel OLED Display
  • XinaBox XC10 x 4 xChip mga konektor ng bus
  • XinaBox PU01 x 1 xChip USB (Type A) Power Supply
  • 5V USB Power Supply x 1 Power Bank o katulad

Mga software app at serbisyong online

Arduino IDE

Mga tool sa kamay at katha machine

Flathead Screwdriver Upang higpitan o paluwagin ang terminal ng clamp ng turnilyo

Hakbang 2: Kwento

Panimula

Nais kong sukatin ang temperatura ng isang likido sa pamamagitan ng paglikha ng isang simpleng thermometer. Sa pamamagitan ng paggamit ng XinaBox xChips magagawa ko ito nang may kamag-anak. Ginamit ko ang SX02 analogue input xChip na tumatanggap ng 0 - 3.3V, ang CC01 xChip batay sa ATmega328P at ang OD01 OLED display xChip upang matingnan ang mga resulta ng temperatura.

Pagsusukat ng thermistor ng temperatura ng tubig sa isang baso

Hakbang 3: Mag-download ng Mga kinakailangang File

Kakailanganin mo ang mga sumusunod na aklatan at software:

  • xSX0X- Analogue input sensor library
  • xOD01 - OLED display library
  • Arduino IDE - Kapaligiran sa pag-unlad

Mag-click dito upang makita kung paano i-install ang mga aklatan.

Kapag na-install mo na ang Arduino IDE, buksan ito at piliin ang "Arduino Pro o Pro Mini" bilang board upang mai-upload ang iyong programa. Siguraduhin din na napili ang ATmega328P (5V, 16MHz) na processor. Tingnan ang imahe sa ibaba.

Piliin ang Arduino Pro o Pro Mini board at ang ATmega328P (5V, 16MHz) na processor

Hakbang 4: Magtipon

I-click ang programmer xChip, IP01, at ang ATmega328P batay sa CC01 xChip na magkasama gamit ang mga konektor ng XC10 bus tulad ng ipinakita sa ibaba. Upang mai-upload sa CC01 kakailanganin mong ilagay ang mga switch sa mga posisyon na 'A' at 'DCE' ayon sa pagkakabanggit.

Magkasama na nag-click ang IP01 at CC01

Susunod, kunin ang iyong risistor na 10kΩ at i-tornilyo ang isang dulo sa terminal na minarkahang "IN" at ang kabilang dulo sa ground terminal, "GND", sa SX02. Kunin ang mga lead sa probe ng thermistor at i-tornilyo ang isang dulo sa Vcc, "3.3V", at ang kabilang dulo sa terminal na "IN". Tingnan ang graphic sa ibaba.

Mga koneksyon sa SX02

Pagsamahin ngayon ang OD01 at SX02 sa CC01 sa pamamagitan ng simpleng pag-click sa kanila nang magkasama gamit ang mga koneksyon ng XC10 bus. Tingnan sa ibaba. Ang elemento ng pilak sa imahe ay ang probolistang probe.

Kumpletuhin ang unit para sa programa

Hakbang 5: Programa

Ipasok ang yunit sa USB port sa iyong computer. Mag-download o kopyahin at i-paste ang code sa ibaba sa iyong Arduino IDE. Compile at i-upload ang code sa iyong board. Kapag na-upload ang iyong programa ay dapat magsimulang tumakbo. Kung ang iyong pagsisiyasat ay nasa mga kondisyon ng temperatura ng kuwarto, dapat mong obserbahan ang ± 25 ° C sa display na OLED tulad ng ipinakita sa ibaba.

Matapos ang pag-upload obserbahan ang temperatura ng kuwarto sa display na OLED

Hakbang 6: Portable Thermometer

Alisin ang yunit mula sa iyong computer. I-disassemble ang unit at muling tipunin ito gamit ang PU01 sa halip na IP01. Ngayon kunin ang iyong 5V USB portable power supply tulad ng isang power bank o katulad at ipasok ang bagong pagpupulong dito. Mayroon ka na ngayong sariling cool na portable thermometer na may mahusay na kawastuhan. Tingnan ang imahe ng pabalat upang makita ito sa pagpapatakbo. Sinukat ko ang mainit na tubig sa isang baso. Ipinapakita ng mga larawan sa ibaba ang iyong kumpletong yunit.

Kumpletuhin ang yunit na binubuo ng CC01, OD01, SX02 at PU02.

Hakbang 7: Konklusyon

Ang proyektong ito ay tumagal ng mas mababa sa 10min upang magtipon at isa pang 20min sa programa. ang kinakailangan lamang na passive na sangkap ay isang risistor. Ang xChip ay nag-click lamang nang magkasama na ginagawang mas maginhawa.

Hakbang 8: Code

ThermTemp_Display.ino Arduino Research thermistors upang maunawaan ang mga kalkulasyon sa code.

# isama // isama ang pangunahing library para sa mga xCHIP

# isama // isama ang analogue input sensor library # isama // isama ang OLED display library #include // isama ang mga pag-andar ng matematika # tukuyin ang C_Kelvin 273.15 // para sa pag-convert mula sa kelvin hanggang celsius # tukuyin ang serye_res 10000 // halaga ng serye ng risistor sa ohms #define B 3950 // B parameter para sa thermistor #define room_tempK 298.15 // room temperatura sa kelvin #define room_res 10000 // paglaban sa temperatura ng kuwarto sa ohms #define vcc 3.3 // supply voltage xSX01 SX01 (0x55); // itakda ang i2c address float voltage; // variable na naglalaman ng sinusukat na boltahe (0 - 3.3V) float therm_res; // paglaban ng thermistor float act_tempK; // aktwal na temperatura kelvin float act_tempC; // aktwal na temperatura sa celsius void setup () {// ilagay ang iyong code sa pag-set up dito, upang tumakbo nang isang beses: // simulan ang mga variable sa 0 boltahe = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // simulan ang serial komunikasyon Serial.begin (115200); // simulan ang i2c komunikasyon Wire.begin (); // simulan ang analogue input sensor SX01.begin (); // start OLED display OLED.begin (); // clear display OD01.clear (); // antala upang gawing normal ang pagkaantala (1000); } void loop () {// ilagay ang iyong pangunahing code dito, upang tumakbo nang paulit-ulit: // basahin ang boltahe SX01.poll (); // store the volatge voltage = SX01.getVoltage (); // kalkulahin ang paglaban ng thermistor therm_res = (((vcc * series_res) / boltahe) - series_res; // kalkulahin ang aktwal na temperatura sa kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // convert kelvin to celsius act_tempC = act_tempK - C_Kelvin; // temperatura ng pag-print sa OLED display // manu-manong pag-format upang maipakita sa gitna ng OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); pagkaantala (2000); // update display tuwing 2 segundo}

Inirerekumendang: