Daftar Isi:

Anemometer Pencatatan Data Mandiri: 11 Langkah (dengan Gambar)
Anemometer Pencatatan Data Mandiri: 11 Langkah (dengan Gambar)

Video: Anemometer Pencatatan Data Mandiri: 11 Langkah (dengan Gambar)

Video: Anemometer Pencatatan Data Mandiri: 11 Langkah (dengan Gambar)
Video: Proses pasang Ring Jantung atau Cincin Jantung #cardio #cardiology #ringjantung 2024, November
Anonim
Anemometer Pencatatan Data Mandiri
Anemometer Pencatatan Data Mandiri

Saya suka mengumpulkan dan menganalisis data. Saya juga suka membangun gadget elektronik. Setahun yang lalu ketika saya menemukan produk Arduino, saya langsung berpikir, "Saya ingin mengumpulkan data lingkungan." Itu adalah hari yang berangin di Portland, OR, jadi saya memutuskan untuk mengambil data angin. Saya melihat beberapa instruksi untuk anemometer dan menemukan mereka cukup berguna, tetapi perlu membuat beberapa perubahan teknik. Pertama, saya ingin perangkat berjalan mandiri, di luar ruangan, selama seminggu. Kedua, saya ingin dapat merekam hembusan angin yang sangat kecil, beberapa desain di sini membutuhkan angin yang cukup kuat untuk memulai. Terakhir, saya ingin merekam data. Saya memutuskan untuk menggunakan desain rotor yang sangat ringan dengan inersia dan hambatan sesedikit mungkin. Untuk mencapai ini, saya menggunakan semua bagian plastik (termasuk batang vinil berulir), hubungan bantalan bola, dan sensor optik. Desain lain menggunakan sensor magnetik atau motor DC yang sebenarnya, tetapi keduanya memperlambat rotor, optik menggunakan sedikit lebih banyak daya tetapi tidak memberikan hambatan mekanis. Data logger hanyalah sebuah Atmega328P dengan chip flash 8 mbit. Saya berpikir untuk menggunakan SD, tetapi saya ingin menjaga biaya, konsumsi daya, dan kompleksitas tetap rendah. Saya menulis sebuah program sederhana yang mencatat jumlah rotasi dua byte setiap detik. Dengan 8 megabit saya pikir saya bisa mengumpulkan data sekitar satu minggu. Dalam desain asli saya, saya pikir saya akan membutuhkan 4 sel C, tetapi setelah seminggu sel-sel itu masih terisi penuh, jadi saya pasti telah mati dengan urutan besarnya dalam konsumsi daya. Saya tidak menggunakan regulator linier, saya mengarahkan semua rel tegangan ke 6V (meskipun beberapa bagian diberi peringkat 3.3V. Yay overdesign!). Untuk mengunduh data, saya memiliki sistem kompleks yang membaca flash dan membuangnya ke monitor serial arduino, dan saya memotong dan menempelkannya ke Excel. Saya tidak menghabiskan waktu mencoba mencari cara untuk menulis aplikasi USB baris perintah untuk membuang flash ke standar, tetapi pada titik tertentu saya perlu mencari tahu ini. Hasilnya agak mengejutkan, saya bisa mengamati beberapa tren yang sangat menarik, yang saya simpan untuk laporan lain. Semoga beruntung!

Langkah 1: Bangun Rotor

Bangun Rotor
Bangun Rotor
Bangun Rotor
Bangun Rotor

Saya mencoba sejumlah ide berbeda untuk cangkir rotor: telur paskah, bola pingpong, gelas plastik, dan bola hiasan pohon Natal kosong. Saya membuat beberapa rotor dan menguji semuanya dengan pengering rambut, yang menyediakan berbagai kecepatan angin. Dari empat prototipe, cangkang ornamen bekerja paling baik. Mereka juga memiliki tab kecil yang memudahkan pemasangan, dan terbuat dari plastik kaku yang cocok dengan semen polikarbonat. Saya mencoba beberapa panjang poros yang berbeda, kecil, sedang dan besar (sekitar 1" sampai sekitar 6") dan menemukan bahwa ukuran yang lebih besar terlalu banyak torsi dan tidak merespon dengan baik pada kecepatan angin rendah, jadi saya menggunakan poros ukuran kecil. Karena semuanya terbuat dari plastik bening, saya membuat cetakan kecil yang berguna untuk membantu menurunkan ketiga bilahnya. Bahan: Ornamen berasal dari Oriental Trading Company, item "48/6300 DYO CLEAR ORNAMENT", $6 ditambah $3 pengiriman. Poros plastik dan disk struktural berasal dari toko Plastik TAP lokal, sekitar $4 lebih untuk suku cadang.

