Isi kandungan:

Pencatat data Arduino Pro-mini: 15 Langkah
Pencatat data Arduino Pro-mini: 15 Langkah

Video: Pencatat data Arduino Pro-mini: 15 Langkah

Video: Pencatat data Arduino Pro-mini: 15 Langkah
Video: Проект регистратора данных Arduino — очень просто 2024, Julai
Anonim
Pencatat data Arduino Pro-mini
Pencatat data Arduino Pro-mini

Bina arahan untuk pencatat data pro-mini Arduino sumber terbuka

Penafian: Reka bentuk dan kod berikut percuma untuk dimuat dan digunakan, tetapi sama sekali tidak mempunyai jaminan atau jaminan.

Saya mesti terlebih dahulu mengucapkan terima kasih dan mempromosikan orang-orang berbakat yang telah mengilhami idea untuk pencatat data ini dan menyumbang kepada kod dan sensor yang digunakan. Pertama, idea untuk data logger berasal dari data-logger Edward Mallon yang direka dan dijelaskan dengan baik (maaf tutorial kami tidak begitu baik): https://thecavepearlproject.org/2017/06/19/ arduin…

Kedua, sensor kelembapan tanah sumber terbuka yang digunakan di sini, serta kod / perpustakaan untuk menjalankannya, dirancang dan dibina oleh Catnip Electronics. Ini adalah sensor berkualiti tinggi dan sangat lasak. Maklumat di mana untuk membelinya dan mendapatkan kod untuk menjalankannya (terima kasih Ingo Fischer) diberikan di bawah.

Langkah 1: Bahan, Alat, Peralatan yang Diperlukan

Bahan, Alat, Peralatan Yang Diperlukan
Bahan, Alat, Peralatan Yang Diperlukan

Papan Arduino pro-mini. Untuk aplikasi ini, kami menggunakan sumber terbuka (seperti semua bahagian kami) klon pro-mini buatan China (5V, 16MHz, mikropemproses ATmega 326) (Gamb. 1a). Papan ini boleh dibeli di Aliexpress, Ebay, dan laman web yang serupa dengan harga kurang dari $ 2US. Walau bagaimanapun, papan lain dapat digunakan dengan mudah (perhatikan keperluan voltan sensor yang diperlukan, serta keperluan memori program).

Modul log kad SD dan masa nyata (RTC) dikeluarkan oleh Deek-Robot (ID: 8122) (Gamb. 1b). Modul ini merangkumi RTC DS13072 dan pembaca kad mikro-sd. Papan ini berharga kurang dari $ 2US dan sangat mantap.

Penyesuai terminal skru Arduino nano (ya - "nano"), juga mengeluarkan Deek-Robot, yang dapat dibeli dengan harga kurang dari $ 2US dari Aliexpress atau yang serupa (Gambar 1c). Seperti yang anda lihat, kami sangat menyukai Aliexpress.

Kawat bertebat teras pepejal 22 gage (Gamb. 1d).

Kotak data-logger (Gamb. 1e). Kami menggunakan kotak "kelas penyelidikan", tetapi peralatan plastik yang murah berfungsi dengan baik dalam kebanyakan situasi.

Sarung bateri untuk 4 bateri AA NiMh (Gamb. 1f). Ini boleh dibeli di Aliexpress dengan harga lebih kurang. $ 0.20 setiap satu (ya - 20 sen). Jangan bazirkan wang anda pada kotak bateri yang lebih mahal.

6V, panel solar 1W. Boleh dibeli di Aliexpress dengan harga kurang dari $ 2US.

Besi solder, solder, dan fluks jenis lalu.

Pistol gam panas.

Langkah 2: Arahan Binaan

Arahan Binaan
Arahan Binaan

Masa yang diperlukan untuk membina: kira-kira 30 hingga 60 min.

Sediakan penyesuai terminal nano untuk pematerian.

Untuk tujuan demonstrasi ini, kami akan menyediakan penyesuai terminal skru nano untuk memudahkan penyambungan tiga sensor kelembapan tanah I2C. Walau bagaimanapun, dengan sedikit kreativiti, terminal skru dapat disiapkan dengan cara yang berbeza untuk memudahkan peranti lain. Sekiranya anda tidak tahu apa itu I2C, periksa laman web berikut:

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Reference/Wire

Idea untuk menggunakan penyesuai skru nano diambil dari reka bentuk pencatat data yang hebat dari Edward Mallon:

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

Potong jejak di bahagian belakang terminal skru antara pin besar dan kecil pada kedudukan 3, 5, 9, 10, dan 11 (mengira dari bahagian atas terminal) (Gamb. 2). Jejak ini sesuai dengan label "RST", "A7", "A3", "A2", & "A1" pada terminal skru. Memotong jejak jauh lebih mudah jika anda mempunyai alat jenis 'Dremel', tetapi jika tidak, pisau kecil akan berfungsi dengan mudah. Jangan memotong diri anda! Perhatikan bahawa label pada terminal skru dan pro-mini tidak semua sama (nano dan pro-mini mempunyai beberapa pin di lokasi yang berbeza). Ini adalah salah satu kesulitan dari reka bentuk ini, tetapi cukup mudah untuk melabelkan semula papan terminal apabila anda selesai, jika anda mahu.

Mengikis dengan berhati-hati (menggunakan Dremel atau pisau kecil) lapisan epoksi nipis yang berdekatan dengan pin besar 9, 10, dan 11 (berlabel 'A3', 'A2', 'A1' di terminal nano) (Gamb. 2). Lapisan tembaga yang terdedah di bawah epoksi dibumikan ke papan pro-mini Arduino. Kami kemudian akan memasangkan bahagian yang terdedah ini ke pin bersebelahan, dengan itu menyediakan tiga terminal skru yang dibumikan.

Langkah 3: Arahan Binaan

Arahan Binaan
Arahan Binaan

Potong lapan wayar tolok 22 bertebat sepanjang 8 cm dan lepaskan penebat kira-kira 5 mm dari satu hujung dan 3 mm dari hujung yang lain. Kami mengesyorkan menggunakan wayar teras pepejal.

Ambil empat wayar ini, bengkokkan satu hujung 90 darjah (hujung dengan wayar 5 mm atau terdedah) dan pateri * melintasi * (iaitu, gabungkan semua pin dengan solder dan fluks yang banyak) ke titik berikut:

Kawat 1: pin besar 3, 4, dan 5 (berlabel 'RST', '5V', 'A7' di terminal nano). Kami akan mengubah tiga terminal skru ini menjadi tiga terminal VCC (Gamb. 3).

Langkah 4: Arahan Binaan

Arahan Binaan
Arahan Binaan

Kawat 2: pin besar 9, 10, dan 11 (berlabel 'A3', 'A2', 'A1' di terminal nano) serta lapisan tembaga yang terdedah yang terdedah sebelumnya. Gunakan banyak pateri. Jangan risau jika kelihatan tidak kemas. Kami akan mengubah tiga terminal skru ini menjadi tiga terminal ground (-) terminal (Gamb. 4).

Langkah 5: Arahan Binaan

Arahan Binaan
Arahan Binaan

Kawat 3: pin besar 13, 14, dan 15 (berlabel 'REF', '3V3', 'D13' di terminal nano). Kami akan mengubah tiga terminal skru ini menjadi tiga terminal SC5 A5 untuk komunikasi I2C (Gamb. 5).

Langkah 6: Arahan Binaan

Arahan Binaan
Arahan Binaan

Kawat 4: pin besar 28, 29, dan 30 (berlabel 'D10', 'D11', 'D12' di terminal nano). Kami akan mengubah tiga terminal skru ini menjadi tiga terminal A4 SDA untuk komunikasi I2C (Gamb. 6).

Langkah 7: Arahan Binaan

Arahan Binaan
Arahan Binaan

Pateri satu wayar ke setiap pin kecil (saya katakan lagi - kecil) 9, 10, dan 11 (berlabel 'A3', 'A2', 'A1' pada terminal nano) (Gamb. 7).

Langkah 8: Arahan Binaan

Arahan Binaan
Arahan Binaan

Pateri

baki wayar ke pin besar 22 (berlabel 'D4' di terminal nano) (Gamb. 8).

Langkah 9: Arahan Binaan

Arahan Binaan
Arahan Binaan

Memasukkan hujung bebas setiap wayar ke dalam lubang pin yang sesuai pada perisai pencatat data Deek-Robot (Gamb. 9):

pin besar 'RST + 5V + A7' ke lubang pin 5V

pin besar 'A3 + A2 + A1' ke lubang pin GND

pin kecil 'A3' ke lubang pin SCK

pin kecil 'A2' ke lubang pin MISO

pin kecil 'A1' ke lubang pin MOSI

pin besar 'REF + 3V3 + D13' ke lubang pin SCL

pin besar 'D10 + D11 + D12' ke lubang pin SDA

dan pin besar 'D4' ke lubang pin CS

Langkah 10: Arahan Binaan

Arahan Binaan
Arahan Binaan

Harap maklum bahawa kami menyediakan label nano di sini untuk kemudahan sambungan sahaja. Label ini tidak akan sesuai dengan pin pada papan pro-mini sebaik sahaja dimasukkan ke terminal skru.

Memateri dua wayar sepanjang 6 cm ke lubang lubang A4 dan A5 dari bahagian bawah papan pro-mini (Gamb. 10).

Langkah 11: Arahan Binaan

Arahan Binaan
Arahan Binaan

Solder pin ke papan pro-mini dan masukkan ke terminal skru yang telah siap. Jangan lupa memasukkan wayar A5 dan A4 ke terminal D12 (A4) dan D13 (A5) di papan nano. Sentiasa ingat bahawa pin pada label terminal Arduino dan skru tidak akan sama rata (papan pro-mini dan nano mempunyai susunan pin yang berbeza).

Masukkan bateri CR 1220 dan kad mikro-sd ke dalam papan pembalak. Kami menggunakan kad SD dengan kapasiti kurang dari 15GB, kerana kami menghadapi masalah dengan kad berkapasiti yang lebih besar. Kami menggunakan format kad ke FAT32.

Akhirnya, tutup semua sendi yang dipateri dan pasangkan semua wayar ke papan terminal dengan gam panas.

Papannya kini sudah siap digunakan. Papan yang sudah siap kini kelihatan seperti ini: Gamb. 11.

Langkah 12: Menyiapkan Pencatat Data untuk Kegunaan Lapangan

Menyiapkan Pencatat Data untuk Kegunaan Lapangan
Menyiapkan Pencatat Data untuk Kegunaan Lapangan

Untuk mengelakkan pengguna data log masuk ke dalam kotak data-logger, serta menyediakan akses mudah ke pin komunikasi, kami mengesyorkan membuat platform penstabil. Platform ini juga menyimpan elektronik sekurang-kurangnya beberapa sentimeter dari bahagian bawah kotak, sekiranya berlaku banjir. Kami menggunakan lembaran akrilik 1.5mm dan menghubungkannya ke pencatat data dengan bolt, mur, dan mesin basuh 4mm (Gamb. 12).

Langkah 13:

Imej
Imej

Kami menggunakan sensor kelembapan tanah jenis kapasitansi sumber terbuka I2C. Kami membelinya dari Catnip Electronics (laman web di bawah). Mereka boleh dibeli di Tindie dan berharga $ 9US untuk model standard dan sekitar $ 22US untuk model lasak. Kami telah menggunakan versi kasar dalam eksperimen lapangan. Mereka sangat mantap dan menawarkan prestasi yang serupa dengan alternatif komersial yang jauh lebih mahal (kami tidak akan meletakkan sesiapa pun di Front Street, tetapi anda mungkin tahu suspek biasa).

Sensor Catnip Electronics I2C yang terdapat dalam tutorial ini:

beli di sini:

perpustakaan arduino:

perpustakaan arduino di Github:

Pasang wayar kuning dari sensor I2C ke salah satu terminal skru A5. Pasang wayar hijau dari sensor I2C ke salah satu terminal A4. Wayar merah dan hitam dari sensor masing-masing menuju ke terminal VCC dan ground.

Masukkan empat bateri NiMh yang dicas ke dalam bekas bateri. Pasang wayar merah (+) ke pin RAW pada pencatat data (iaitu, pin RAW pada papan pro-mini) (tetapi lihat bahagian "penjimatan kuasa" di bawah). Pasang wayar hitam (-) ke salah satu pin ground pada data-logger.

Untuk penggunaan medan jangka panjang, pasangkan panel solar 6V 1W ke penebang kayu. Panel solar akan digunakan untuk menjalankan pencatat data dan mengisi bateri pada siang hari, dan berfungsi walaupun di bawah langit yang mendung (walaupun salji adalah masalah).

Pertama, solatkan dioda Schottky ~ 2A pada terminal positif panel solar. Ini akan mengelakkan arus mengalir kembali ke panel suria apabila tidak ada sinaran suria. Jangan lupa untuk melakukan ini atau anda akan mempunyai bateri mati dalam masa yang singkat.

Pasang terminal (+) dari panel suria (iaitu, dioda) ke pin RAW pada pembalak (iaitu, pin RAW pada pro-mini) dan terminal (-) dari panel solar ke salah satu tanah terminal pada pembalak.

Pengaturan ini memungkinkan pengatur voltan bawaan di papan pro-mini mengatur voltan yang datang dari panel solar dan pek bateri. Sekarang … Saya akan mengatakan bahawa ini bukan persediaan yang sesuai untuk mengecas bateri NiMh (sukar walaupun dalam keadaan sempurna). Walau bagaimanapun, panel suria yang kita gunakan memadamkan sekitar 150mA dalam kondisi sinar matahari penuh, yang sepadan dengan sekitar 0,06 C (C = kapasiti pek bateri), yang telah terbukti bagi kita sebagai kaedah pengisian yang mudah, selamat, dan boleh dipercayai untuk pembalak kami. Kami telah membuat mereka berlari seperti ini di lapangan hingga setahun di Colorado. Walau bagaimanapun, sila lihat penafian - pembalak kami tidak mempunyai jaminan atau jaminan. Bila-bila masa anda menggunakan bateri atau panel solar di lapangan, anda menghadapi risiko kebakaran. Berhati-hati. Gunakan reka bentuk ini dengan risiko anda sendiri!

Lindungi data-logger dan pek bateri dalam kotak kalis cuaca (Gbr. 13).

Langkah 14: Penjimatan Kuasa

Kami sering mematikan LED kuasa dari papan pro-mini dan data-logger. Jejak ke LED ini boleh dipotong dengan berhati-hati dengan pisau cukur (lihat pautan di bawah). Setiap LED menggunakan arus 2.5mA sekitar 5V (pautan di bawah). Walau bagaimanapun, untuk banyak aplikasi jumlah kehilangan kuasa ini tidak dapat dielakkan dan penyelidik boleh meninggalkan LED kuasa seperti sedia ada.

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

Kami juga menjalankan perpustakaan 'LowPower.h' (oleh 'rocketscream'; pautan yang diberikan di bawah), yang sangat mudah digunakan dan mengurangkan penggunaan kuasa antara selang log.

github.com/rocketscream/Low-Power

Setelah mengeluarkan LED kuasa dari pro-mini dan papan log data dan menjalankan perpustakaan LowPower.h (lihat 'kod' di bawah), pembalak akan menggunakan kira-kira. 1mA arus pada 5V semasa tidur. Dengan menjalankan tiga sensor I2C secara serentak, logger dalam mod tidur (antara lelaran pensampelan) menggunakan kira-kira 4.5mA pada 5V, dan sekitar 80mA ketika mengambil sampel. Walau bagaimanapun, kerana pensampelan berlaku dengan sangat cepat, dan jarang, undian arus 80mA tidak memberi sumbangan yang besar untuk menguras bateri.

Lebih banyak kuasa dapat dijimatkan apabila tidak menggunakan panel suria dengan menyambungkan terminal bateri (+) terus ke pin VCC pada pembalak. Namun, menyambungkan terus ke VCC, bukan pin RAW, menghindari pengatur voltan on-board, dan arus ke sensor tidak akan sama konstannya dengan yang diarahkan melalui pengatur. Sebagai contoh, voltan akan berkurang ketika bateri habis selama beberapa hari dan minggu, dan dalam banyak kes, ini akan menghasilkan variasi yang bermakna dalam pembacaan sensor (bergantung pada sensor apa yang anda gunakan). Jangan sambungkan panel solar terus ke VCC.

Langkah 15: Kod

Kami menyertakan dua lakaran untuk menjalankan data logger dengan tiga sensor kelembapan tanah I2C. Sketsa pertama 'logger_sketch' akan mengambil sampel dari setiap sensor dan log kapasitansi dan data suhu ke kad sd setiap 30 minit (tetapi dapat diubah dengan mudah oleh pengguna). Sketsa kedua 'ChangeSoilMoistureSensorI2CAddress' akan membolehkan pengguna memberikan alamat I2C yang berbeza kepada setiap sensor sehingga dapat digunakan secara serentak oleh data-logger. Alamat di 'logger_sketch' dapat diubah pada baris 25, 26, dan 27. Perpustakaan yang diperlukan untuk menjalankan sensor boleh didapati di Github.

Disyorkan: