saya punya perangkat analog accelerometer ADXL203 pada papan lebar dan ingin menggunakan ini untuk mengukur kecenderungan beberapa peralatan pada frekuensi yang cukup tinggi (20-30 Hz). Saya mengaitkannya dengan logger campbells cr3000 untuk melakukan sensing. Apakah ada yang punya petunjuk tentang cara menafsirkan output sensor. Terima kasih
accelerometer
inclination
troy jensen
sumber
sumber
Jawaban:
Saya memiliki beberapa hal untuk dikatakan di sini, dan beberapa di antaranya melibatkan setuju dengan pingswept dan beberapa dengan penjuin.
cr3000
Pengambilan sampel CR3000 pada 16 bit dan 100 Hz akan menjadi sampel agak lambat bagi Anda untuk dengan mudah menghilangkan noise dari data Anda tetapi pada presisi yang jauh lebih tinggi maka akan dapat digunakan. Saya ragu Anda bisa mendapatkan 13 atau 14 bit presisi tanpa beberapa algoritma penyaringan yang cukup bagus. Accelerometers telah mengajari saya bahwa getaran adalah iblis, peledakan phonon.
Kapasitor Keluaran
Anda perlu memastikan Anda melakukan seperti yang dikatakan lembar data dan dicate teori sinyal. Mengutip datasheet:
Ini berarti Anda harus memilih kapasitor untuk menjaga tingkat Anda di bawah 50Hz. Jika Anda menempatkannya di atas ini, Anda bisa mendapatkan aliasing, dan aliasing menjadikan getaran sebagai setan yang Anda tandatangani. Mereka menyatakan bagaimana cara menghitung tingkat kebisingan dari perangkat, dan pada bandwidth 50Hz puncak ke puncak kebisingan 0,006 * Gravity bahkan tidak akan diperhatikan jika Anda memiliki ini pada perangkat dengan getaran.
Menafsirkan Data
Ini mungkin yang paling Anda minati, dan relatif mudah dilakukan. Anda perlu menandai waktu di mana perangkat berada pada posisi netral, ini terjadi ketika flat dan Anda memilikinya relatif diam. Berikan satu atau dua detik pada titik ini, dan kemudian Anda dapat mengambil median data ini untuk menentukan tegangan no-G. Kemudian Anda dapat menggunakan ini sebagai titik Anda membandingkan perangkat. Sekarang, dari titik ini, saya bisa langsung mengutip lembar data:
Jadi Anda bisa menggunakan perkiraan ini jika Anda tidak akan terlalu banyak memiringkannya, tetapi Anda harus menggunakan geometri jika Anda berencana untuk memiringkannya ke kedua arah dan dalam sudut yang tidak terlalu kecil.
Jika Anda akan menjadi lebih besar, mereka bahkan memiliki persamaan yang dijabarkan sebagai:
Sejauh yang saya bisa tel perangkat Anda memberikan perubahan 1V per 1G akselerasi ditempatkan di atasnya. Jika Anda telah melakukan fase kalibrasi, maka Anda harus dapat melakukan pengukuran, kurangi offset, dan Anda memiliki jumlah G yang sedang dialami.
Berhenti Membaca Di Sini kecuali Anda mengalami masalah atau Anda ingin lebih banyak informasi untuk meningkatkan pendekatan.
Saya menambahkan sedikit lebih layak berbicara tentang pendekatan dan metode lain untuk meningkatkan pendekatan Anda untuk sistem yang berubah cepat atau sistem di mana Anda akan memprogram perangkat melakukan sampel.
Frekuensi pengambilan sampel
Anda perlu mengambil sampel secara signifikan lebih cepat daripada kecepatan perangkat Anda mengubah arah percepatan, karena Anda harus mengukur orientasi 20-30 kali per detik. Anda harus dapat mengukur cukup cepat untuk menyaring kebisingan getaran dan akselerasi karena pengaruh lainnya, yang saya temukan cukup besar ketika bekerja dengan accelerometer.
Accelerometer 3-sumbu
Kedua, jika Anda memiliki accelerometer tiga sumbu, maka Anda dapat dengan mudah mengenali kapan satu sumbu kehilangan bagian dari percepatan karena gravitasi (mis. Ketika sumbu z memiliki magnitudo turun sebesar 2m / s ^ 2, Anda tahu bahwa gain yang Anda lihat di sumbu lain adalah gravitasi). Ini masih akan berantakan, tetapi secara umum akan ada penambahan akselerasi yang memberikan kecepatan yang diperlukan untuk mengubah orientasi Anda dan kemudian perubahan akselerasi karena perubahan orientasi, sering memungkinkan Anda untuk mengenali orientasi.
Masalah dengan 2-axis
Ini akan menjadi, seperti yang dikatakan penjuin, hampir mustahil dengan akselerometer 2 sumbu, dan paling tidak samar jika Anda memiliki sistem yang dapat memiliki 20-30 orientasi berbeda per detik, atau jika Anda perlu memiliki ukuran orientasi yang tepat pada setiap saat. Saya yakin mahasiswa master dapat menulis tesis yang cukup bagus tentang ini, atau gelar Doktor dapat menulis disertasi tentang peningkatan algoritma ini.
Kebisingan Getaran
Untuk menambahkan lebih banyak, jika Anda dapat menempatkan perangkat Anda di atas sesuatu yang akan membuatnya tetap terkunci secara statis pada gerakan perangkat Anda, tetapi mengurangi getaran, Anda akan mendapatkan angka yang jauh lebih baik dan tidak memerlukan banyak penyaringan perangkat lunak. Beberapa padding jenis busa sederhana dapat ditempatkan di antara accelerometer dan perangkat Anda, dan jika digital, ini seharusnya tidak meningkatkan kebisingan listrik dan membantu menyerap beberapa kebisingan getaran. Ini hanya boleh dilakukan jika Anda melihat masalah dengan getaran getar.
Akselerometer Digital
Saya akan menyarankan accelerometer digital yang dapat Anda gunakan untuk menghubungkan ke SPI. Data dapat dikeluarkan pada tingkat yang sangat tinggi dan Anda dapat bekerja di latar belakang karena SPI Anda melakukan pekerjaan yang terus-menerus memuat kumpulan nilai berikutnya. Anda perlu memiliki mikrokontroler yang bagus jika itu akan dilakukan secara digital. Jika Anda dapat memberikan saya spesifik yang lebih baik tentang apa yang ingin Anda lakukan, saya dapat memberikan umpan balik yang lebih baik. Jika Anda ingin peringatan yang didasarkan pada deteksi kemiringan maka itu harus sangat mudah dilakukan dengan semua analog, tetapi jika Anda ingin mengukur posisi dan sudut peralatan selama operasi, bersiaplah untuk beberapa pekerjaan.
Harap beri tahu saya jika ada sesuatu yang dapat saya tambahkan untuk membuat jawaban ini lebih jelas atau berlaku untuk apa yang Anda cari.
sumber
Saya telah menulis dan menulis ulang jawaban ini beberapa kali dengan banyak ide matematika yang gila, tetapi saya jujur tidak berpikir ini dapat dilakukan dengan akurasi. Anda dapat melakukan beberapa matematika vektor, tetapi bagaimana jika:
Meskipun saya yakin ada beberapa solusi gila untuk melakukan hal semacam ini, saya tidak yakin itu akan sia-sia; akselerometer sama sekali tidak dirancang untuk tugas ini (setidaknya setahu saya). Untuk apa yang Anda mencoba untuk mencapai, saya akan menyarankan pendekatan gyroscopic menggunakan salah dari ini , yang semuanya akan cukup tahan terhadap semua masalah di atas.
sumber
Jika saya memahami lembar data dengan benar, output untuk setiap sumbu akan bervariasi antara 1,5 V dan 3,5 V saat Anda memiringkan sekitar sumbu. Ketika perangkat datar (mengabaikan kesalahan penyelarasan paket ± 1 derajat), kedua output harus membaca 2,5 V.
Jika Anda hanya perlu mengukur kemiringan dalam satu arah, Anda dapat mengambil arcsin deviasi dari 2,5 V untuk mendapatkan sudut dalam radian, kemudian konversikan ke derajat. Jika perangkat dapat memiringkan ke segala arah, Anda dapat menghitung dua sudut, dan kemudian menghitung sudut gabungan dari itu.
Secara eksplisit: sudut sekitar satu sumbu = (180 / π) * arcsin (Vout - 2.5)
Untuk mendapatkan respons frekuensi yang baik, Anda perlu kapasitor keluaran kecil, Cx dan Cy. Dari catatan kaki 6 pada hal. 3 dari lembar data, sepertinya 0,02 uF akan memberi Anda bandwidth 250 Hz, yang mungkin tepat untuk laju sampel Anda. Anda mungkin bisa mencapai setinggi 0,1 uF, membatasi bandwidth hingga 50 Hz, tetapi sinyal Anda akan mulai dilemahkan.
sumber
Saya menambahkan jawaban kedua, karena jawaban saya yang lain besar, dan Anda mungkin ingin yang sederhana.
Tutup filter Anda harus 0,10 uF atau lebih besar agar Anda di bawah tingkat aliasing Anda (50Hz). Anda perlu memberikan fase kalibrasi beberapa detik dengan perangkat Anda duduk sejajar dengan semua percepatan Gravitasi di arah Z, ini untuk menentukan titik nol G Anda.
Tegangan yang Anda ukur untuk titik nol G Anda, mungkin akan berbeda untuk arah X dan Y, tidak mewakili apa pun. Ambil saja tegangan apa pun yang Anda dapatkan dan kurangi itu. Tegangan ini, dengan offset dikurangi adalah jumlah G yang Anda dapatkan ke arah itu.
Ambil arcsin dan Anda akan mendapatkan sudut Anda ke arah itu.
Ini mengabaikan kebisingan dan akselerasi lainnya. Bersiaplah untuk NaN sebagai hasilnya jika Anda memilikinya sepenuhnya miring dan ada kebisingan.
sumber
Untuk mendapatkan sudut mana pun, Anda perlu mengukur percepatan gravitasi di arah X dan Y. kurangi tegangan tengah (2.5V) sehingga nol adalah "tidak ada akselerasi."
Sekarang Anda dapat menemukan sudut dengan arcsin (y / x). Tapi itu menjengkelkan untuk digunakan, karena pembagian, dan karena tandanya ambigu, jadi apa yang Anda inginkan adalah fungsi C atan2 (y, x). atan2 () mendapatkan tanda yang tepat untuk semua 360 derajat.
Di luar topik, karena Anda tidak menggunakan mikro: Jika Anda mencari atan2 () untuk digunakan pada mikrokontroler, ada generator atan2 () di situs web saya: http://vivara.net/cgi-bin/ cordic.cgi
sumber