Langkah 2: Bangun Basis Atas

Bangun Basis Atas
Bangun Basis Atas
Bangun Basis Atas
Bangun Basis Atas

Untuk mengurangi inersia rotasi, saya menggunakan batang nilon berulir dari McMaster Karr. Saya ingin menggunakan bantalan, tetapi bantalan mesin dikemas dalam pelumas yang memperlambat rotor, jadi saya membeli beberapa bantalan skateboard murah yang tidak memilikinya. Mereka kebetulan pas di dalam adaptor pipa diameter dalam CPVC 3/4 ". Baru setelah saya merakit strukturnya, saya menyadari bantalan skate menangani beban planar, dan saya menerapkan beban vertikal, jadi saya seharusnya menggunakan bantalan pendorong, tetapi mereka bekerja dengan baik, dan mungkin membantu mengelola gesekan dari torsi presesi. Saya berencana memasang sensor optik ke bagian bawah poros, jadi saya memasang kopling CPVC ke dasar yang lebih besar. Home Depot adalah tempat yang menyenangkan untuk mencampur dan cocok dengan fitting CPVC/PVC. Akhirnya saya dapat memasukkan kopling CPVC berulir 3/4" ke dalam peredam PVC 3/4" hingga 1-1/2". Butuh banyak bermain-main untuk membuat semuanya pas, tetapi menyisakan cukup ruang untuk elektronik. Bahan: 98743A235 -- Batang Nilon Berulir Hitam (5/16"-18 benang) 94900A030 -- Kacang Hex Nilon Hitam (5/16"-18 benang) Bantalan skateboard murah 3/4" adaptor CPVC berulir 3/4" hingga 1 -1/2" Peredam PVC ke pipa berulir 3/4" Catatan: Dimensi kopling PVC dan CPVC tidak sama, mungkin untuk mencegah penyalahgunaan yang tidak disengaja; jadi mengganti adaptor biasa 3/4" PVC biasa tidak akan berfungsi, namun, BENANG adaptor berulir sama, yang benar-benar aneh. Sambungan CPVC ke busing adaptor PVC. Adaptor… busing… kopling… Saya mungkin mencampuradukkan semua istilah ini, tetapi 15 menit di lorong pipa Home Depot akan membuat Anda lurus.

Langkah 3: Pengganggu Optik

Pengganggu Optik
Pengganggu Optik
Pengganggu Optik
Pengganggu Optik

Saat rotor berputar, putarannya dihitung oleh interupsi optik. Saya berpikir untuk menggunakan disk, tetapi itu berarti saya harus memasang sumber penerangan dan detektor secara vertikal, yang akan sangat sulit untuk dipasang. Sebagai gantinya saya memilih pemasangan horizontal dan menemukan beberapa cangkir kecil yang diletakkan di bagian bawah kursi untuk melindungi lantai kayu keras. Saya melukis dan merekatkan enam segmen, yang akan memberi saya dua belas (hampir) tepi seragam, atau 12 kutu per putaran rotor. Saya berpikir untuk melakukan lebih banyak tetapi tidak terlalu paham dengan kecepatan detektor, atau bidang pandang optiknya. Artinya, jika saya terlalu sempit, LED mungkin merayap di sekitar tepi dan mengaktifkan sensor. Ini adalah bidang penelitian lain yang tidak saya kejar, tetapi akan bagus untuk dijelajahi. Saya merekatkan cangkir yang dicat ke mur dan mengikatnya ke ujung poros. Bahan: Cangkir pelindung kaki kursi dari cat Home Depot Black

Langkah 4: Pasang Rotor

Pasang Rotornya!
Pasang Rotornya!

Pada titik ini mulai terlihat cukup keren. Mur nilon sangat licin, jadi saya harus menggunakan banyak mur pengunci (kalau-kalau Anda tidak memperhatikan dari gambar sebelumnya). Saya juga harus membuat kunci pas pipih khusus agar pas dengan tutup di bawah rotor sehingga saya bisa mengunci kedua mur.

Langkah 5: Bangun Basis Bawah

Bangun Pangkalan Bawah
Bangun Pangkalan Bawah
Bangun Pangkalan Bawah
Bangun Pangkalan Bawah

Basis bawah menampung baterai dan menyediakan struktur pendukung. Saya menemukan kotak tahan air yang cukup keren secara online dari sebuah perusahaan bernama Polycase. Ini adalah kasing yang sangat licin yang tertutup rapat, dan sekrupnya lebih lebar di bagian dasarnya sehingga tidak mudah jatuh dari atas. Saya menggunakan pasangan PVC ke bushing PVC atas. Pasangan alas bawah ini hanyalah kopling PVC 1-1/2" berulir. Tekanan dasar rotor atas masuk ke dasar bawah melalui kopling ini. Seperti yang akan Anda lihat nanti, saya tidak merekatkan potongan-potongan ini karena saya ingin dapat membukanya dan melakukan penyesuaian jika perlu, ditambah perakitan lebih mudah saat memasang papan sirkuit Bahan: Kotak tahan air dari Polycase, item # WP-23F, $12.50 Kopling PVC berulir 1-1/2"

Langkah 6: Bangun Sensor Optik

Bangun Sensor Optik
Bangun Sensor Optik

Mekanisme sensor adalah LED 940nm dan penerima pemicu Schmitt. Saya suka cinta cinta sirkuit pemicu Schmitt, ini menangani semua kebutuhan debouncing saya dan mengirimkan sinyal yang kompatibel dengan CMOS/TTL. Satu-satunya downside? operasi 5V. Ya, saya mendorong seluruh desain ke 6V, tapi saya bisa pergi ke 3.3V jika bukan karena bagian ini. Idenya adalah bahwa sirkuit ini dipasang di bawah cangkir rotor, yang menginterupsi balok saat berbelok, menghasilkan transisi logis untuk setiap tepi. Saya tidak memiliki gambaran yang baik tentang bagaimana ini dipasang. Saya pada dasarnya merekatkan dua offset plastik ke kopling PVC dasar bawah, dan memasangnya dari atas. Saya harus menggiling tepi papan agar pas dengan rapi. Saya bahkan tidak memiliki skema untuk ini, sangat mudah: jalankan saja resistor 1k dari Vin dan sambungkan sehingga LED selalu menyala dan keluaran detektor ada di pinnya. Bahan: 1 940nm LED 1k resistor 1 sensor OPTEK OPL550 1 steker tiga pin (perempuan) 1 papan sirkuit 1,5"x1,5" Berbagai panjang kawat Pipa heat-shrink jika Anda ingin kabel Anda dibundel

Langkah 7: Bangun Pencatat Data

Bangun Pencatat Data
Bangun Pencatat Data
Bangun Pencatat Data
Bangun Pencatat Data
Bangun Pencatat Data
Bangun Pencatat Data
Bangun Pencatat Data
Bangun Pencatat Data

Papan prototyping Arduino terlalu besar untuk masuk ke dalam sasis. Saya menggunakan EagleCAD untuk meletakkan papan sirkuit yang lebih kecil, dan kehilangan satu lapisan … ada empat kabel jelek yang saya butuhkan untuk menjembatani beberapa celah.

(Saya pikir saya mengukur ini pada daya operasi ~ 50mW, dan berdasarkan Watt-Jam baterai, saya pikir saya akan turun di bawah 5V dalam seminggu, tetapi pengukuran daya saya atau matematika saya salah karena 4 sel C disimpan berjalan untuk waktu yang lama.)Tata letak yang cukup mudah: hanya resonator, ATmega328, chip flash, jumper debug, LED debug, tutup catu daya, dan hanya itu. Ada sesuatu yang disebut DorkBoard yang bisa saya gunakan juga, itu pada dasarnya semua yang diperlukan untuk papan dev ATMega328 dalam ukuran soket DIP. Saya mempertimbangkan untuk membeli satu tetapi pendekatan diskrit saya sekitar 50% lebih murah. Ini tautan dorkboard:

Inilah ide dasarnya (kode sumber akan disertakan nanti) bagaimana papan beroperasi: Jumper diatur ke mode "debug": pasang interupsi nilai-perubahan ke output sensor optik, dan nyalakan LED uji bersamaan dengan detektor. Ini sangat membantu untuk debugging. Jumper diatur ke mode "rekam": pasang interupsi yang sama ke penghitung, dan di loop utama, tunda 1000 msec. Pada akhir 1000 mdtk, tulis # jumlah tepi ke halaman flash 256-byte, dan ketika halaman penuh, tulis dan setel ulang penghitungan. Sederhana, bukan? Kurang lebih. Saya sangat menyukai perangkat flash Winbond, saya dulu mendesain flash di tahun 90-an, jadi menyenangkan untuk memprogramnya lagi. Antarmuka SPI brilian. Sangat sederhana untuk digunakan. Saya akan membiarkan skema dan kode sumber berbicara sendiri. Apakah saya menyebutkan EagleCAD mengagumkan? Ini benar-benar. Ada beberapa tutorial bagus di YouTube.

Langkah 8: Pasang Elektronik

Lampirkan Elektronik
Lampirkan Elektronik

Sekali lagi, saya tidak punya banyak gambar bagus di sini, tetapi jika Anda membayangkan dua plastik yang menempel di bagian dalam PVC, kedua papan disekrup ke dalamnya. Berikut adalah bidikan papan logger yang terhubung ke bagian bawah. Papan detektor berada di atas di dalam rumahan.

Langkah 9: Kalibrasi

Kalibrasi
Kalibrasi
Kalibrasi
Kalibrasi
Kalibrasi
Kalibrasi
Kalibrasi
Kalibrasi

Saya membuat rig uji untuk mengkalibrasi binatang sehingga saya dapat mengubah jumlah rotor mentah menjadi MPH. Ya, itu adalah 2x4. Saya memasang anemometer ke satu ujung, dan debug Arduio ke ujung lainnya. LCD menampilkan jumlah rotor. Prosesnya seperti ini: 1) Temukan jalan lurus yang panjang tanpa lalu lintas. 2) Pegang 2x4 sehingga menyembul sejauh mungkin ke luar jendela 3) Nyalakan rekaman suara di iPhone atau Android Anda 4) Nyalakan speedometer GPS digital pada perangkat genggam pilihan Anda 5) Berkendara dengan mantap pada beberapa kecepatan dan umumkan ke perekam Anda kecepatan dan jumlah rotor rata-rata 6) Jangan crash 7) ? 8) Nanti, saat tidak mengemudi, putar ulang pesan telepon Anda dan masukkan data ke excel dan berharap linier atau eksponensial atau polinomial cocok dengan nilai R-kuadrat lebih besar dari 99% Konversi ini # akan digunakan nanti. Perangkat hanya menangkap data mentah, saya memrosesnya ke MPH (atau KPH) di Excel. (Apakah saya menyebutkan bahwa saya menerapkan lapisan cat minyak zaitun yang buruk? Saya akan menyebutnya "Anemometer Pencatatan Data Taktis", tetapi kemudian saya ingat bahwa "Taktis" berarti "hitam".)

Langkah 10: Kumpulkan Beberapa Data Angin

Pergi Kumpulkan Beberapa Data Angin!
Pergi Kumpulkan Beberapa Data Angin!
Pergi Kumpulkan Beberapa Data Angin!
Pergi Kumpulkan Beberapa Data Angin!
Pergi Kumpulkan Beberapa Data Angin!
Pergi Kumpulkan Beberapa Data Angin!

Itu cukup banyak. Saya pikir beberapa gambar hilang, mis. tidak diperlihatkan adalah empat sel-C yang berdesakan di dasar yang lebih rendah. Saya tidak dapat memasukkan dudukan pegas, jadi saya akhirnya menyolder kabel ke baterai itu sendiri. Saya menulis instruksi ini setahun setelah saya membuatnya, dan dalam revisi # 2, saya menggunakan baterai AA karena saya terlalu melebih-lebihkan konsumsi daya. Menggunakan AA memungkinkan saya untuk menambahkan sakelar on-off dan benar-benar membebaskan beberapa ruang di dalamnya, jika tidak, itu cukup ketat. Secara keseluruhan saya cukup puas dengan desainnya. Grafik di bawah ini menunjukkan data rata-rata selama satu minggu. Baterai mulai mati pada hari ketujuh. Saya dapat meningkatkan masa pakai baterai dengan menjalankan LED pada siklus kerja yang lebih rendah sekitar 1kHz dan saya tidak akan kehilangan tepi karena kecepatan sudut rotor yang relatif rendah.

Selamat bersenang-senang! Beri tahu saya jika Anda melihat ada ruang untuk perbaikan!

Langkah 11: Kode Sumber

Terlampir adalah file sumber Arduino tunggal. Saya GPL karena, hei, GPL.

EDIT: Saya ingin menunjukkan bahwa implementasi saya menggunakan penundaan 1s () adalah ide yang buruk dan dalam h Jumlah waktu yang diperlukan untuk menulis ke flash dan membaca sensor mungkin tampak kecil, tetapi selama 7 -10s itu menambahkan hingga beberapa penyimpangan yang signifikan. Sebagai gantinya, gunakan interupsi timer 1Hz (Timer #1 pada 328P dapat dikalibrasi ke 1Hz dengan sempurna). Agar aman, Anda harus membuat kode di pagar jika halaman menulis & membaca sensor karena alasan tertentu membutuhkan waktu lebih dari 1 detik (menangani sampel yang dijatuhkan), tetapi interupsi pengatur waktu adalah cara untuk melakukan hal-hal yang perlu, baik, waktu- tepat. Bersulang!

Direkomendasikan: