Talaan ng mga Nilalaman:

Arduino Pro-mini Data-logger: 15 Hakbang
Arduino Pro-mini Data-logger: 15 Hakbang

Video: Arduino Pro-mini Data-logger: 15 Hakbang

Video: Arduino Pro-mini Data-logger: 15 Hakbang
Video: IT-15T2 data logger 2024, Hulyo
Anonim
Arduino Pro-mini Data-logger
Arduino Pro-mini Data-logger

Bumuo ng mga tagubilin para sa open-source pro-mini Arduino data-logger

Pagwawaksi: Ang sumusunod na disenyo at code ay libre upang i-download at gamitin, ngunit may ganap na walang garantiya o warranty kahit ano pa man.

Dapat ko munang pasalamatan at itaguyod ang mga taong may talento na nagbigay inspirasyon sa ideya para sa data-logger na ito at nag-ambag sa ginamit na code at sensor. Una, ang ideya para sa data-logger ay nagmula sa napakahusay na dinisenyo at naipaliwanag nang mabuti (pasensya na ang aming tutorial ay hindi kasing ganda) data-logger ng Edward Mallon: https://thecavepearlproject.org/2017/06/19/ arduin…

Pangalawa, ang mga open-source na kahalumigmigan na sensor na ginamit dito, pati na rin ang code / library upang patakbuhin ang mga ito, ay dinisenyo at itinayo ng Catnip Electronics. Ito ang mga de-kalidad na sensor at napaka masungit. Ang impormasyon kung saan bibilhin ang mga ito at kumuha ng code upang patakbuhin ang mga ito (salamat Ingo Fischer) ay ibinibigay sa ibaba.

Hakbang 1: Mga Kagamitan, Kagamitan, Kailangan ng Kagamitan

Mga Materyales, Kagamitan, Kailangan ng Kagamitan
Mga Materyales, Kagamitan, Kailangan ng Kagamitan

Pro-mini Arduino board. Para sa application na ito, gumagamit kami ng open-source (tulad ng lahat ng aming mga bahagi) na ginawa ng mga Chinese na pro-mini clone (5V, 16MHz, ATmega 326 microprocessor) (Larawan 1a). Ang mga board na ito ay maaaring mabili sa Aliexpress, Ebay, at mga katulad na website nang mas mababa sa $ 2US. Gayunpaman, ang iba pang mga board ay maaaring magamit nang madali (pansinin ang mga kinakailangan ng boltahe ng mga kinakailangang sensor, pati na rin ang mga kinakailangan sa memorya ng programa).

Ang SD card at real-time-clock (RTC) module ng pag-log ay inilagay ng Deek-Robot (ID: 8122) (Larawan 1b). Kasama sa modyul na ito ang isang DS13072 RTC at micro-sd card reader. Ang mga board na ito ay nagkakahalaga ng mas mababa sa $ 2US at napakalakas.

Ang Arduino nano (oo - "nano") na screw-terminal adapter, inilabas din ang Deek-Robot, na maaaring mabili nang mas mababa sa $ 2US mula sa Aliexpress o katulad (Larawan 1c). Tulad ng nakikita mo, gusto lang namin ang Aliexpress.

22 gage solid-core insulated wire (Larawan 1d).

Data-logger box (Larawan 1e). Gumagamit kami ng mga kahon na "grade-research", ngunit ang murang plastic-ware ay gumagana lamang sa karamihan ng mga sitwasyon.

Kaso ng baterya para sa 4 na baterya ng AA NiMh (Larawan 1f). Maaari itong mabili sa Aliexpress para sa ca. $ 0.20 bawat isa (oo - 20 sentimo). Huwag sayangin ang iyong pera sa mas mahal na mga kaso ng baterya.

6V, ca 1W solar panel. Maaaring bilhin sa Aliexpress nang mas mababa sa $ 2US.

Panghinang, bakal, at dating-uri na pagkilos ng bagay.

Mainit na glue GUN.

Hakbang 2: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Kailangan ng oras para sa pagbuo: ca 30 hanggang 60 min.

Maghanda ng nano terminal adapter para sa paghihinang.

Para sa layunin ng pagpapakitang ito, ihahanda namin ang adaptor ng terminal ng nano turnilyo upang mapadali ang pagkonekta ng tatlong I2C na mga sensor ng kahalumigmigan sa lupa. Gayunpaman, sa kaunting pagkamalikhain lamang, ang mga terminal ng tornilyo ay maaaring ihanda sa iba't ibang paraan upang mapadali ang iba pang mga aparato. Kung hindi mo alam kung ano ang I2C, tingnan ang mga sumusunod na website:

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Referensi/Wire

Ang ideya na gumamit ng mga nano screw adapter ay kinuha mula sa kahanga-hangang disenyo ng data-logger ng Edward Mallon:

thecavepearlproject.org/2017/06/19/arduino…

Gupitin ang mga bakas sa likod ng terminal ng tornilyo sa pagitan ng malaki at maliit na mga pin sa mga posisyon na 3, 5, 9, 10, at 11 (pagbibilang mula sa tuktok ng terminal) (Larawan 2). Ang mga bakas na ito ay tumutugma sa mga label na "RST", "A7", "A3", "A2", at "A1" sa terminal ng tornilyo. Ang paggupit ng mga bakas ay mas madali kung mayroon kang isang tool na uri ng 'Dremel', ngunit kung hindi mo gagawin, isang maliit na kutsilyo ang gagana nang madali. Huwag mong putulin ang iyong sarili! Tandaan na ang mga label sa terminal ng tornilyo at sa pro-mini ay hindi magkapareho (ang nano at pro-mini ay may ilang mga pin sa iba't ibang mga lokasyon). Ito ay isa sa mga abala ng disenyo na ito, ngunit madali itong madaling lagyan ng label muli ang terminal board kapag tapos ka na, kung nais mo.

Maingat na i-scrape (gamit ang isang Dremel o maliit na kutsilyo) ang manipis na layer ng epoxy na direktang katabi ng malalaking pin 9, 10, at 11 (na may label na 'A3', 'A2', 'A1' sa terminal ng nano) (Larawan 2). Ang nakalantad na patong na tanso sa ilalim ng epoxy ay na-ground sa Arduino pro-mini board. Sa paglaon ay hihihinang namin ang nakalantad na seksyon na ito sa mga katabing pin, sa gayon ay nagbibigay ng tatlong mga grounded screw terminal.

Hakbang 3: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Gupitin ang walong 8-cm ang haba ng insulated 22 gauge wire at i-strip ca 5 mm ng pagkakabukod mula sa isang dulo at 3 mm mula sa kabilang dulo. Inirerekumenda namin ang paggamit ng solidong core wire.

Dalhin ang apat sa mga wires na ito, yumuko ang isang dulo ng 90 degree (ang dulo na may 5 mm o nakalantad na kawad) at panghinang * sa kabuuan * (ibig sabihin, pagsali sa lahat ng mga pin na may maraming solder at pagkilos ng bagay) sa mga sumusunod na puntos:

Wire 1: malalaking pin 3, 4, at 5 (may label na 'RST', '5V', 'A7' sa nano terminal). Susubukan naming baguhin ang tatlong mga terminal ng tornilyo sa tatlong mga terminal ng VCC (Larawan 3).

Hakbang 4: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Wire 2: malalaking pin 9, 10, at 11 (may label na 'A3', 'A2', 'A1' sa nano terminal) pati na rin ang nakalantad na patong na tanso na naihantad nang mas maaga. Gumamit ng maraming solder. Huwag mag-alala kung mukhang magulo. Babaguhin namin ang tatlong mga terminal ng tornilyo na ito sa tatlong mga ground terminal (-) na mga terminal (Larawan 4).

Hakbang 5: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Wire 3: malalaking pin 13, 14, at 15 (may label na 'REF', '3V3', 'D13' sa nano terminal). Susubukan naming baguhin ang tatlong mga terminal ng tornilyo sa tatlong mga terminal ng A5 SCL para sa mga komunikasyon ng I2C (Larawan 5).

Hakbang 6: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Wire 4: malalaking pin 28, 29, at 30 (may label na 'D10', 'D11', 'D12' sa nano terminal). Susubukan naming baguhin ang tatlong mga terminal ng tornilyo sa tatlong mga terminal ng A4 SDA para sa mga komunikasyon ng I2C (Larawan 6).

Hakbang 7: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Maghinang ng isang kawad sa bawat isa sa maliit (sinabi kong muli - maliit) mga pin na 9, 10, at 11 (may label na 'A3', 'A2', 'A1' sa terminal ng nano) (Larawan 7).

Hakbang 8: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Panghinang

ang natitirang kawad sa malaking pin 22 (may label na 'D4' sa nano terminal) (Larawan 8).

Hakbang 9: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Paghinang ng libreng dulo ng bawat kawad sa kaukulang mga pin-hole sa Deek-Robot data-logger Shield (Larawan 9):

malaking pin na 'RST + 5V + A7' sa butas ng 5V pin

malaking pin na 'A3 + A2 + A1' sa butas ng pin ng GND

maliit na pin na 'A3' sa butas ng SCK pin

maliit na pin na 'A2' sa MISO pin hole

maliit na pin na 'A1' sa butas ng pin ng MOSI

malaking pin na 'REF + 3V3 + D13' sa butas ng pin ng SCL

malaking pin na 'D10 + D11 + D12' sa butas ng pin ng SDA

at malaking pin na 'D4' sa hole ng CS pin

Hakbang 10: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Mangyaring tandaan na nagbibigay kami ng mga nano label dito para sa kadalian lamang ng koneksyon. Ang mga label na ito ay hindi tumutugma sa mga pin sa pro-mini board sa sandaling maipasok ito sa terminal ng tornilyo.

Maghinang ng dalawang 6-cm ang haba ng mga wire sa A4 at A5 pinholes mula sa ilalim ng pro-mini board (Larawan 10).

Hakbang 11: Mga Tagubilin sa Bumuo

Bumuo ng Mga Tagubilin
Bumuo ng Mga Tagubilin

Ang mga solder pin sa pro-mini board at ipasok ito sa nakumpletong terminal ng tornilyo. Huwag kalimutang ipasok ang mga wire na A5 at A4 sa mga terminal ng D12 (A4) at D13 (A5) sa nano board. Palaging tandaan na ang mga pin sa Arduino at mga terminal ng tornilyo na terminal ay hindi eksaktong magkahanay (ang mga pro-mini at nano board ay may magkakaibang pag-aayos ng pin).

Ipasok ang isang CR 1220 na baterya at micro-sd card sa logger board. Gumagamit kami ng mga SD card na may mga capacities na mas mababa sa 15GB, dahil nagkaproblema kami sa mas malaking mga card ng kapasidad. Ginagamit namin ang format ng mga card sa FAT32.

Sa wakas, takpan ang lahat ng mga soldered joint at i-secure ang lahat ng mga wire sa terminal board na may mainit na pandikit.

Handa na ngayong gamitin ang board. Ang nakumpletong board ay dapat magmukhang ganito: Larawan 11.

Hakbang 12: Pag-set up ng Data-logger para sa Paggamit ng Patlang

Pag-set up ng Data-logger para sa Paggamit ng Patlang
Pag-set up ng Data-logger para sa Paggamit ng Patlang

Upang mapigilan ang iyong data-logger mula sa paglagay sa kahon ng data-logger, pati na rin ang pagbibigay ng madaling pag-access sa mga pin ng komunikasyon, inirerekumenda naming gumawa ng isang nagpapatatag na platform. Pinapanatili din ng platform ang mga electronics kahit ilang sentimetrong mula sa ilalim ng kahon, kung sakaling magbaha. Gumagamit kami ng 1.5mm acrylic sheet at ikonekta ito sa data-logger na may 4mm bolts, nut, at washers (Larawan 12).

Hakbang 13:

Larawan
Larawan

Gumagamit kami ng open-source I2C capacitance-type na mga kahalumigmigan sensor ng lupa. Binibili namin sila mula sa Catnip Electronics (website sa ibaba). Maaari silang bilhin sa Tindie at nagkakahalaga ng $ 9US para sa karaniwang modelo at ca $ 22US para sa masungit na modelo. Ginamit namin ang masungit na bersyon sa mga eksperimento sa larangan. Ang mga ito ay napaka-matatag at nag-aalok ng katulad na pagganap ng mas mahal na mga alternatibong komersyal (hindi namin ilalagay ang sinuman sa Front Street, ngunit malamang na alam mo ang karaniwang mga pinaghihinalaan).

Ang Catnip Electronics I2C sensor na itinampok sa tutorial na ito:

bumili dito:

library ng arduino:

arduino library sa Github:

Ikabit ang dilaw na kawad mula sa I2C sensor sa isa sa mga terminal ng tornilyo ng A5. Ikabit ang berdeng kawad mula sa I2C sensor sa isa sa mga A4 terminal. Ang pula at itim na mga wire mula sa sensor ay pumupunta sa VCC at mga ground terminal, ayon sa pagkakabanggit.

Ilagay ang apat na sisingilin na baterya ng NiMh sa kaso ng baterya. Ikabit ang pula (+) na kawad sa RAW pin sa data-logger (ibig sabihin, ang RAW pin sa pro-mini board) (ngunit tingnan ang seksyong "pag-save ng kuryente" sa ibaba). Ikabit ang itim (-) wire sa isa sa mga ground pin sa data-logger.

Para sa pangmatagalang paggamit sa patlang, maglakip ng isang 6V 1W solar panel sa logger. Gagamitin ang solar panel upang patakbuhin ang data-logger at singilin ang baterya pack sa araw, at gumagana kahit sa ilalim ng maulap na kalangitan (kahit na ang snow ay isang problema).

Una, maghinang ng ~ 2A Schottky diode sa positibong terminal ng solar panel. Pipigilan nito ang kasalukuyang mula sa pag-agos pabalik sa solar panel kapag walang solar radiation. Huwag kalimutan na gawin ito o magkakaroon ka ng mga patay na baterya sa walang oras.

Ikabit ang (+) terminal mula sa solar panel (ibig sabihin, ang diode) sa RAW pin sa logger (ibig sabihin, ang RAW pin sa pro-mini) at ang (-) terminal mula sa solar panel hanggang sa isa sa lupa mga terminal sa logger.

Pinapayagan ng set-up na ito ang built-in na boltahe regulator sa pro-mini board upang makontrol ang boltahe na nagmumula sa parehong solar panel at ang pack ng baterya. Ngayon … Sasabihin ko na ito ay hindi isang perpektong set-up para sa pagsingil ng mga baterya ng NiMh (mahirap kahit sa ilalim ng mga perpektong kondisyon). Gayunpaman, ang mga solar panel na ginamit namin ay naglalagay ng ca 150mA sa ilalim ng buong kalagayan ng araw, na tumutugma sa ca 0.06 C (C = ang kapasidad ng baterya pack), na napatunayan para sa amin na maging isang simple, ligtas, at maaasahang pamamaraan ng pagsingil para sa aming mga logger. Naranasan namin ang mga ito na tumakbo sa ganitong paraan sa bukid hanggang sa isang taon sa Colorado. Gayunpaman, mangyaring tingnan ang disclaimer - ang aming mga logger ay may ganap na walang garantiya o warranty. Anumang oras na gumamit ka ng mga baterya o solar panel sa patlang, pinapamahalaan mo ang panganib na magsimula ng sunog. Mag-ingat ka. Gamitin ang disenyo na ito sa iyong sariling peligro!

I-secure ang data-logger at baterya pack sa loob ng isang box-proof box (Larawan 13).

Hakbang 14: Pag-iingat ng Lakas

Madalas naming hindi pinagana ang mga LED power mula sa parehong mga board ng pro-mini at data-logger. Ang mga bakas sa mga LED na ito ay maaaring maingat na gupitin ng isang labaha (tingnan ang link sa ibaba). Ang bawat LED ay gumagamit ng ca 2.5mA ng kasalukuyang 5V (link sa ibaba). Gayunpaman, para sa maraming mga aplikasyon ang halagang pagkawala ng kuryente na ito ay bale-wala at maaari lamang iwanan ng mananaliksik ang mga LED na kuryente tulad ng mga ito.

www.instructables.com/id/Arduino-low-Proje…

Pinapatakbo din namin ang 'LowPower.h' library (ng 'rocketscream'; na ibinigay sa ibaba ang link), na napakadaling gamitin at makabuluhang binabawasan ang pagkonsumo ng kuryente sa pagitan ng mga agwat ng pag-log.

github.com/rocketscream/Low-Power

Matapos alisin ang mga power LEDs mula sa pro-mini at ang data logging board at patakbo ang library ng LowPower.h (tingnan ang 'code' sa ibaba), ubusin ng logger ang ca. 1mA ng kasalukuyang sa 5V habang natutulog. Ang pagpapatakbo ng tatlong mga sensor ng I2C nang sabay-sabay, ang logger sa mode ng pagtulog (sa pagitan ng mga pag-ulit ng sampling) ay kumokonsumo ng ca 4.5mA sa 5V, at ca 80mA kapag nag-sample. Gayunpaman, dahil ang sampling ay nangyayari nang napakabilis, at medyo madalang, ang kasalukuyang 80mA na kasalukuyang pagguhit ay hindi nagbibigay ng makabuluhang ambag sa pag-alis ng baterya.

Ang mas maraming lakas ay maaaring mai-save kapag hindi gumagamit ng mga solar panel sa pamamagitan ng pagkonekta ng (+) baterya terminal nang direkta sa VCC pin sa logger. Gayunpaman, ang pagkonekta nang direkta sa VCC, sa halip na ang RAW pin, iniiwasan ang on-board voltage regulator, at ang kasalukuyang sa mga sensor ay hindi magiging halos pare-pareho tulad ng naipapasa sa pamamagitan ng regulator. Halimbawa, ang boltahe ay bababa habang ang baterya ay pinatuyo sa kurso ng mga araw at linggo, at sa maraming mga kaso, magreresulta ito sa makabuluhang pagkakaiba-iba sa mga pagbabasa ng sensor (depende sa kung anong mga sensor ang iyong ginagamit). Huwag ikonekta ang isang solar panel nang direkta sa VCC.

Hakbang 15: Code

Nagsasama kami ng dalawang sketch para sa pagpapatakbo ng data-logger na may tatlong I2C na mga sensor ng kahalumigmigan sa lupa. Ang unang sketch 'logger_sketch' ay sample mula sa bawat sensor at mag-log capacitance at data ng temperatura sa sd card tuwing 30 minuto (ngunit madaling mabago ng gumagamit). Ang pangalawang sketch na 'ChangeSoilMoistureSensorI2CAddress' ay magpapahintulot sa gumagamit na magtalaga ng iba't ibang mga I2C address sa bawat isa sa mga sensor upang maaari silang magamit nang sabay-sabay ng data-logger. Ang mga address sa 'logger_sketch' ay maaaring mabago sa mga linya 25, 26, at 27. Ang mga aklatan na kinakailangan upang patakbuhin ang sensor ay matatagpuan sa Github.

Inirerekumendang: