Optimering af ydelse med MPU-6050: Opsætning, kalibrering og applikationer
2024-04-25 9204

MPU-6050 er verdens første integrerede 6-akser bevægelsesbehandlingskomponent, der integrerer et 3-akset gyroskop, 3-akset accelerometer og en skalerbar digital bevægelsesprocessor (DMP).Formålet med at bruge det er at opnå den hældningsvinkel på objektet, der skal måles (såsom en quadcopter, en afbalancerende bil) på X-, Y- og Z -akserne, det vil sige tonehøjde, rullevinkel og gabevinkel.Vi læser de seks data om MPU-6050 (tre-akset acceleration AD-værdi og tre-akset vinkelhastigheds-annonceværdi) gennem I2C-interface.Efter fusionsbehandling af holdning kan tonehøjde-, rulle- og gabevinkler beregnes.Som en retningsreference for måleværdier er definitionen af ​​sensorkoordinatretningen som vist på figuren herunder, der følger princippet om det højrehåndede koordinatsystem (det vil sige, den rigtige tommelfinger peger på den positive retning af X-Axis, pegefingeren peger på den positive retning af Y-aksen, og langfingeren peger på den positive retning af Z-aksen.

Katalog


MPU-6050

Med sin dedikerede I2C-sensorbus er MPU-6050 i stand til at modtage input direkte fra et eksternt 3-akset kompas, hvilket giver en fuld 9-akset MotionFusion ™ -udgang.Det eliminerer uoverensstemmelsesproblemet mellem det kombinerede gyroskop og accelerator-tidslinje og reducerer emballagepladsen markant sammenlignet med multikomponentopløsninger.Når MPU-60X0 er tilsluttet til et tre-akset magnetometer, er MPU-60X0 i stand til at tilvejebringe fuld 9-akset bevægelsesfusionsudgang til dens vigtigste I2C- eller SPI-port (bemærk, at SPI-porten kun er tilgængelig på MPU-6000).

Alternativer og ækvivalenter







Producent af MPU-6050


Producenten af ​​MPU-6050 er TDK.Efter de to grundlæggere af TDK, Dr. Yogoro Kato og Takei Takei, opfandt Ferrit i Tokyo, grundlagde de Tokyo Denkikagaku Kogyo K.K.I 1935. Som et globalt elektronikindustri -brand har TDK altid opretholdt en dominerende position inden for elektroniske råvarer og elektroniske komponenter.TDKs omfattende og innovationsdrevne produktportefølje dækker passive komponenter, såsom keramiske kondensatorer, aluminiumelektrolytiske kondensatorer, filmkondensatorer, magnetiske produkter, højfrekvente komponenter, piezoelektriske og beskyttelsesanordninger, samt sensorer og sensorsystemer (såsom temperatur og tryk,Magnetisk og MEMS -sensorer) osv. Derudover leverer TDK også strømforsyninger og energienheder, magnetiske hoveder og andre produkter.Dets produktmærker inkluderer TDK, EPCOS, Invensense, Micronas, Tronics og TDK-Lambda.

Internt blokdiagram over MPU-6050


Internal Block Diagram of MPU-6050

Blandt dem er SCL og SDA de IIC-grænseflader, der er forbundet til MCU, og MCU styrer MPU-6050 gennem denne IIC-grænseflade.Der er også en IIC -grænseflade, nemlig AUX_CL og AUX_DA.Denne grænseflade kan bruges til at forbinde eksterne slaveenheder, såsom magnetiske sensorer, til at danne en ni-aksesensor.Vlogic er io -portspændingen.Denne pin kan understøtte mindst 1,8V.Vi forbinder det normalt direkte til VDD.AD0 er adressekontrolpinen for slave IIC -interface (tilsluttet MCU).Denne pin styrer den laveste bit af IIC -adressen.Hvis det er forbundet til GND, er IIC-adressen på MPU-6050 0x68;Hvis det er forbundet til VDD, er det 0x69.Bemærk, at adressen her ikke inkluderer den laveste bit af datatransmission (den laveste bit bruges til at repræsentere læse- og skriveoperationer).På MWBalancedStC15 er AD0 forbundet til GND, så IIC-adressen på MPU-6050 er 0x68 (ekskl. Den laveste bit).

Initialiser IIC -grænsefladen


MPU-6050 bruger IIC til at kommunikere med STC15, så vi er nødt til at initialisere SDA- og SCL-datilinjerne, der først er forbundet til MPU-6050.

Nulstil MPU-6050


Dette trin gendanner alle registre inde i MPU-6050 til deres standardværdier, hvilket opnås ved at skrive 1 til bit7 i strømstyringsregisteret 1 (0x6b).Efter nulstilling gendannes Power Management Register 1 til standardværdien (0x40), og dette register skal derefter indstilles til 0x00 for at vække MPU-6050 og sætte den i normal arbejdsstat.

Indstil den fulde skala af vinkelhastighedssensoren (Gyro) og accelerationssensor


I dette trin indstiller vi fuldskalaområdet (FSR) for de to sensorer gennem henholdsvis gyroskopkonfigurationsregisteret (0x1b) og accelerationssensorkonfigurationsregisteret (0x1c).Typisk indstiller vi gyroskopets fulde skala til ± 2000dps og fuldskalaområdet for accelerometeret til ± 2G.

Indstil andre parametre


Her er vi også nødt til at konfigurere følgende parametre: Sluk for afbrydelser, deaktiver AUX I2C-interface, Deaktiver FIFO, indstiller gyroskopprøvetagningshastigheden og konfigurerer det digitale lavpasfilter (DLPF).Da vi ikke bruger afbrydelser til at læse data i dette kapitel, skal afbrydelsesfunktionen være slukket.På samme tid, da vi ikke bruger AUX I2C -interface til at forbinde andre eksterne sensorer, er vi også nødt til at lukke denne grænseflade.Disse funktioner kan kontrolleres gennem interrupt Aktiver -registeret (0x38) og brugerkontrolregister (0x6a).MPU-6050 kan bruge FIFO til at gemme sensordata, men vi har ikke brugt dem i dette kapitel, så alle FIFO-kanaler skal lukkes.Dette kan kontrolleres gennem FIFO Enable Register (0x23).Som standard er værdien af ​​dette register 0 (dvs. FIFO er deaktiveret), så vi kan bruge standardværdien direkte.Prøveudtagningshastigheden for gyroskopet styres af samplingsdeleregisteret (0x19).Normalt indstiller vi denne samplingshastighed til 50. Konfigurationen af ​​det digitale lavpasfilter (DLPF) afsluttes gennem konfigurationsregisteret (0x1a).Generelt vil vi indstille DLPF til halvdelen af ​​båndbredden for at afbalancere datanøjagtighed og responshastighed.

Konfigurer systemurskilden og aktiver vinkelhastighedssensoren og accelerationssensoren


Indstillingen af ​​systemurskilden afhænger af strømstyringsregisteret 1 (0x6b), hvor de laveste tre bit i dette register bestemmer valget af urkilden.Som standard er disse tre bits indstillet til 0, hvilket betyder, at systemet bruger den interne 8MHz RC -oscillator som urkilden.For at forbedre urets nøjagtighed indstiller vi det ofte til 1 og vælger X-aksen Gyroskop PLL som urkilden.Derudover er det også et vigtigt trin i initialiseringsprocessen at aktivere vinkelhastighedssensoren og accelerationssensoren.Begge operationer implementeres gennem Power Management Register 2 (0x6c).Indstil blot den tilsvarende bit til 0 for at aktivere den tilsvarende sensor.Efter at have afsluttet ovenstående trin kan MPU-6050 indtaste normal arbejdsstatus.De registre, der ikke er specielt indstillet, vil vedtage standardværdierne forudindstillet af systemet.

Hvordan fungerer MPU-6050?


Gyro -sensor


Sensoren er udstyret med en gyro indeni, som altid forbliver parallel med den oprindelige retning på grund af den gyroskopiske virkning.Derfor kan vi beregne retningen og rotationsvinklen ved at detektere afvigelsen af ​​gyroen fra den oprindelige retning.

Accelerometer -sensor


En accelerometer -sensor er en enhed, der kan måle acceleration, og den fungerer baseret på princippet om piezoelektrisk effekt.Under acceleration måler sensoren den inertielle kraft, der påføres masseblokken og beregner derefter accelerationsværdien ved hjælp af Newtons anden lov.

Digital Motion Processor (DMP)


DMP er et databehandlingsmodul i MPU6050-chippen, der har en indbygget Kalman-filtreringsalgoritme til erhvervelse af data fra gyroskop og accelerometer-sensorer og behandling af output-kvaternioner.Denne funktion reducerer arbejdsbyrden for den perifere mikroprocessor og undgår den kedelige filtrering og datafusionsproces.

Bemærkninger:

Quaternions: Quaternions er enkle superkompleksnumre.Komplekse tal er sammensat af reelle tal plus den imaginære enhed I, hvor i^2 = -1.

Hvor bruges MPU-6050?


- legetøj

- Håndsæt og bærbart spil

- Bevægelsesbaserede spilcontrollere

- Blurfree ™ -teknologi (til video/stillbilledstabilisering)

- AirSign ™ -teknologi (til sikkerhed/godkendelse)

- Øjeblikkeliggestur ™ IG ™ gestusgenkendelse

- Bærbare sensorer til sundhed, fitness og sport

- Bevægelsesaktiveret spil og applikationsramme

- MotionCommand ™ -teknologi (til gestus-genvejs)

- Placeringsbaserede tjenester, interessepunkter og død regning

- 3D -fjernbetjeninger til internetforbundne DTV'er og indstillede topkasser, 3D -mus

- TouchAnywhere ™ -teknologi (til “No Touch” UI Application Control/Navigation)

Pakke med MPU-6050


Package of MPU-6050

Hvordan reduceres støj fra MPU-6050?


Vi kan tage følgende måder at reducere støj fra MPU-6050.

Brug kalibrerede sensorer


Kalibrering af accelerometeret og gyroskopet af MPU-6050 kan eliminere bias og fejl i sensorerne selv, hvilket reducerer effekten af ​​støj.Kalibreringsprocessen består normalt af to trin: statisk kalibrering og bevægelseskalibrering.

Hardwarefiltreringsproces


Tilføjelse af filterkondensatorer til kraftlinjen for MPU-6050 kan reducere virkningen af ​​strømforsyningsstøj på sensoren.I mellemtiden, under PCB-layout, bør vi prøve at holde MPU-6050 væk fra potentielle kilder til interferens, såsom højfrekvente signallinjer og højeffektkomponenter.

Softwarefiltreringsbehandling


Efter at have indsamlet de rå data fra MPU-6050, kan vi tilføje et softwarefiltreringslink til forbehandling af de indledende data for at eliminere støjinduceret interferens.Almindeligt anvendte softwarefiltreringsmetoder inkluderer gennemsnitlig filtrering, medianfiltrering, Kalman -filtrering og så videre.

Brug internt lavpasfilter


MPU-6050 har et internt integreret digitalt lavpasfilter, som kan bruges til at reducere højfrekvent støj ved at indstille sin cutoff-frekvens.Specifikt kan vi indstille cutoff-frekvensen af ​​det digitale filter ved at ændre konfigurationsregisteret over MPU-6050 for at eliminere højfrekvente støj forårsaget af A/D-prøveudtagning.

MPU-6050-baserede bevægelsesbaneberegning


MPU-6050 er et seks-akset accelerometer og gyroskopsensor, der kan bruges til at måle objekternes bevægelse og holdning.Beregningen af ​​bevægelsesbane baseret på MPU-6050 kan realiseres med følgende trin:

Det første trin er at læse sensordataene.Vi er nødt til at læse data om accelerometer og gyroskop fra MPU-6050-sensorer ved hjælp af passende drivere og biblioteksfunktioner.Disse data udsendes normalt i et digitalt format, så der kræves nogle konverterings- og kalibreringsarbejde for at konvertere dem til faktiske målinger i fysiske enheder.

Det andet trin er at beregne accelerationen.Først skal vi behandle dataene fra accelerometeret for at udlede accelerationen af ​​objektet i hver akse.Efterfølgende skal vi integrere accelerationsdataene for at beregne hastigheden og forskydningen af ​​objektet i hver akse i hver akse.Numeriske integrationsteknikker, såsom Eulers metode eller Lunger-Kutta-metoden, bruges ofte i denne proces for at sikre nøjagtigheden af ​​forskydningsberegningerne.

Det tredje trin er at beregne vinkelhastigheden.Ved hjælp af gyroskopdata kan den vinkelhastighed af objektet i hver akse beregnes.Igen skal disse data kalibreres og konverteres for at opnå vinkelhastigheden i faktiske fysiske enheder.

Det fjerde trin er at beregne rotationen.Ved at integrere vinkelhastighedsdataene kan rotationsvinklen i hver akse beregnes.Dette kan gøres ved hjælp af numeriske integrationsteknikker såsom Eulers metode eller Longe-Kutta-metoden til at beregne vinklen.

Det femte trin er at flette dataene.Vi kombinerer dataene fra accelerometre og gyroskoper for at opnå komplet holdning og positionsoplysninger om objektet.Dette kan gøres ved hjælp af algoritmer, såsom quaternion-baseret attitude-solver eller Euler Angle Solver.

Det sjette trin er at visualisere resultaterne.Vi konverterer den beregnede objektbevægelsesbane til et sæt punkter i et 3D -koordinatsystem og viser det ved hjælp af passende visualiseringsværktøjer til en mere intuitiv forståelse af objektets bevægelsesbane og holdningsændringer.






Ofte stillede spørgsmål [FAQ]


1. Hvor nøjagtig er MPU6050?


De erhvervede resultater viste tilstrækkelig nøjagtighed på mindre end 1 % og pålidelighed, hvilket sikrede den korrekte dimensionering af elevatorskaftet og de høje standarder for liftindustrien.

2. Hvordan læses data fra MPU6050?


For at læse de interne MPU6050 -registre sender masteren en startbetingelse, efterfulgt af I2C -slaveadressen og en skrivbit, og derefter registeradressen, der skal læses.

3. Hvor bruges MPU6050?


Ved bærbar sundhedssporing, fitness-sporingsenheder.I droner og quadcopters bruges MPU6050 til positionskontrol.Brugt til at kontrollere robotarm.Håndbevægelsesstyringsenheder.

4. Er MPU6050 en IMU?


MPU6050 IMU Sensor Block læser data fra MPU-6050-sensoren, der er tilsluttet hardware.Blokken udsender acceleration, vinkelhastighed og temperatur langs sensorens akser.

5. Hvad er behandlingen af ​​MPU6050?


Dette er MPU6050's ombordprocessor, der kombinerer de data, der kommer fra accelerometeret og gyroskopet.DMP er nøglen til at bruge MPU6050 og forklares i detaljer senere.Som med alle mikroprocessorer har DMP brug for firmware for at køre.

OM OS Kundetilfredshed hver gang.Gensidig tillid og fælles interesser. ARIAT Tech har etableret langsigtet og stabilt kooperativt forhold til mange producenter og agenter. "Behandling af kunder med reelle materialer og at tage service som kernen", al kvalitet vil blive kontrolleret uden problemer og passeret professionel
Funktionstest.De højeste omkostningseffektive produkter og den bedste service er vores evige engagement.

Email: Info@ariat-tech.comHK TEL: +00 852-30501966TILFØJE: Rm 2703 27F Ho King Comm Center 2-16,
Fa Yuen St MongKok Kowloon, Hong Kong.