Isi kandungan:

Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: 5 Langkah
Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: 5 Langkah

Video: Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: 5 Langkah

Video: Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: 5 Langkah
Video: CARA KERJA MPU6050 Gyroscope dan Accelerometer 2024, Julai
Anonim
Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino
Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino

Peranti ini adalah prototaip kasar dari apa yang akhirnya akan menjadi robot keseimbangan diri, ini adalah bahagian kedua dari lubang (baca akselerometer dan kendalikan motor ke keseimbangan diri). Bahagian pertama dengan gyro hanya boleh didapati di sini. Pada petunjuk ini kita akan mengukur sudut menggunakan gyro dan accelerometer, dan menggunakan teknik untuk menggabungkan kedua sensor untuk mendapatkan isyarat yang lancar. Teknik ini dipanggil "pelengkap pelengkap". Sebelumnya

Langkah 1: Apa yang Kita Perlu:

Apa yang Kami Perlu
Apa yang Kami Perlu
Apa yang Kami Perlu
Apa yang Kami Perlu
Apa yang Kami Perlu
Apa yang Kami Perlu
Apa yang Kami Perlu
Apa yang Kami Perlu

Sebilangan bahagian boleh diganti, dan beberapa pengubahsuaian pada kod harus dibuat agar sesuai dengan perkakasan anda. Pada projek ini kami akan menggunakan: - Breadboard- Microcontroller, saya menggunakan Arduinoboard- Wire- Jumper Wires- Gyroscope XV-8100- Nunchuck Wii (untuk pecutan) - Penyesuai Nunchuck Wii untuk Arduino

Langkah 2: Membangun…

Bangunan…
Bangunan…
Bangunan…
Bangunan…
Bangunan…
Bangunan…

Litar terdiri daripada giroskop yang dihubungkan terus ke port 0 di arduino anda dan nunchuck wii menyambung di port I2C. Pemasangan gyro: 1. - pasangkan gyro di papan roti2. - wayar ever thing: - Pin Vo dari gyro disambungkan ke port analog0 di arduino (Kawat oren terang) - Pin G dari gyro yang disambungkan ke tanah (Kawat putih) - Pin V + dari gyro disambungkan ke Vdd (3.3V) (Orange wire) Pemasangan pecutan: 1. - pasangkan penyesuai di nunchuck2. - pasangkan nunchuck di arduino menggunakan penyesuai3. - letakkan sensor accel seperti foto di atas

Langkah 3: Beberapa Maklumat Tambahan Sebelum Kami Teruskan

Beberapa Maklumat Tambahan Sebelum Kami Teruskan
Beberapa Maklumat Tambahan Sebelum Kami Teruskan
Beberapa Maklumat Tambahan Sebelum Kami Teruskan
Beberapa Maklumat Tambahan Sebelum Kami Teruskan
Beberapa Maklumat Tambahan Sebelum Kami Teruskan
Beberapa Maklumat Tambahan Sebelum Kami Teruskan

Dari kedua-dua sensor kita dapat mengukur sudut tetapi menggunakan dua teknik yang berbeza. Untuk mengukur sudut menggunakan giro kita mesti mengintegrasikan isyarat. Tetapi mengapa kita mesti melakukan ini? Oleh kerana gyro memberi kita kadar sudut, jadi cara mudah untuk mendapatkan sudut adalah kadar sudut dikalikan dengan waktu [sudut = sudut + w * dt] Untuk mengukur sudut menggunakan akselerometer kita harus merasakan gravitasi di masing-masing paksi pecutan, maksudnya, unjuran pecutan graviti pada setiap arah sensor memberi kita idea mengenai sudut. [angle_accel = arctg (Ay / sqrt (Ax ^ 2 + Az ^ 2))] Jadi mengapa kita menggunakan dua sensor bukan satu? Untuk memanfaatkan kedua-dua sifat sensor. Sekiranya anda melihat grafik peningkatan data gyro secara berterusan, ini disebut drift dan data accelerometer berubah banyak pada masa yang kecil. Dan bagaimana menggabungkan kedua-dua isyarat itu? Kami akan menggunakan teknik yang disebut penapis pelengkap. Saya tidak tahu teori yang tepat di sebalik ini, tetapi ia berfungsi dengan baik. Terdapat beberapa maklumat di internet, cukup google jika anda memerlukan lebih banyak maklumat. Pautan ini mempunyai banyak maklumat dan boleh berguna.filtered_angle = HPF * (filtered_angle + w * dt) + LPF * (angle_accel); di mana HPF + LPF = 1 Nilai HPF dan LPF boleh didapati di pautan ini, pada fail filter.pdf. Terima kasih kalian dari "The DIY Segway". Hanya untuk tujuan ujian, kami akan menetapkan nilai seperti ini, HPF = 0.98 dan LPF = 0.02.

Langkah 4: Kod:

Kodnya adalah penyesuaian dari kod yang saya gunakan pada projek lain. Mungkin ada beberapa pemboleh ubah yang tidak digunakan. Saya menggunakan perpustakaan untuk membaca data nunchuck dari https://todbot.com/blog/. Terima kasih Tod E. Kurt. Komen mengenai kod adalah dalam bahasa Portugis, sebaik sahaja saya mempunyai masa lapang, saya akan menerjemahkannya. Hasil kod melalui garis siri beberapa nombor dengan corak ini: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Oleh itu, anda boleh menyimpan nilai-nilai ini di terminal bersiri dan merancang grafik atau menggunakan sudut untuk perkara lain. Sekiranya anda memerlukan penjelasan mengenai kod tersebut, sila tanya. Kodnya adalah berzip. Buka zip, buka dan muat naik ke arduino anda.

Langkah 5: Ujian dan Kesimpulan

Ujian dan Kesimpulan
Ujian dan Kesimpulan
Ujian dan Kesimpulan
Ujian dan Kesimpulan

Untuk menguji sistem saya menyimpan data menggunakan program yang disebut Termite, kemudian import data ini di excel dan plotkan grafik untuk melihat seberapa baik penapis saya. Hasilnya luar biasa. Sudah tentu anda boleh menggunakan isyarat untuk memandu motor, atau perkara lain. Sebarang komen, keraguan, maklumat yang hilang, beritahu saya dan saya membetulkannya. Tolong jika anda suka ini, beri penilaian. Terima kasih semua.

Disyorkan: