Apakah akselerometer tahu kapan mereka bergerak lurus ke atas atau lurus ke bawah?

8

Saya membutuhkan sensor yang hanya dapat saya tempatkan di atas objek, untuk menghitung berapa kali objek bergerak naik dan turun.

Apakah menempatkan accelerometer di atas objek akan mencapai ini atau dapatkah ia melacak transisi antara naik dan turun?

Jika tidak, jenis sensor apa yang akan melakukan ini?

---------------- EDIT: -------------------------

Idealnya saya ingin sensor yang bisa saya atur di atas kotak yang diuraikan di bawah ini dan hitung berapa kali naik dan turun. Ini memiliki beberapa rel panduan yang mencegahnya memutar. Saya berencana menggunakan arduino sebagai mikrokontroler yang melakukan perhitungan, hanya perlu sensor yang mampu merasakan gerakan naik / turun. Semua saran diterima. Terima kasih.

   +    +
   +    +
   +    +
------------
|   box    | 
| moves up |
| and down |
------------
   +    +
   +    +
TheDudeAbides
sumber
3
Akselerometer akan mengukur ketika ada perubahan kecepatan suatu objek. Jika suatu benda bergerak dengan kecepatan tetap, accelerometer akan menunjukkan keluaran nol. Semakin cepat perubahan kecepatan, semakin besar pengukuran yang akan ditunjukkan oleh accelerometer selama waktu itu.
Michael Karas
Jadi berdasarkan komentar saya di atas, accelerometer dapat digunakan untuk mengukur kapan suatu objek mulai bergerak dari posisi diam atau ketika ia berubah arah. Perangkat itu sendiri hanyalah sebuah sensor dan tidak memiliki "tahu". Anda harus menghubungkan beberapa sirkuit atau mikrokontroler lain yang akan mencatat output accelerometer dan menghitung perubahan menjadi "tahu" ketika objek berubah posisi.
Michael Karas
3
Saya pikir menyarankan cara yang lebih baik akan membutuhkan mengetahui lebih banyak tentang aplikasi. Ada banyak cara untuk mengukur gerakan dan posisi - cara yang bekerja paling tergantung sepenuhnya pada apa yang bergerak, bagaimana bergerak, di mana (dan apa yang ada di sekitarnya), sumber daya apa yang tersedia atau nyaman, bagaimana akurat solusinya, berapa banyak suara yang harus ditolak, seberapa andal yang dibutuhkan, dll. Jika Anda bisa memberikan detail lebih banyak tentang aplikasi ini, Anda mungkin akan mendapatkan jawaban yang lebih baik.
J ...
1
Karena penasaran, apa yang membuat kotak itu bergerak naik dan turun? (Maksud saya, mengapa Anda tidak dapat mendeteksi pergerakan secara tidak langsung dengan melihat kontrol?)
copper.hat
1
@MichaelKaras - Maaf, tetapi karakterisasi accelerometer Anda salah. Akselerometer yang diletakkan diam di medan gravitasi 1 g akan (jika sumbu sensitifnya vertikal) melaporkan bahwa akselerasinya secara vertikal pada ~ 9,8 m / detik ^ 2. Faktanya, ini adalah dalil pertama Relativitas Umum.
WhatRoughBeast

Jawaban:

8

Saya pikir accelerometer dan Arduino adalah cara yang bagus untuk menghitung berapa kali kotak bergerak naik dan turun. Ini adalah cara yang ringkas, andal, dan non-kontak untuk mendeteksi gerakan.

Ini bisa bekerja untuk gerakan selembut naik dan turunnya dada Anda, saat bernafas, berbaring, dan tentu saja lebih cepat dari itu.

Anda mungkin lolos dengan detektor ambang sederhana dengan beberapa histeresis - hitung satu ketika akselerasi melebihi + x, kemudian atur ambang ke -x, hingga melintasi -x, lalu atur ambang ke + x.

Jika akselerasi lebih lembut, atau ada getaran latar belakang yang tidak ingin Anda hitung (meskipun sebenarnya gerakan itu naik dan turun), maka sinyalnya mungkin hilang dalam kebisingan.
Maka Anda harus menerapkan filter digital sederhana pada Arduino, yang pada dasarnya "mencari" pergerakan pada tingkat tertentu. Ini bisa menjadi sederhana hanya dengan menambahkan 100 sampel percepatan terakhir (pada 100 Hz) dan menempatkan rata-rata melalui detektor ambang, atau Anda dapat merancang filter yang lebih rumit.

Jika Anda berencana menggunakan accelerometer untuk apa pun, cobalah dulu dengan ponsel cerdas Anda.

Lihat di app store Anda untuk aplikasi monitor accelerometer, sesuatu yang merekam sensor ke file, dan lakukan beberapa percobaan. Jika itu membuat file CSV, Anda dapat membukanya di excel dan plot grafik dll.

Akselerometer di telepon Anda cukup mendasar dan berisik, tetapi merupakan pengganti yang baik untuk akselerometer sub-$ 100 lainnya, dan mungkin memberi Anda gambaran kasar tentang apa yang bisa dilakukan oleh $ 1000.

Ini adalah contoh dari apa yang telah saya lakukan dengan sensor ponsel.

Semoga berhasil! Posting hasil Anda di sini (jawab pertanyaan Anda sendiri) jika berhasil untuk Anda.

tomnexus
sumber
7

Secara umum, tidak. Bayangkan melempar bola lurus ke atas (dan abaikan hambatan angin): begitu itu bergerak, satu-satunya kekuatan di atasnya adalah gravitasi, yang menghasilkan akselerasi konstan . Tidak ada cara untuk mengetahui dari akselerasi saja, ketika bola telah mencapai ketinggian tertinggi dan mulai turun kembali - akselerasi adalah sama di sepanjang jalurnya hingga menyentuh tanah.

Jika Anda tahu bahwa objek mulai diam dan Anda mengukur akselerasi, Anda dapat mengetahui kecepatannya dengan mengintegrasikan akselerasi dari waktu ke waktu. Jika melambat Anda akan melihat akselerasi negatif, dan integral akan menjadi nol ketika berhenti. Kemudian ketika mulai bergerak lagi Anda akan melihat perubahan dalam akselerasi dan Anda dapat mulai mengintegrasikan semuanya lagi. Namun, ini sangat tergantung pada keakuratan pengukuran dan perhitungan. Jika salah satu dimatikan sedikit, kesalahan akan meningkat secara bertahap sampai Anda tidak lagi tahu apa yang sebenarnya terjadi.

Pete Becker
sumber
1
Bukan hanya akurasi - IMU yang sebenarnya harus mengetahui orientasi rotasinya setiap saat untuk menerapkan pengukuran akselerasi.
Chris Stratton
@ ChrisStratton - Saya tidak mengatakan ini, tapi saya mengasumsikan gerakan garis lurus. Apakah komentar Anda masih benar dalam situasi yang dibatasi secara tidak realistis?
Pete Becker
Cukup pada 9,8 m / s untuk akselerasi yang diamati.
Loren Pechtel
1
@ LorenPechtel: Itu penting, tetapi tidak memperbaiki masalah integrasi. Bayangkan sebuah kotak naik, melambat hampir berhenti, dan berakselerasi lagi. Sekarang bayangkan sebuah kotak kedua yang melambat sedikit lagi, jadi sebentar turun, sebelum naik lagi. Perbedaannya bisa minimal, tetapi counter atas / bawah harus berbeda. Jika integrasi Anda sedikit tidak aktif, Anda tidak akan melihat perbedaannya.
MSalters
1
Bukankah akselerometer mengukur nol untuk sebuah objek di terjun bebas? Ini benar-benar lebih dari pengukuran G-force bukan?
Octopus
5

Pertama, penting untuk memahami bagaimana akselerometer berperilaku dalam medan gravitasi, seperti yang kita alami di bumi. Akselerometer tidak mengukur akselerasi, dalam arti akselerator tidak mengukur perubahan kecepatan saja. Ini mengukur perubahan kecepatan plus gravitasi - yang berarti Anda perlu melakukan pengukuran gravitasi jika Anda berencana untuk mencoba apa yang Anda garis besarkan.

Juga, gravitasi akan diukur sebagai akselerasi ke atas - yang agak berlawanan dengan intuisi tetapi masuk akal jika Anda membayangkan akselerometer sedang dibuat seperti ini:

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

Saya telah menyalahgunakan editor skematik untuk menunjukkan bantalan bola yang ditangguhkan dalam tabung oleh dua pegas yang teredam sempurna. Bayangkan accelerometer melakukan pengukuran dengan memberi tahu Anda seberapa jauh dari posisi istirahat bantalan bola saat ini. Sekarang bayangkan membalikkan perangkat ini pada ujungnya, dan Anda dapat melihat bagaimana bantalan bola merosot di bawah gravitasi, dan bagaimana ini tidak dapat dibedakan dari akselerasi. Saya pikir relativitas memiliki sesuatu untuk dikatakan tentang topik ini, tetapi bagaimanapun juga.

Jadi - jika Anda memiliki accelerometer vertikal, dan Anda menghilangkan efek gravitasi, dan gerakan perangkat Anda cukup besar dari lantai kebisingan accelerometer Anda, dan terlebih lagi gerakannya cukup halus untuk tidak membingungkan algoritma Anda - maka mungkin menjadi mungkin. Ada jawaban di atas yang menyebutkan terjun bebas, yang akan menjadi masalah, tapi saya berasumsi dari deskripsi Anda bahwa perangkat Anda tidak akan jatuh bebas untuk waktu yang lama. Ini dugaan.

Jika Anda benar-benar ingin menggunakan accelerometer, pendekatan terbaik Anda untuk masalah seperti ini adalah dengan merekam output accelerometer itu entah bagaimana (saya lebih suka untuk mengeluarkannya melalui SPI dan merekamnya menggunakan penganalisis logika USB) dan menuliskan dengan tepat apa yang Anda lakukan (atau bahkan video itu, jika Anda benar-benar tertarik). Kemudian Anda dapat bermain-main dengan algoritma offline, tanpa biaya terus menerus bertanya-tanya apakah Arduino Anda benar-benar melakukan apa yang Anda pikirkan.

Seperti yang disebutkan orang lain, jenis sensor lain mungkin lebih tepat. Kami perlu lebih detail tentang mengapa Anda mencoba apa yang ingin Anda komentari.

Dave Branton
sumber
2
Ini bukan hanya akselerometer accelerometer - objek yang duduk di medan gravitasi seragam tidak dapat dibedakan dari yang dipercepat secara seragam. Dalam arti tertentu, akselerometer tepat ketika dikatakan bahwa objek yang duduk di tanah semakin cepat; kami hanya tidak berpikir itu karena kami berakselerasi pada kecepatan yang sama.
cpast
Ya - saya menyadarinya. Akselerometer sama benarnya dengan yang mungkin - tetapi cukup kontra-intuitif bahwa akselerometer vertikal yang tidak bergerak dalam medan gravitasi mengukur akselerasi ke atas .
Dave Branton
Saya pikir ini adalah penjelasan yang lebih baik: Bayangkan seorang pria dalam skala dalam lift. Skala menampilkan gaya yang berlaku untuk manusia (dibagi dengan g). Pertama, ini menampilkan berat nyata, tetapi ketika lift mulai bergerak ke atas, itu menampilkan bobot yang lebih tinggi. Dan bahkan pria itu merasa dirinya lebih berat. Juga accelerometer hanya mengukur kekuatan yang berlaku untuk massa kecil.
berenang
4

Jika objek bergerak naik dan turun pada panduan tetap, saya pikir cara termudah untuk menghitung pergerakannya adalah dengan menggunakan saklar batas yang akan ditutup ketika objek sedang diam, dan terbuka ketika jauh dari posisi istirahatnya.

Peter Bennett
sumber
3

Hati-hati, pembalikan akselerasi tidak berarti kotak berbalik. Kotak mulai - Anda melihat akselerasi ke atas. Sekarang bergerak naik dengan kecepatan tetap - Anda tidak melihat akselerasi. Ini melambat ke setengah kecepatan - Anda melihat akselerasi ke bawah. Ini berlanjut dengan kecepatan setengah - Anda tidak melihat akselerasi. Ini mempercepat kembali - Anda melihat akselerasi ke atas. Berhenti, Anda melihat akselerasi ke bawah.

Anda melihat ke atas, ke bawah, ke atas, ke bawah tetapi kotak itu hanya bergerak ke atas. Anda harus berintegrasi dari waktu ke waktu dan memiliki akurasi yang cukup dalam accelerometer Anda untuk mengetahui apa yang sebenarnya Anda tuju - memperhatikan kesalahan kumulatif, ini bisa membuat masalah ini sangat sulit!

Sudahkah Anda menyelidiki menggunakan pencari jangkauan laser untuk mengukur di mana kotak itu?

Loren Pechtel
sumber
Memang Anda perlu mengintegrasikan dua kali dari waktu ke waktu - sekali untuk mendapatkan kecepatan, dan sekali untuk mendapatkan jarak - yang akan penuh dengan kesalahan kumulatif.
Abligh
2

Accelerometer mengukur akselerasi. Jika gerakan dilakukan dengan akselerasi, itu akan terdeteksi, mengingat accelerometer cukup sensitif pada sumbu ini. Arah percepatan akan ditunjukkan oleh tanda nilai baca. Harap dicatat, bahwa ketika mengukur percepatan pada sumbu vertikal, pengukuran akan menjadi bias oleh konstanta percepatan gravitasi g.

Eugene Sh.
sumber
1
"Jika gerakan dilakukan dengan akselerasi," objek awalnya beristirahat. Itu tidak mungkin memasuki keadaan bergerak tanpa berakselerasi.
David Richerby
Ya, tetapi pertanyaannya adalah pada tahap mana gerakan harus dideteksi.
Eugene Sh.
2

Jika Anda tidak menginginkan kontak fisik (seperti yang disediakan oleh sakelar batas atau microswitch), Anda dapat memasang magnet dan menggunakan sakelar buluh atau sakelar efek hall. Atau pasang sesuatu yang sedikit menonjol dan buram, dan bergerak melalui detektor optik (jenis dengan slot kecil di dalamnya).

Akselerometer lebih rumit, lebih mahal daripada yang di atas, dan karena alasan yang dijelaskan oleh Pete Becker (dan sekarang juga oleh Dave Branton), tidak mungkin untuk bekerja.

abligh
sumber
Mungkin perlu dicatat bahwa situasi yang dijelaskan oleh @TheDudeAbides agak mengingatkan pada pedometer.
user3334690
@ user3334690 Saya menduga tingkat keakuratan terbatas yang dimiliki pedometer sebagian karena sifat langkah manusia yang dapat diprediksi. Jika kita bisa mengatur untuk memasang magnet ke setiap permukaan lantai, saya curiga kita bisa membuatnya lebih akurat dengan sakelar efek hall :-)
abligh
1

Banyak info hebat di sini, tapi saya belum melihat ada yang menyarankan potensiometer linier ...

Sederhana, berikan voltase dan hitung berapa kali GPIO membaca HI. Pot linear termurah? Penggeser volume dari radio lama, penyesuaian trim dari pengontrol mainan R / C, dll

pengguna1183325
sumber
Apakah Anda menyiratkan koneksi mekanis antara objek, pot, dan pangkalan stasioner? Bukankah itu akan memperkenalkan kekuatan dan resistensi baru.
Octopus
1

Jika rel berikut, bagaimana dengan menggunakan range finder ultrasonik? Arduino dapat melakukan perhitungan matematika untuk menentukan akselerasi, dan itu akan menjadi implementasi yang jauh lebih sederhana daripada menempelkan kabel ke sesuatu yang bergerak. Ini tentu akan bekerja paling baik jika trek lurus. Ini satu. https://www.sparkfun.com/products/639

Dean Turner
sumber
Selamat datang di electronics.stackechange! Saya harap Anda akan merasa betah di sini!
WalyKu
0

Saya akan merekomendasikan menggunakan dua pelat logam tipis untuk membentuk kapasitor. Satu piring akan ditempatkan di atas kotak dan yang lainnya dipasang dengan ketinggian tertentu dari kotak. Ketika kotak bergerak naik dan turun, kapasitansi (C) akan bervariasi karena perubahan pemisahan (d) pelat (C = kA / d). Perubahan ini dapat "dikonversi" dengan cara yang sesuai untuk perubahan tegangan, frekuensi, dll. Dan kemudian ke bentuk yang sesuai untuk antarmuka arduino (amplifikasi mungkin diperlukan).

Guill
sumber
Ini tidak akan berfungsi. 1: Meskipun kami tidak memiliki dimensi, bermainlah sedikit dengan angka dan Anda akan melihat rentang dinamisnya besar sementara kapasitansinya bisa sangat kecil. 2 .: Jika penyetelan terbuat dari logam, masing-masing pelat Anda membentuk kapasitor dengan penyiapan. Yaitu Anda memiliki dua penutup secara seri dengan panjang kabel yang bervariasi di antara mereka. Kapasitansi akan lebih atau kurang konstan. Ada sensor kapasitif, tetapi prinsip mereka berbeda dan mereka dapat mengukur perbedaan tidak lebih dari 1cm.
sweber