Talaan ng mga Nilalaman:

Arduino AD8495 Thermometer: 7 Hakbang
Arduino AD8495 Thermometer: 7 Hakbang

Video: Arduino AD8495 Thermometer: 7 Hakbang

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

Isang mabilis na gabay kung paano malutas ang iyong mga problema sa K-type na thermometer. Inaasahan namin na makakatulong ito:)

Para sa sumusunod na proyekto na kakailanganin mo:

1x Arduino (anumang uri, parang mayroon kaming 1 Arduino Nano na libre)

1x AD8495 (sa pangkalahatan ay dumating ito bilang kit na may sensor at lahat)

6x Jumper wires (kumokonekta sa AD8495 sa Arduino)

soldering iron & soldering wire

OPSYONAL:

1x 9V na baterya

2x resistors (gumamit kami ng 1x 10kOhms & 2x5kOhms dahil ikinonekta namin ang 2x5k nang magkasama)

Mangyaring mag-ingat upang magpatuloy sa pangangalaga at bantayan ang iyong mga daliri. Ang soldering iron ay maaaring maging sanhi ng pagkasunog kung hindi mapanghawakan nang may pag-iingat.

Hakbang 1: Paano Ito Karaniwang Gumagawa

Paano Ito Karaniwang Gumagawa
Paano Ito Karaniwang Gumagawa

Pangkalahatan ang thermometer na ito ay isang produkto ng Adafruit, kasama nito ang isang K-type sensor na maaaring magamit para sa halos anumang bagay mula sa pagsukat ng temperatura ng bahay o basement hanggang sa pagsukat ng oven at oven. Maaari itong mapaglabanan ang temperatura mula -260 degree C hanggang sa 980, at sa ilang maliliit na pagsasaayos ng supply ng kuryente hanggang 1380 degree C (na kapansin-pansin) at medyo tumpak din, kasama ang +/- 2 degree pagkakaiba-iba ay lubos na kapaki-pakinabang. Kung gagawin mo ito tulad ng ginawa namin sa Arduino Nano maaari mo itong i-pack sa isang maliit na kahon din (isinasaalang-alang na gagawa ka ng iyong sariling kahon na hindi kasama sa tutorial na ito).

Hakbang 2: Pagkonekta at Wastong Mga Kable

Pagkonekta at Wastong Mga Kable
Pagkonekta at Wastong Mga Kable
Pagkonekta at Wastong Mga Kable
Pagkonekta at Wastong Mga Kable
Pagkonekta at Wastong Mga Kable
Pagkonekta at Wastong Mga Kable

Tulad ng pagtanggap namin sa package ay ganito tulad ng Maaari mong makita mula sa mga larawan sa itaas. Maaari mong gamitin ang mga jumper wires upang ikonekta ito sa Arduino board, ngunit inirerekomenda ko ang paghihinang ng mga wire dahil gumagana ito sa napakaliit na boltahe upang ang anumang bahagyang paggalaw ay maaaring makapinsala sa mga resulta.

Ang mga larawan sa itaas ay kinunan ng kung paano namin na-solder ang mga wire sa sensor. Para sa aming proyekto ginamit namin ang Arduino Nano at tulad ng nakikita mong binago namin ang aming Arduino nang kaunti din para sa pagkuha ng pinakamainam na mga resulta mula sa aming mga sukat.

Hakbang 3: Uri ng Paggamit

Uri ng Paggamit
Uri ng Paggamit

Ayon sa datasheet ang sensor na ito ay maaaring magamit upang sukatin mula -260 hanggang 980 degree C na may normal na supply ng kuryente ng Arduino 5V o maaari kang magdagdag ng ilang panlabas na mapagkukunan ng kuryente at bibigyan ka ng pagkakataon na sukatin ang hanggang 1380 degree. Ngunit mag-ingat kung ang termometro ay nagbibigay ng higit sa 5V pabalik sa Arduino upang mabasa ito ay maaaring makapinsala sa iyong Arduino at ang iyong proyekto ay maaaring tiyak na mabigo.

Upang mapagtagumpayan ang problemang ito naglalagay kami ng isang divider ng boltahe sa aparato na sa aming kaso ay Vout hanggang kalahati ng boltahe ng Vin.

Mga link sa datasheet:

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

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

Hakbang 4: Ang Malaking Suliranin Sa Code Kapag Sumusukat

Ang Malaking Suliranin sa Code Kapag Sumusukat
Ang Malaking Suliranin sa Code Kapag Sumusukat

Ayon sa datasheet para sa thermometer ang referent voltage ay 1.25V. Sa aming mga sukat hindi ito ang kaso … Habang sumusubok pa kami nalaman namin na ang boltahe ng referent ay variable at nasubukan namin sa dalawang computer, sa pareho ito ay magkakaiba (!?!). Sa gayon ay naglalagay kami ng isang pin sa pisara (tulad ng ipinakita sa larawan sa itaas) at naglalagay kami ng isang linya sa code upang mabasa ang halaga ng referent boltahe tuwing kinakalkula.

Ang pangunahing pormula para dito ay Temp = (Vout-1.25) / 0.005.

Sa aming pormula nagawa namin ito: Temp = (Vout-Vref) / 0.005.

Hakbang 5: Ang Bahagi ng Code 1

Ang Code Bahagi 1
Ang Code Bahagi 1
Ang Code Bahagi 1
Ang Code Bahagi 1

const int AnalogPin = A0; // Analog pin para sa temp readconst int AnalogPin2 = A1; // Analog pin para sa pagbabasa ng referent na valuefloat Temp; // Temperaturefloat Vref; // Referent voltagefloat Vout; // Boltahe pagkatapos ng adcfloat SenVal; // Sensor valuefloat SenVal2; // Sensor halaga mula sa pag-setup ng referent pinvoid () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // Analog halaga mula sa temperatura SenVal2 = analogRead (A1); // Analog halaga mula sa refferent pinVref = (SenVal2 * 5.0) / 1024.0; // Conversion analog to digital for referent valueVout = (SenVal * 5.0) / 1024.0; // Conversion analog sa digital para sa temperatura na basahin ang boltahe Temp = (Vout - Vref) / 0.005; // Temperatura pagkalkula Serial.print ("Temperatura ="); Serial.println (Temp); Serial.print ("Referent Voltage ="); Serial.println (Vref); antala (200);}

Ginagamit ang code na ito kapag ginamit mo ang lakas mula sa Arduino (walang panlabas na mapagkukunan ng kuryente). Limitahan nito ang iyong pagsukat hanggang sa 980 degree C ayon sa datasheet.

Hakbang 6: Ang Bahagi ng Code 2

Ang Code Part 2
Ang Code Part 2
Ang Code Part 2
Ang Code Part 2

const int AnalogPin = A0; // Analog pin para sa temp readconst int AnalogPin2 = A1; // Analog pin mula sa kung saan nabasa namin ang halaga ng referent (Kailangan naming gawin ito dahil ang referent na halaga ng sensor ay hindi matatag) float Temp; // Temperaturefloat Vref; // Referent voltagefloat Vhalf; // Boltahe sa arduino basahin pagkatapos ng dividerfloat Vout; // Boltahe pagkatapos ng conversionfloat SenVal; // Sensor valuefloat SenVal2; // Sensor halaga mula sa kung saan nakakakuha kami ng referent na halaga ng pag-setup () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // Analog output valueSenVal2 = analogRead (A1); // Analog output mula sa kung saan nakakakuha kami ng referent na halagaVref = (SenVal2 * 5.0) / 1024.0; // Transfroming analog halaga mula sa Referent pin sa digital valueVhalf = (SenVal * 5.0) / 1024.0; // Transform Analog to Digital valueVout = 2 * Vhalf; // Pagkalkula ng boltahe pagkatapos ng kalahating boltahe dividerTemp = (Vout - Vref) / 0.005; // Temperature formula pagkalkulaSerial.print ("Temperatura ="); Serial.println (Temp); Serial.print ("Vout ="); Serial.println (Vout); Serial.print ("Referent Voltage ="); Serial.println (Vref); antala (100);}

Ito ang code kung gumagamit ka ng isang panlabas na mapagkukunan ng kuryente at para dito ginagamit namin ang divider ng boltahe. Iyon ang dahilan kung bakit mayroon kaming "Vhalf" na halaga sa loob. Ang aming boltahe divider na ginamit (tingnan sa bahagi 3) ay sa kalahati ng papasok na boltahe (ang R1 ay may parehong halaga ng ohm bilang R2) dahil gumamit kami ng isang 9V na baterya. Tulad ng nabanggit sa itaas ng anumang boltahe sa itaas ng 5V ay maaaring makapinsala sa iyong Arduino, kaya ginawa namin ito upang makakuha ng max 4.5V (na imposible sa kasong ito, dahil ang pinakamataas na output ng lakas mula sa sensor pagkatapos ng boltahe na divider ay maaaring maging isang bagay sa paligid ng 3.5V).

Hakbang 7: Mga Resulta

Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta

Tulad ng nakikita mo mula sa mga screenshot sa itaas, nasubukan namin ito at gumagana ito. Bilang karagdagan binigyan ka namin ng orihinal na mga file ng Arduino.

Ito na, Inaasahan namin na makakatulong ito sa iyo sa iyong mga proyekto.

Inirerekumendang: