Daftar Isi:

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, Juli
Anonim
Pencatat Data Arduino Pro-mini
Pencatat Data Arduino Pro-mini

Buat instruksi untuk data-logger Arduino pro-mini open-source

Penafian: Desain dan kode berikut gratis untuk diunduh dan digunakan, tetapi sama sekali tidak ada jaminan atau garansi apa pun.

Pertama-tama saya harus berterima kasih dan mempromosikan orang-orang berbakat yang telah mengilhami ide pencatat data ini dan berkontribusi pada kode dan sensor yang digunakan. Pertama, ide untuk data-logger berasal dari data-logger yang dirancang dengan sangat baik dan dijelaskan dengan baik (maaf tutorial kami tidak sebaik) dari Edward Mallon: https://thecavepearlproject.org/2017/06/19/ arduin…

Kedua, sensor kelembaban tanah sumber terbuka yang digunakan di sini, serta kode/pustaka untuk menjalankannya, dirancang dan dibuat oleh Catnip Electronics. Ini adalah sensor berkualitas tinggi dan sangat kasar. Informasi di mana membelinya dan mendapatkan kode untuk menjalankannya (terima kasih Ingo Fischer) diberikan di bawah ini.

Langkah 1: Bahan, Alat, Peralatan yang Dibutuhkan

Bahan, Alat, Peralatan yang Dibutuhkan
Bahan, Alat, Peralatan yang Dibutuhkan

Papan Arduino Pro-mini. Untuk aplikasi ini, kami menggunakan sumber terbuka (seperti semua bagian kami) klon pro-mini buatan Cina (5V, 16MHz, mikroprosesor ATmega 326) (Gbr. 1a). Papan ini dapat dibeli di Aliexpress, Ebay, dan situs web serupa dengan harga kurang dari $2US. Namun, papan lain dapat digunakan dengan mudah (perhatikan persyaratan tegangan sensor yang dibutuhkan, serta persyaratan memori program).

Kartu SD dan modul logging real-time-clock (RTC) yang dikeluarkan oleh Deek-Robot (ID: 8122) (Gbr 1b). Modul ini mencakup DS13072 RTC dan pembaca kartu micro-sd. Papan ini berharga kurang dari $2US dan sangat kuat.

Arduino nano (ya - “nano”) adaptor terminal sekrup, juga mengeluarkan Deek-Robot, yang dapat dibeli dengan harga kurang dari $2US dari Aliexpress atau yang serupa (Gbr. 1c). Seperti yang Anda lihat, kami sangat menyukai Aliexpress.

22 gage kawat berisolasi inti padat (Gbr. 1d).

Kotak pencatat data (Gbr. 1e). Kami menggunakan kotak "kelas penelitian", tetapi peralatan plastik yang murah berfungsi dengan baik di sebagian besar situasi.

Casing baterai untuk 4 baterai AA NiMh (Gbr. 1f). Ini dapat dibeli di Aliexpress untuk ca. $0,20 masing-masing (ya – 20 sen). Jangan buang uang Anda pada kasus baterai yang lebih mahal.

6V, sekitar 1W panel surya. Dapat dibeli di Aliexpress dengan harga kurang dari $2US.

Besi solder, solder, dan fluks tipe masa lalu.

Pistol lem panas.

Langkah 2: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Waktu yang dibutuhkan untuk membangun: kira-kira 30 hingga 60 menit.

Siapkan adaptor terminal nano untuk menyolder.

Untuk tujuan demonstrasi ini, kami akan menyiapkan adaptor terminal sekrup nano untuk memfasilitasi penyambungan tiga sensor kelembaban tanah I2C. Namun, hanya dengan sedikit kreativitas, terminal sekrup dapat disiapkan dengan cara yang berbeda untuk memfasilitasi perangkat lain. Jika Anda tidak tahu apa itu I2C, lihat situs web berikut:

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Reference/Wire

Ide untuk menggunakan adaptor sekrup nano diambil dari desain data-logger yang luar biasa dari Edward Mallon:

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

Potong jejak di bagian belakang terminal sekrup antara pin besar dan kecil pada posisi 3, 5, 9, 10, dan 11 (dihitung dari bagian atas terminal) (Gbr. 2). Jejak ini sesuai dengan label "RST", "A7", "A3", "A2", & "A1" pada terminal sekrup. Memotong jejak jauh lebih mudah jika Anda memiliki alat tipe 'Dremel', tetapi jika tidak, pisau kecil akan bekerja dengan mudah. Jangan potong dirimu! Perhatikan bahwa label pada terminal sekrup dan pro-mini tidak semuanya sama (nano dan pro-mini memiliki beberapa pin di lokasi yang berbeda). Ini adalah salah satu ketidaknyamanan desain ini, tetapi cukup mudah untuk memberi label ulang pada papan terminal saat Anda selesai, jika Anda mau.

Gosok dengan hati-hati (menggunakan Dremel atau pisau kecil) lapisan tipis epoksi yang berbatasan langsung dengan pin besar 9, 10, dan 11 (berlabel 'A3', 'A2', 'A1' pada terminal nano) (Gbr. 2). Lapisan tembaga yang terbuka di bawah epoksi dihubungkan ke papan pro-mini Arduino. Kami kemudian akan menyolder bagian yang terbuka ini ke pin yang berdekatan, sehingga menyediakan tiga terminal sekrup yang diarde.

Langkah 3: Buat Instruksi

Membangun Instruksi
Membangun Instruksi

Potong delapan panjang 8 cm kawat pengukur 22 berinsulasi dan strip kira-kira 5 mm insulasi dari satu ujung dan 3 mm dari ujung lainnya. Kami merekomendasikan menggunakan kawat inti padat.

Ambil empat dari kabel ini, tekuk salah satu ujungnya 90 derajat (ujung dengan 5 mm atau kawat terbuka) dan solder *melintasi* (yaitu, menggabungkan semua pin dengan solder dan fluks yang berlebihan) ke titik-titik berikut:

Kawat 1: pin besar 3, 4, dan 5 (berlabel 'RST', '5V', 'A7' pada terminal nano). Kami akan memodifikasi tiga terminal sekrup ini menjadi tiga terminal VCC (Gbr. 3).

Langkah 4: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Kawat 2: pin besar 9, 10, dan 11 (berlabel 'A3', 'A2', 'A1' pada terminal nano) serta lapisan tembaga terbuka yang terpapar sebelumnya. Gunakan banyak solder. Jangan khawatir jika terlihat berantakan. Kami akan memodifikasi tiga terminal sekrup ini menjadi tiga terminal ground (-) (Gbr. 4).

Langkah 5: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Kawat 3: pin besar 13, 14, dan 15 (berlabel 'REF', '3V3', 'D13' pada terminal nano). Kami akan memodifikasi tiga terminal sekrup ini menjadi tiga terminal A5 SCL untuk komunikasi I2C (Gbr. 5).

Langkah 6: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Kawat 4: pin besar 28, 29, dan 30 (berlabel 'D10', 'D11', 'D12' pada terminal nano). Kami akan memodifikasi tiga terminal sekrup ini menjadi tiga terminal A4 SDA untuk komunikasi I2C (Gbr. 6).

Langkah 7: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Solder satu kabel ke masing-masing pin kecil (saya katakan lagi – kecil) 9, 10, dan 11 (berlabel 'A3', 'A2', 'A1' pada terminal nano) (Gbr. 7).

Langkah 8: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Pateri

sisa kabel ke pin besar 22 (berlabel 'D4' pada terminal nano) (Gbr. 8).

Langkah 9: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Solder ujung bebas setiap kabel ke dalam lubang pin yang sesuai pada pelindung data-logger Deek-Robot (Gbr. 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: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Harap dicatat bahwa kami menyediakan label nano di sini untuk kemudahan koneksi saja. Label ini tidak akan sesuai dengan pin pada papan pro-mini setelah dimasukkan ke terminal sekrup.

Solder dua kabel sepanjang 6 cm ke lubang jarum A4 dan A5 dari bagian bawah papan pro-mini (Gbr. 10).

Langkah 11: Membangun Instruksi

Membangun Instruksi
Membangun Instruksi

Pin solder ke papan pro-mini dan masukkan ke terminal sekrup yang sudah selesai. Jangan lupa untuk memasukkan kabel A5 dan A4 ke terminal D12 (A4) dan D13 (A5) pada papan nano. Selalu ingat bahwa pin pada Arduino dan label terminal sekrup tidak akan benar-benar sejajar (papan pro-mini dan nano memiliki pengaturan pin yang berbeda).

Masukkan baterai CR 1220 dan kartu micro-sd ke papan logger. Kami menggunakan kartu SD dengan kapasitas kurang dari 15GB, karena kami mengalami masalah dengan kartu berkapasitas lebih besar. Kami menggunakan format kartu ke FAT32.

Terakhir, tutup semua sambungan yang disolder dan kencangkan semua kabel ke papan terminal dengan lem panas.

Papan sekarang siap digunakan. Papan yang sudah selesai sekarang akan terlihat seperti ini: Gbr. 11.

Langkah 12: Menyiapkan Data-logger untuk Penggunaan Lapangan

Menyiapkan Data-logger untuk Penggunaan Lapangan
Menyiapkan Data-logger untuk Penggunaan Lapangan

Untuk mencegah pencatat data Anda terbalik di kotak pencatat data, serta menyediakan akses mudah ke pin komunikasi, kami sarankan untuk membuat platform penstabil. Platform ini juga menyimpan elektronik setidaknya beberapa sentimeter dari bagian bawah kotak, jika terjadi banjir. Kami menggunakan lembaran akrilik 1,5 mm dan menghubungkannya ke pencatat data dengan baut, mur, dan ring 4 mm (Gbr. 12).

Langkah 13:

Gambar
Gambar

Kami menggunakan sensor kelembaban tanah tipe kapasitansi I2C sumber terbuka. Kami membelinya dari Catnip Electronics (situs web di bawah). Mereka dapat dibeli di Tindie dan berharga sekitar $9US untuk model standar dan sekitar $22US untuk model kasar. Kami telah menggunakan versi kasar dalam eksperimen lapangan. Mereka sangat kuat dan menawarkan kinerja yang sama dengan alternatif komersial yang jauh lebih mahal (kami tidak akan menempatkan siapa pun di Front Street, tetapi Anda mungkin tahu tersangka yang biasa).

Sensor Catnip Electronics I2C ditampilkan dalam tutorial ini:

beli di sini:

perpustakaan arduino:

perpustakaan arduino di Github:

Pasang kabel kuning dari sensor I2C ke salah satu terminal sekrup A5. Pasang kabel hijau dari sensor I2C ke salah satu terminal A4. Kabel merah dan hitam dari sensor masing-masing menuju ke terminal VCC dan ground.

Tempatkan empat baterai NiMh yang terisi daya ke dalam wadah baterai. Pasang kabel merah (+) ke pin RAW pada pencatat data (yaitu, pin RAW pada papan pro-mini) (tetapi lihat bagian “hemat daya” di bawah). Pasang kabel hitam (-) ke salah satu pin ground pada data-logger.

Untuk penggunaan lapangan jangka panjang, pasang panel surya 6V 1W ke logger. Panel surya akan digunakan untuk menjalankan pencatat data dan mengisi baterai di siang hari, dan bekerja bahkan di bawah langit mendung (walaupun salju menjadi masalah).

Pertama, solder dioda Schottky ~2A pada terminal positif panel surya. Ini akan mencegah arus mengalir kembali ke panel surya ketika tidak ada radiasi matahari. Jangan lupa untuk melakukan ini atau Anda akan memiliki baterai mati dalam waktu singkat.

Pasang terminal (+) dari panel surya (yaitu, dioda) ke pin RAW pada logger (yaitu, pin RAW pada pro-mini) dan terminal (-) dari panel surya ke salah satu ground terminal pada logger.

Pengaturan ini memungkinkan regulator tegangan internal di papan pro-mini untuk mengatur tegangan yang berasal dari panel surya dan baterai. Sekarang… Saya akan mengatakan bahwa ini bukan pengaturan yang ideal untuk mengisi daya baterai NiMh (sulit bahkan dalam kondisi sempurna). Namun, panel surya yang kami gunakan mengeluarkan ca 150mA di bawah kondisi sinar matahari penuh, yang sesuai dengan ca 0,06 C (C = kapasitas baterai), yang telah terbukti bagi kami sebagai metode pengisian yang sederhana, aman, dan andal untuk penebang kami. Kami telah menjalankan mereka dengan cara ini di lapangan hingga satu tahun di Colorado. Namun, silakan lihat disclaimer – logger kami datang tanpa jaminan atau garansi sama sekali. Setiap kali Anda menggunakan baterai atau panel surya di lapangan, Anda berisiko memicu kebakaran. Hati-hati. Gunakan desain ini dengan risiko Anda sendiri!

Amankan pencatat data dan paket baterai di dalam kotak tahan cuaca (Gbr. 13).

Langkah 14: Konservasi Daya

Kami sering menonaktifkan LED daya dari papan pro-mini dan data-logger. Jejak ke LED ini dapat dipotong dengan hati-hati dengan pisau cukur (lihat tautan di bawah). Setiap LED mengkonsumsi sekitar 2.5mA arus pada 5V (tautan di bawah). Namun, untuk banyak aplikasi, jumlah kehilangan daya ini dapat diabaikan dan peneliti dapat membiarkan LED daya apa adanya.

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

Kami juga menjalankan perpustakaan 'LowPower.h' (dengan 'rocketscream'; tautan yang diberikan di bawah), yang sangat mudah digunakan dan secara signifikan mengurangi konsumsi daya di antara interval pencatatan.

github.com/rocketscream/Low-Power

Setelah melepas LED daya dari pro-mini dan papan pencatatan data dan menjalankan perpustakaan LowPower.h (lihat 'kode' di bawah), pencatat akan menggunakan ca. Arus 1mA pada 5V saat tidur. Menjalankan tiga sensor I2C secara bersamaan, logger dalam mode tidur (antara iterasi pengambilan sampel) mengkonsumsi sekitar 4,5mA pada 5V, dan sekitar 80mA saat pengambilan sampel. Namun, karena pengambilan sampel terjadi dengan sangat cepat, dan cukup jarang, penarikan arus 80mA tidak memberikan kontribusi yang berarti terhadap pengurasan baterai.

Lebih banyak daya dapat dihemat saat tidak menggunakan panel surya dengan menghubungkan terminal (+) baterai langsung ke pin VCC pada logger. Namun, menghubungkan langsung ke VCC, bukan pin RAW, menghindari regulator tegangan on-board, dan arus ke sensor tidak akan hampir konstan seperti jika disalurkan melalui regulator. Misalnya, tegangan akan berkurang karena baterai terkuras selama beberapa hari dan minggu, dan dalam banyak kasus, ini akan menghasilkan variasi yang berarti dalam pembacaan sensor (tergantung pada sensor yang Anda gunakan). Jangan menghubungkan panel surya langsung ke VCC.

Langkah 15: Kode

Kami menyertakan dua sketsa untuk menjalankan pencatat data dengan tiga sensor kelembaban tanah I2C. Sketsa pertama 'logger_sketch' akan mengambil sampel dari setiap sensor dan mencatat kapasitansi dan data suhu ke kartu sd setiap 30 menit (tetapi dapat dengan mudah diubah oleh pengguna). Sketsa kedua 'ChangeSoilMoistureSensorI2CAddress' akan memungkinkan pengguna untuk menetapkan alamat I2C yang berbeda untuk masing-masing sensor sehingga dapat digunakan secara bersamaan oleh pencatat data. Alamat dalam 'logger_sketch' dapat diubah pada baris 25, 26, dan 27. Pustaka yang diperlukan untuk menjalankan sensor dapat ditemukan di Github.

Direkomendasikan: