MPU-6050 Adalah komponen pemrosesan gerak 6-sumbu terintegrasi pertama di dunia, yang mengintegrasikan giroskop 3-sumbu, accelerometer 3-sumbu dan prosesor gerak digital yang dapat diskalakan (DMP).Tujuan menggunakannya adalah untuk mendapatkan sudut kemiringan objek yang akan diukur (seperti quadcopter, mobil penyeimbang) pada sumbu X, Y, dan Z, yaitu, sudut pitch, sudut gulungan dan sudut yaw.Kami membaca enam data MPU-6050 (nilai AD akselerasi tiga sumbu dan nilai iklan kecepatan sudut tiga sumbu) melalui antarmuka I2C.Setelah pemrosesan fusi postur, sudut pitch, roll, dan yaw dapat dihitung.Sebagai referensi terarah untuk nilai pengukuran, definisi arah koordinat sensor adalah seperti yang ditunjukkan pada gambar di bawah ini, yang mengikuti prinsip sistem koordinat tangan kanan (yaitu, ibu jari kanan menunjuk ke arah positif X-Sumbu, jari telunjuk menunjuk ke arah positif sumbu y, dan jari tengah menunjuk ke arah positif dari sumbu z.
Katalog
Dengan bus sensor I2C khusus, MPU-6050 dapat menerima input langsung dari kompas 3-sumbu eksternal, memberikan output MotionFusion ™ 9-sumbu penuh.Ini menghilangkan masalah perbedaan antara giroskop gabungan dan garis waktu akselerator dan secara signifikan mengurangi ruang pengemasan dibandingkan dengan solusi multi-komponen.Ketika terhubung ke magnetometer tiga sumbu, MPU-60X0 mampu memberikan output fusi gerak 9-sumbu penuh ke port I2C atau SPI utama (perhatikan bahwa port SPI hanya tersedia pada MPU-6000).
Produsen MPU-6050 adalah TDK.Setelah dua pendiri TDK, Dr. Yogoro Kato dan Takei Takei, menemukan Ferit di Tokyo, mereka mendirikan Tokyo Denkikagaku Kogyo K.K.Pada tahun 1935. Sebagai merek industri elektronik global, TDK selalu mempertahankan posisi dominan di bidang bahan baku elektronik dan komponen elektronik.Portofolio produk TDK yang komprehensif dan berbasis inovasi mencakup komponen pasif seperti kapasitor keramik, kapasitor elektrolit aluminium, kapasitor film, produk magnetik, komponen frekuensi tinggi, suhu, piezoelektrik dan perangkat perlindungan, serta sensor dan sistem sensor (seperti suhu dan tekanan,Sensor magnetik dan MEMS), dll. Selain itu, TDK juga menyediakan catu daya dan perangkat energi, kepala magnetik dan produk lainnya.Merek produknya termasuk TDK, EPCOS, Invensense, Micronas, Tronics dan TDK-Lambda.
Di antara mereka, SCL dan SDA adalah antarmuka IIC yang terhubung ke MCU, dan MCU mengontrol MPU-6050 melalui antarmuka IIC ini.Ada juga antarmuka IIC, yaitu AUX_CL dan AUX_DA.Antarmuka ini dapat digunakan untuk menghubungkan perangkat budak eksternal, seperti sensor magnetik, untuk membentuk sensor sembilan sumbu.Vlogic adalah tegangan port IO.Pin ini dapat mendukung minimal 1.8V.Kami biasanya menghubungkannya langsung ke VDD.AD0 adalah pin kontrol alamat antarmuka IIC budak (terhubung ke MCU).PIN ini mengontrol bit terendah dari alamat IIC.Jika terhubung ke GND, alamat IIC MPU-6050 adalah 0x68;Jika terhubung ke VDD, itu adalah 0x69.Harap dicatat bahwa alamat di sini tidak termasuk bit terendah dari transmisi data (bit terendah digunakan untuk mewakili operasi baca dan menulis).Pada Mwbalancedstc15, AD0 terhubung ke GND, jadi alamat IIC MPU-6050 adalah 0x68 (tidak termasuk bit terendah).
Inisialisasi antarmuka IIC
MPU-6050 menggunakan IIC untuk berkomunikasi dengan STC15, jadi kita perlu menginisialisasi jalur data SDA dan SCL yang terhubung ke MPU-6050 terlebih dahulu.
Reset MPU-6050
Langkah ini mengembalikan semua register di dalam MPU-6050 ke nilai-nilai default mereka, yang dicapai dengan menulis 1 ke Bit7 dari Daftar Manajemen Daya 1 (0x6b).Setelah reset, Daftar Manajemen Daya 1 akan dikembalikan ke nilai default (0x40), dan register ini selanjutnya harus diatur ke 0x00 untuk membangunkan MPU-6050 dan memasukkannya ke dalam keadaan kerja normal.
Atur kisaran skala penuh dari sensor kecepatan sudut (GYRO) dan sensor akselerasi
Pada langkah ini, kami mengatur rentang skala penuh (FSR) dari dua sensor melalui register konfigurasi giroskop (0x1b) dan masing-masing register konfigurasi sensor akselerasi (0x1c).Biasanya, kami mengatur rentang giroskop skala penuh ke ± 2000dps dan kisaran skala penuh dari accelerometer hingga ± 2G.
Atur parameter lain
Di sini, kita juga perlu mengonfigurasi parameter berikut: Matikan interupsi, nonaktifkan antarmuka AUX I2C, nonaktifkan FIFO, atur laju pengambilan sampel giroskop, dan konfigurasikan filter low-pass digital (DLPF).Karena kami tidak menggunakan interupsi untuk membaca data dalam bab ini, fungsi interupsi perlu dimatikan.Pada saat yang sama, karena kami tidak menggunakan antarmuka AUX I2C untuk menghubungkan sensor eksternal lainnya, kami juga perlu menutup antarmuka ini.Fungsi -fungsi ini dapat dikontrol melalui interupsi Enable Register (0x38) dan Register Kontrol Pengguna (0x6a).MPU-6050 dapat menggunakan FIFO untuk menyimpan data sensor, tetapi kami belum menggunakannya dalam bab ini, jadi semua saluran FIFO perlu ditutup.Ini dapat dikontrol melalui register Enable FIFO (0x23).Secara default, nilai register ini adalah 0 (yaitu, FIFO dinonaktifkan), sehingga kita dapat menggunakan nilai default secara langsung.Laju pengambilan sampel giroskop dikendalikan oleh register pembagi laju pengambilan sampel (0x19).Biasanya, kami mengatur laju pengambilan sampel ini ke 50. Konfigurasi Digital Low-Pass Filter (DLPF) diselesaikan melalui register konfigurasi (0x1a).Secara umum, kami akan mengatur DLPF ke setengah bandwidth untuk menyeimbangkan akurasi data dan kecepatan respons.
Konfigurasikan sumber jam sistem dan aktifkan sensor kecepatan sudut dan sensor akselerasi
Pengaturan sumber jam sistem tergantung pada register manajemen daya 1 (0x6b), di mana tiga bit terendah dari register ini menentukan pemilihan sumber jam.Secara default, ketiga bit ini diatur ke 0, yang berarti sistem menggunakan osilator 8MHz RC internal sebagai sumber jam.Namun, untuk meningkatkan akurasi jam, kami sering mengaturnya ke 1 dan memilih giroskop sumbu x sebagai sumber jam.Selain itu, memungkinkan sensor kecepatan sudut dan sensor akselerasi juga merupakan langkah penting dalam proses inisialisasi.Kedua operasi diimplementasikan melalui Register Manajemen Daya 2 (0x6c).Cukup atur bit yang sesuai ke 0 untuk mengaktifkan sensor yang sesuai.Setelah menyelesaikan langkah-langkah di atas, MPU-6050 dapat memasuki status kerja normal.Register yang tidak secara khusus ditetapkan akan mengadopsi nilai -nilai default yang ditetapkan oleh sistem.
Sensor Gyro
Sensor dilengkapi dengan gyro di dalam, yang akan selalu tetap sejajar dengan arah awal karena efek giroskopik.Oleh karena itu, kita dapat menghitung arah dan sudut rotasi dengan mendeteksi penyimpangan gyro dari arah awal.
Sensor Accelerometer
Sensor Accelerometer adalah perangkat yang dapat mengukur akselerasi dan berfungsi berdasarkan prinsip efek piezoelektrik.Selama akselerasi, sensor mengukur gaya inersia yang diterapkan pada blok massa dan kemudian menghitung nilai akselerasi menggunakan hukum kedua Newton.
Prosesor Gerakan Digital (DMP)
DMP adalah modul pemrosesan data dalam chip MPU6050 yang memiliki algoritma penyaringan Kalman bawaan untuk memperoleh data dari sensor giroskop dan accelerometer dan memproses output quaternions.Fitur ini sangat mengurangi beban kerja mikroprosesor perifer dan menghindari proses penyaringan dan fusi data yang membosankan.
Catatan:
Kuarter: Kuarter adalah angka superkompleks sederhana.Bilangan kompleks terdiri dari bilangan real plus unit imajiner I, di mana i^2 = -1.
- Mainan
- Handset dan game portabel
- Pengontrol game berbasis gerak
- Teknologi Blurfree ™ (untuk Stabilisasi Video/Still Image)
- Teknologi AirSign ™ (untuk keamanan/otentikasi)
- Pengenalan Gestur Instantesturture ™ IG ™
- Sensor yang dapat dipakai untuk kesehatan, kebugaran, dan olahraga
- Kerangka kerja game dan aplikasi yang diaktifkan
- Teknologi MotionCommand ™ (untuk pemotongan pendek gesture)
- Layanan berbasis lokasi, tempat menarik, dan perhitungan mati
- Kontrol jarak jauh 3D untuk DTV yang terhubung Internet dan atur kotak atas, tikus 3D
- Teknologi Touchanywhere ™ (untuk Kontrol/Navigasi Aplikasi “Tanpa Sentuh” UI)
Kita dapat mengambil cara berikut untuk mengurangi kebisingan MPU-6050.
Gunakan sensor yang dikalibrasi
Mengalibrasi accelerometer dan giroskop MPU-6050 dapat menghilangkan bias dan kesalahan sensor itu sendiri, sehingga mengurangi efek kebisingan.Proses kalibrasi biasanya terdiri dari dua tahap: kalibrasi statis dan kalibrasi gerak.
Proses pemfilteran perangkat keras
Menambahkan kapasitor filter ke saluran listrik MPU-6050 dapat mengurangi dampak kebisingan catu daya pada sensor.Sementara itu, selama tata letak PCB, kita harus mencoba menjauhkan MPU-6050 dari sumber gangguan potensial, seperti garis sinyal frekuensi tinggi dan komponen daya tinggi.
Pemrosesan Penyaringan Perangkat Lunak
Setelah mengumpulkan data mentah dari MPU-6050, kami dapat menambahkan tautan penyaringan perangkat lunak untuk pra-proses data awal untuk menghilangkan gangguan yang diinduksi noise.Metode penyaringan perangkat lunak yang umum digunakan termasuk penyaringan rata -rata, pemfilteran median, penyaringan Kalman dan sebagainya.
Gunakan filter low-pass internal
MPU-6050 memiliki filter low-pass digital terintegrasi internal, yang dapat digunakan untuk mengurangi kebisingan frekuensi tinggi dengan mengatur frekuensi cutoff.Secara khusus, kami dapat mengatur frekuensi cutoff dari filter digital dengan memodifikasi register konfigurasi MPU-6050 untuk menghilangkan kebisingan frekuensi tinggi yang disebabkan oleh pengambilan sampel A/D.
MPU-6050 adalah akselerometer enam sumbu dan sensor giroskop yang dapat digunakan untuk mengukur gerakan dan sikap benda.Perhitungan lintasan gerak berdasarkan MPU-6050 dapat direalisasikan dengan langkah-langkah berikut:
Langkah pertama adalah membaca data sensor.Kita perlu membaca data accelerometer dan giroskop dari sensor MPU-6050 menggunakan driver dan fungsi perpustakaan yang sesuai.Data ini biasanya output dalam format digital, sehingga beberapa pekerjaan konversi dan kalibrasi diperlukan untuk mengubahnya menjadi pengukuran aktual dalam unit fisik.
Langkah kedua adalah menghitung akselerasi.Pertama, kita perlu memproses data dari accelerometer untuk memperoleh akselerasi objek di setiap sumbu.Selanjutnya, untuk menghitung kecepatan dan perpindahan objek di setiap sumbu, kita perlu mengintegrasikan data akselerasi.Teknik integrasi numerik, seperti metode Euler atau metode Lunger-Kutta, sering digunakan dalam proses ini untuk memastikan keakuratan perhitungan perpindahan.
Langkah ketiga adalah menghitung kecepatan sudut.Menggunakan data giroskop, kecepatan sudut objek di setiap sumbu dapat dihitung.Sekali lagi, data ini perlu dikalibrasi dan dikonversi untuk mendapatkan kecepatan sudut dalam unit fisik aktual.
Langkah keempat adalah menghitung rotasi.Dengan mengintegrasikan data kecepatan sudut, sudut rotasi objek di setiap sumbu dapat dihitung.Ini dapat dilakukan dengan menggunakan teknik integrasi numerik seperti metode Euler atau metode Longe-Kutta untuk menghitung sudut.
Langkah kelima adalah menggabungkan data.Kami menggabungkan data dari akselerometer dan giroskop untuk mendapatkan sikap lengkap dan posisi informasi objek.Ini dapat dilakukan dengan menggunakan algoritma seperti pemecah sikap berbasis kuaternion atau solver sudut Euler.
Langkah keenam adalah memvisualisasikan hasilnya.Kami mengubah lintasan gerak objek yang dihitung menjadi satu set titik dalam sistem koordinat 3D dan menampilkannya menggunakan alat visualisasi yang sesuai untuk pemahaman yang lebih intuitif tentang lintasan gerak objek dan perubahan sikap.
Pertanyaan yang Sering Diajukan [FAQ]
1. Seberapa akurat MPU6050?
Hasil yang diperoleh menunjukkan akurasi yang cukup kurang dari 1 % dan keandalan, memastikan dimensi yang tepat dari poros lift dan standar tinggi industri lift.
2. Bagaimana cara membaca data dari MPU6050?
Untuk membaca register internal MPU6050, master mengirimkan kondisi awal, diikuti oleh alamat budak I2C dan bit tulis, dan kemudian alamat register yang akan dibaca.
3. Di mana MPU6050 digunakan?
Dalam pelacakan kesehatan yang dapat dipakai, perangkat pelacakan kebugaran.Dalam drone dan quadcopters, MPU6050 digunakan untuk kontrol posisi.Digunakan dalam mengendalikan lengan robot.Perangkat kontrol gerakan tangan.
4. Apakah MPU6050 IMU?
Blok sensor IMU MPU6050 membaca data dari sensor MPU-6050 yang terhubung ke perangkat keras.Akselerasi output blok, laju sudut, dan suhu di sepanjang sumbu sensor.
5. Apa pemrosesan MPU6050?
Ini adalah prosesor onboard MPU6050 yang menggabungkan data yang berasal dari accelerometer dan giroskop.DMP adalah kunci untuk menggunakan MPU6050 dan dijelaskan secara rinci nanti.Seperti halnya semua mikroprosesor, DMP membutuhkan firmware untuk dijalankan.