Talaan ng mga Nilalaman:

Mababang Power Arduino Temperatura Monitor: 4 na Hakbang
Mababang Power Arduino Temperatura Monitor: 4 na Hakbang

Video: Mababang Power Arduino Temperatura Monitor: 4 na Hakbang

Video: Mababang Power Arduino Temperatura Monitor: 4 na Hakbang
Video: How to Interface Industrial Sensors with Arduino Nano 2024, Nobyembre
Anonim
Image
Image
Kunin ang Mga Bahagi
Kunin ang Mga Bahagi

Sa Instructable na ito ay nagtatayo kami ng isa pang monitor ng temperatura gamit ang isang sensor ng temperatura ng DS18B20. Ngunit ang proyektong ito ay naiiba. Maaari itong tumagal sa mga baterya nang halos 1.5 taon! Oo! Gamit ang Arduino low power library, maaari naming matagalan ang proyektong ito sa mahabang panahon. Patuloy na basahin upang malaman ang higit pa!

Hakbang 1: Kunin ang Mga Bahagi

Ang mga bahagi na kinakailangan upang maitayo ang proyektong ito ay ang mga ito:

ATMEGA328P ▶

Nokia 5110 LCD ▶

DS18B20 ▶

Photoresistor ▶

Mga Capacitor ▶

16MHz na kristal ▶

Mga Resistor ▶

Multimeter Mastech 8268 ▶

Ang kabuuang halaga ng proyekto sa oras na isinulat ko ang Instructable na ito ay mas mababa sa 10 $

Hakbang 2: Ikonekta ang Lahat ng Mga Bahagi

Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi

Ngayon na mayroon ka ng lahat ng mga bahagi ikonekta natin silang lahat nang sama-sama sa pag-uugnay sa diagram ng eskematiko.

Ang susi sa mababang pagkonsumo ng proyektong ito ay ang paggamit ng isang hubad na ATMEGA chip sa halip na isang Arduino Board. Dahil ang mga board ng Arduino ay gumagamit ng isang regulator ng boltahe upang gumana sa maraming iba't ibang mga antas ng boltahe, kailangan nila ng mas maraming lakas. Hindi namin kailangan ang regulator na ito dahil pinapalakas namin ang aming proyekto mula sa 3AA na mga baterya!

Sa proyektong ito gumagamit ako ng display na Nokia 5110 LCD na isang mahusay na display at kailangan lamang ng 0.2mA ng kasalukuyang kapag patay ang backlight. Kahanga-hanga!

Gumagamit din kami ng isang photoresistor upang makita ang ilaw. Kaya, kung gabi ay hindi namin pinagana ang LCD display upang makatipid ng kuryente.

Ang isa pang maliit na lihim ay ang library ng LowPower. Kapag hindi namin sinusukat ang temperatura pinapatulog namin ang Arduino gamit ang library ng LowPower. Kapag natutulog ang isang hubad na chip ng ATMEGA nangangailangan lamang ito ng 0.06mA ng kasalukuyang! Nangangahulugan iyon na maaari kang magkaroon ng isang ATMEGA chip na natutulog nang higit sa 4 na taon sa 3 mga baterya ng AA!

Kaya sa isang matalino na disenyo ng software nakakamit namin ang isang mahusay na buhay ng baterya. Ang chip ng ATMEGA ay nangangailangan ng humigit-kumulang 10mA ng kasalukuyang kapag ito ay gising. Kaya, ang aming hangarin ay upang matulog ito ng halos lahat ng oras. Sa kadahilanang iyon, gigisingin lamang namin ito kapag kailangan naming sukatin ang temperatura, bawat dalawang minuto. Kapag ginising namin ang ATMEGA chip up, ginagawa namin ang lahat nang mabilis hangga't maaari, at natutulog kaagad kami muli.

Ang Algorithm

Nagising ang proyekto tuwing dalawang minuto. Ang unang bagay na ginagawa nito ay paganahin ang photoresistor sa pamamagitan ng pagsulat ng TAAS sa digital pin 6. Binabasa nito ang halaga mula sa photoresistor at tinutukoy nito kung araw o gabi. Pagkatapos ay nagsusulat ito ng LOW sa digital pin 6 upang hindi paganahin ang photoresistor at makatipid ng porer. Kung gabi ay hindi namin pinagana ang LCD display kung ito ay ON at agad kaming natutulog para sa dalawang minuto nang hindi binabasa ang temperatura. Hindi na kailangang gawin ito, dahil naka-off ang display. Sa ganitong paraan ay nakakatipid pa tayo ng mas maraming lakas. Kung mayroong sapat na ilaw, pinapagana namin ang LCD display kung hindi ito pinagana, binabasa namin ang temperatura, ipinapakita namin ito sa screen at natutulog kami ng dalawang minuto. Ang loop na iyon ay nagpapatuloy magpakailanman.

Hakbang 3: Mga Sukat

Mga sukat
Mga sukat
Mga sukat
Mga sukat
Mga sukat
Mga sukat
Mga sukat
Mga sukat

Tulad ng nakikita mo mula sa mga larawan, kapag ang proyekto ay natutulog at ang display ay ON, kailangan nito ng 0.26mA ng kasalukuyang na napakababa kung isasaalang-alang mo ang katotohanan na mayroon kaming isang display!

Kapag sinusukat ng proyekto ang temperatura at ina-update ang kailangan ng display sa paligid ng 11.5mA

Panghuli, kapag madilim at hindi pinagana ng ldr ang pagpapakita ng Nokia 5110 LCD, kailangan lamang namin ng 0.07mA na mahusay!

Buhay ng Baterya

Upang makalkula ang buhay ng baterya ng proyekto lumikha ako ng isang simpleng file na Excel. Pinasok ko ang mga sukat mula sa multimeter at tulad ng nakikita mong nakakakuha kami ng buhay ng baterya ng higit sa 500 araw kung sinusukat namin ang pag-uugali bawat 2 minuto! Gamit iyon ng paggamit ng 3AA na mga baterya na may kapasidad na 2.500mAs. Siyempre kung gumagamit ka ng mas mahusay na mga baterya tulad ng isang Li-Ion 3.400 mAh na baterya maaari kang magkaroon ng iyong proyekto na tumatakbo nang higit sa 2 taon!

Maaari mong i-download ang file na Excel mula sa link na ito.

Hakbang 4: Ang Code ng Project

Ang Code ng Project
Ang Code ng Project
Ang Code ng Project
Ang Code ng Project

Ang code ng proyekto ay napaka-simple. Gumagamit kami ng ilang mga aklatan sa piraso ng code na ito. Ang mga library na ginagamit namin ay ang mga sumusunod:

  • Mababang Power Library:
  • DS18B20 temperatura sensor library:
  • Ang Nokia 5110 LCD library:

Ang code ng proyekto ay binubuo ng dalawang mga file. Sa unang file mayroong ang code na tumatakbo sa Arduino. Naglalaman ang susunod na file ng ilang binary data para sa mga icon na ipinapakita ng pangunahing programa. Kailangan mong ilagay ang parehong file sa folder ng proyekto upang ma-code ang tamang pag-compile.

Napakadali ng code. Mahahanap mo ito sa ibaba. Ang lahat ng mahika ay nangyayari sa pag-andar ng sleepForTwoMinutes. Sa pagpapaandar na ito inilalagay namin ang Arduino sa mahimbing na pagtulog. Ang problema ay ang paggamit ng timer ng tagapagbantay ng maximum na dami ng oras na maaari naming patulugin ang Arduino ay 8sec. Kaya, ipinapasok namin iyon sa isang loop sa loob ng 15 beses at nakukuha namin ang dalawang minutong agwat na nais namin

Inaasahan kong nasiyahan ka sa proyektong ito. Hanggang sa muli!

Inirerekumendang: