Daftar Isi:
- Langkah 1: Apa yang Kita Butuhkan:
- Langkah 2: Membangun…
- Langkah 3: Beberapa Informasi Tambahan Sebelum Kita Lanjutkan
- Langkah 4: Kode:
- Langkah 5: Pengujian dan Kesimpulan
Video: Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:59
Perangkat ini adalah prototipe kasar dari apa yang pada akhirnya akan menjadi robot keseimbangan diri, ini adalah bagian kedua dari lubang (baca akselerometer dan kendalikan motor untuk menyeimbangkan diri). Bagian pertama dengan hanya gyro dapat ditemukan di sini. Pada instruksi ini kita akan mengukur sudut menggunakan gyro dan accelerometer, dan menggunakan teknik untuk menggabungkan kedua sensor untuk mendapatkan sinyal yang halus. Teknik ini disebut "filter komplementer".sebelumnya
Langkah 1: Apa yang Kita Butuhkan:
Beberapa bagian dapat diganti, dan beberapa modifikasi pada kode harus dibuat agar sesuai dengan perangkat keras Anda. Pada proyek ini kita akan menggunakan:- Breadboard- Mikrokontroler, saya menggunakan Arduinoboard- Kawat- Kabel Jumper- Giroskop XV-8100- Nunchuck Wii (untuk akselerometer)- Adaptor Nunchuck Wii untuk Arduino
Langkah 2: Membangun…
Sirkuit terdiri dari giroskop yang terhubung langsung ke port 0 di arduino Anda dan nunchuck wii terhubung di port I2C. Merakit gyro:1. - pasang gyro di breadboard2. - kabel yang pernah ada: - Pin Vo dari gyro terhubung ke port analog0 di arduino (Kabel oranye terang) - Pin G dari gyro terhubung ke ground (Kabel putih) - Pin V+ dari gyro terhubung ke Vdd (3.3V) (Kabel oranye) Perakitan akselerometer:1. - pasang adaptor di nunchuck2. - pasang nunchuck di arduino menggunakan adaptor3. - pasang accel sensor seperti foto diatas
Langkah 3: Beberapa Informasi Tambahan Sebelum Kita Lanjutkan
Dari kedua sensor kita dapat mengukur sudut tetapi menggunakan dua teknik yang berbeda. Untuk mengukur sudut menggunakan gyro kita harus mengintegrasikan sinyal. Tapi mengapa kita harus melakukan ini? Karena gyro memberi kita laju sudut, jadi cara sederhana untuk mendapatkan sudut adalah dengan mengalikan laju sudut dengan waktu [sudut = sudut + w * dt]Untuk mengukur sudut menggunakan akselerometer kita harus merasakan gravitasi di masing-masing sumbu akselerometer, apa artinya, proyeksi percepatan gravitasi pada setiap arah sensor memberi kita gambaran tentang sudut. [angle_accel = arctg(Ay / sqrt(Ax^2 + Az^2))]Jadi mengapa kita akan menggunakan dua sensor, bukan satu? Untuk mengambil keuntungan dari kedua properti sensor. Jika Anda melihat grafik data gyro terus meningkat, ini disebut drift dan data akselerometer banyak berubah dalam waktu singkat. Dan bagaimana menggabungkan kedua sinyal? Kita akan menggunakan teknik yang disebut filter komplementer. Saya tidak tahu teori pasti di balik ini, tetapi itu berfungsi dengan baik. Ada beberapa informasi di internet, googling saja jika Anda membutuhkan informasi lebih lanjut. Tautan ini memiliki banyak informasi dan dapat berguna.filtered_angle = HPF*(filtered_angle + w* dt) + LPF*(angle_accel); di mana HPF + LPF = 1 Nilai HPF dan LPF dapat ditemukan di tautan ini, pada file filter.pdf. Terima kasih kalian dari "The DIY Segway". Hanya untuk tujuan pengujian kami akan menetapkan nilai ini seperti ini, HPF = 0.98 dan LPF = 0.02.
Langkah 4: Kode:
Kode tersebut merupakan adaptasi dari kode yang saya gunakan di proyek lain. Mungkin ada beberapa variabel yang tidak terpakai. Saya menggunakan perpustakaan untuk membaca data nunchuck dari https://todbot.com/blog/. Terima kasih Tod E. Kurt. Komentar pada kode dalam bahasa portugis, segera setelah saya punya waktu luang, saya akan menerjemahkannya. Keluaran kode melalui serial line beberapa angka dengan pola ini:dt: w: teta: pitch: filter_teta $time:angular_velocity:gyro_angle:accel_angle:filtered_angle$Jadi Anda dapat menyimpan nilai ini di terminal serial dan membuat grafik atau menggunakan sudut untuk hal lain. Jika Anda memerlukan penjelasan tentang kode, silakan bertanya. Kodenya adalah zip Cukup unzip, buka dan unggah ke arduino Anda.
Langkah 5: Pengujian dan Kesimpulan
Untuk menguji sistem saya menyimpan data menggunakan program yang disebut Rayap, kemudian mengimpor data ini di excel dan plot grafik untuk melihat seberapa bagus filter saya. Hasilnya luar biasa. Tentu saja Anda dapat menggunakan sinyal untuk menggerakkan motor, atau hal-hal lain. Setiap komentar, keraguan, informasi yang hilang, katakan saja dan saya perbaiki. Tolong jika Anda suka, beri nilai. Terima kasih semua.
Direkomendasikan:
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: HIH6130 merupakan sensor kelembaban dan suhu dengan output digital. Sensor ini memberikan tingkat akurasi ±4% RH. Dengan stabilitas jangka panjang terdepan di industri, I2C digital dengan kompensasi suhu sejati, keandalan terdepan di industri, Efisiensi energi
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: HDC1000 adalah sensor kelembaban digital dengan sensor suhu terintegrasi yang memberikan akurasi pengukuran yang sangat baik pada daya yang sangat rendah. Perangkat mengukur kelembaban berdasarkan sensor kapasitif baru. Sensor kelembaban dan suhu adalah fak
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui serial digital
Roll and Pitch Axis Gyro untuk GoPro Menggunakan Arduino - Servo dan MPU6050 Gyro: 4 Langkah
Roll and Pitch Axis Gimbal untuk GoPro Menggunakan Arduino - Servo dan MPU6050 Gyro: Instruksi ini dibuat untuk memenuhi persyaratan proyek Makecourse di University of South Florida (www.makecourse.com)Tujuan dari proyek ini adalah untuk membangun sebuah 3-axis Gimbal untuk GoPro dengan menggunakan Arduino nano + 3 motor servo +
Arduino Nano dan Visuino: Konversi Akselerasi ke Sudut Dari Akselerometer dan Giroskop Sensor MPU6050 I2C: 8 Langkah (dengan Gambar)
Arduino Nano dan Visuino: Konversi Akselerasi ke Sudut Dari Sensor Akselerometer dan Giroskop MPU6050 I2C: Beberapa waktu yang lalu saya memposting tutorial tentang bagaimana Anda dapat menghubungkan Sensor Akselerometer, Giroskop, dan Kompas MPU9250 ke Arduino Nano dan memprogramnya dengan Visuino untuk mengirim data paket dan tampilan pada Scope dan Instrumen Visual. Accelerometer mengirimkan X, Y