MPU-6050 ist die weltweit erste integrierte 6-Achsen-Bewegungsverarbeitungskomponente, die ein 3-Achsen-Gyroskop, einen 3-Achsen-Beschleunigungsmesser und einen skalierbaren digitalen Bewegungsprozessor (DMP) integriert.Der Zweck der Verwendung ist es, den Neigungswinkel des zu messenden Objekts (wie ein Quadcopter, ein Balancing Car) auf den Achsen x, y und z zu erhalten, dh den Stellwinkel, den Rollwinkel und der Gierwinkel.Wir lesen die sechs Daten des MPU-6050 (Drei-Achsen-Beschleunigungs-AD-Wert und Drei-Achsen-Winkelgeschwindigkeits-AD-Wert) über die I2C-Schnittstelle.Nach der Verarbeitung der Haltungfusion können die Tonhöhe, die Rollen- und Gierwinkel berechnet werden.Als Richtungsreferenz für Messwerte ist die Definition der Sensorkoordinatenrichtung wie in der folgenden Abbildung gezeigt, die dem Prinzip des rechtshändigen Koordinatensystems folgt (dh der rechte Daumen zeigt auf die positive Richtung des X-Achse, der Indexfinger zeigt auf die positive Richtung der y-Achse und der Mittelfinger zeigt auf die positive Richtung der Z-Achse).
Mit seinem dedizierten I2C-Sensorbus kann der MPU-6050 Eingaben direkt von einem externen 3-Achsen-Kompass erhalten, was eine vollständige 9-Achsen-MotionFusion ™-Ausgabe bietet.Es beseitigt das Diskrepanzproblem zwischen dem kombinierten Gyroskop und dem Beschleunigungszeitachel und reduziert den Verpackungsraum im Vergleich zu mehrkomponenten Lösungen signifikant.Wenn der MPU-60x0 an ein Drei-Achsen-Magnetometer angeschlossen ist, kann er seinen Haupt-I2C- oder SPI-Anschluss mit 9-Achsen-Bewegungsfusionsausgangsleistung für die 9-Achsen-Fusionsausgabe bereitstellen (beachten Sie, dass der SPI-Anschluss nur auf dem MPU-6000 verfügbar ist).
• MPU-3300
• MPU-6000
• MPU-6500
Der Hersteller von MPU-6050 ist TDK.Nachdem die beiden Gründer von TDK, Dr. Yogoro Kato und Takei Takei, Ferrite in Tokio erfunden hatten, gründeten sie Tokyo Denkikagaku Kogyo K.K.1935. Als globale Marke für Elektronikindustrie hat TDK immer eine dominante Position in den Bereichen elektronische Rohstoffe und elektronische Komponenten beibehalten.Die umfassenden und innovationsgetriebenen Produktportfolio-Abdeckungen von TDK passive Komponenten wie Keramikkondensatoren, Aluminiumelektrolytkondensatoren, Filmkondensatoren, magnetische Produkte, Hochfrequenzkomponenten, piezoelektrische und Schutzgeräte sowie Sensoren und Sensorsysteme (Temperatur- und Druck-Magnet- und MEMS -Sensoren) usw. Darüber hinaus bietet TDK auch Stromversorgungs- und Energiegeräte, magnetische Köpfe und andere Produkte.Zu den Produktmarken gehören TDK, Epcos, InvenSense, Micronas, Tronics und TDK-Lambda.
Unter ihnen sind SCL und SDA die mit der MCU verbundenen IIC-Schnittstellen, und die MCU steuert die MPU-6050 über diese IIC-Schnittstelle.Es gibt auch eine IIC -Schnittstelle, nämlich AUX_CL und AUX_DA.Diese Schnittstelle kann verwendet werden, um externe Slave-Geräte wie magnetische Sensoren zu verbinden, um einen neunachsigen Sensor zu bilden.Vlogic ist die IO -Portspannung.Dieser Stift kann mindestens 1,8 V unterstützen.Wir verbinden es normalerweise direkt mit VDD.AD0 ist der Adresskontrollstift der Sklaven -IIC -Schnittstelle (mit der MCU verbunden).Dieser PIN steuert das niedrigste Bit der IIC -Adresse.Wenn es mit GND verbunden ist, beträgt die IIC-Adresse von MPU-6050 0x68;Wenn es mit VDD verbunden ist, ist es 0x69.Bitte beachten Sie, dass die Adresse hier nicht das niedrigste Bit der Datenübertragung enthält (das niedrigste Bit wird verwendet, um Lese- und Schreibvorgänge darzustellen).Auf dem MWBalancedStC15 ist AD0 mit GND verbunden, so dass die IIC-Adresse des MPU-6050 0x68 beträgt (ohne das niedrigste Bit).
MPU-6050 verwendet IIC, um mit STC15 zu kommunizieren. Daher müssen wir zuerst die SDA- und SCL-Datenlinien initialisieren, die mit MPU-6050 verbunden sind.
Dieser Schritt stellt alle Register innerhalb des MPU-6050 wieder auf ihre Standardwerte, die durch das Schreiben von 1 bis Bit 7 des Power Management Register 1 (0x6b) erreicht werden.Nach dem Zurücksetzen wird das Leistungsverwaltungsregister 1 in den Standardwert (0x40) wiederhergestellt, und dieses Register muss anschließend auf 0x00 eingestellt werden, um die MPU-6050 aufzuwecken und es in einen normalen Arbeitszustand zu bringen.
In diesem Schritt setzen wir den vollständigen Bereich (FSR) der beiden Sensoren über das Gyroscope-Konfigurationsregister (0x1b) bzw. das Beschleunigungssensor-Konfigurationsregister (0x1c).Typischerweise setzen wir den umfassenden Bereich des Gyroskops auf ± 2000dps und den umfassenden Bereich des Beschleunigungsmessers auf ± 2 g.
Hier müssen wir auch die folgenden Parameter konfigurieren: Unterbrechungen deaktivieren, die Aux I2C-Schnittstelle deaktivieren, FIFO deaktivieren, die Gyroscope-Abtastrate einstellen und den digitalen Tiefpassfilter (DLPF) konfigurieren.Da wir keine Interrupts verwenden, um Daten in diesem Kapitel zu lesen, muss die Interrupt -Funktion ausgeschaltet werden.Gleichzeitig müssen wir diese Schnittstelle auch schließen, da wir die Aux I2C -Schnittstelle nicht verwenden, um andere externe Sensoren zu verbinden.Diese Funktionen können über das Interrupt -Enable -Register (0x38) und das Benutzersteuerregister (0x6a) gesteuert werden.MPU-6050 kann FIFO verwenden, um Sensordaten zu speichern, aber wir haben sie in diesem Kapitel nicht verwendet, sodass alle FIFO-Kanäle geschlossen werden müssen.Dies kann über das FIFO -Enable -Register (0x23) gesteuert werden.Standardmäßig beträgt der Wert dieses Registers 0 (dh FIFO ist deaktiviert), sodass wir den Standardwert direkt verwenden können.Die Abtastrate des Gyroskops wird durch das Abteilungsregister der Stichprobenrate (0x19) gesteuert.Normalerweise setzen wir diese Stichprobenrate auf 50. Die Konfiguration des digitalen Tiefpassfilters (DLPF) wird über das Konfigurationsregister (0x1a) abgeschlossen.Im Allgemeinen setzen wir DLPF auf die Hälfte der Bandbreite, um Datengenauigkeit und Reaktionsgeschwindigkeit auszugleichen.
Die Einstellung der Systemaktuhrenquelle hängt vom Stromverwaltungsregister 1 (0x6b) ab, in dem die niedrigsten drei Bits dieses Registers die Auswahl der Taktquelle bestimmen.Standardmäßig werden diese drei Bits auf 0 gesetzt, was bedeutet, dass das System den internen 8 -MHz -RC -Oszillator als Taktquelle verwendet.Um die Taktgenauigkeit zu verbessern, setzen wir sie jedoch häufig auf 1 und wählen das X-Achse-Gyroskop-PLL als Taktquelle aus.Darüber hinaus ist das Ermöglichen des Winkelgeschwindigkeitssensors und des Beschleunigungssensors ein wichtiger Schritt im Initialisierungsprozess.Beide Operationen werden über das Power Management Register 2 (0x6c) implementiert.Stellen Sie einfach das entsprechende Bit auf 0 ein, um den entsprechenden Sensor zu aktivieren.Nach Abschluss der oben genannten Schritte kann der MPU-6050 den normalen Arbeitsstatus eingeben.Diejenigen Register, die nicht speziell festgelegt sind, übernehmen die vom System voreingestellten Standardwerte.
Der Sensor ist mit einem Gyro im Inneren ausgestattet, der aufgrund des gyroskopischen Effekts immer parallel zur anfänglichen Richtung bleibt.Daher können wir die Richtung und den Drehwinkel berechnen, indem wir die Abweichung des Gyro aus der Anfangsrichtung nachweisen.
Ein Beschleunigungsmessersensor ist ein Gerät, das die Beschleunigung messen kann und basiert auf dem Prinzip des piezoelektrischen Effekts.Während der Beschleunigung misst der Sensor die für den Massenblock angewendete Trägheitskraft und berechnet dann den Beschleunigungswert nach dem zweiten Newton -Gesetz.
Das DMP ist ein Datenverarbeitungsmodul im MPU6050-Chip mit einem eingebauten Kalman-Filteralgorithmus zum Erfassen von Daten aus dem Gyroskop- und Beschleunigungsmessersensoren und zur Verarbeitung der Ausgangsquaternionen.Diese Funktion reduziert die Arbeitsbelastung des peripheren Mikroprozessors erheblich und vermeidet den mühsamen Filter- und Datenfusionsprozess.
Anmerkungen:
Quaternions: Quaternions sind einfache Superkomplex -Zahlen.Komplexe Zahlen bestehen aus reellen Zahlen und der imaginären Einheit I, wobei i^2 = -1.
• Spielzeug
• Mobilteil und tragbares Spielen
• Bewegungsbasierte Spielcontroller
• Blurfree ™ -Technologie (für Video/Still -Bildstabilisierung)
• Airsign ™ -Technologie (für Sicherheit/Authentifizierung)
• Instantgesture ™ Ig ™ Gestenerkennung
• tragbare Sensoren für Gesundheit, Fitness und Sport
• Bewegungsfähiger Spiel- und Anwendungsrahmen
• MotionCommand ™ -Technologie (für Kurzschnitte von Gesten)
• Standortbasierte Dienste, Punkte von Interesse und tote Abrechnung
• 3D-Fernbedienungen für mit Internet verbundene DTVs und Set-Top-Boxen, 3D-Mäuse
• Touchanywhere ™ -Technologie (für die Steuerung/Navigation von „No Touch“ UI -Anwendung/Navigation)
Wir können die folgenden Möglichkeiten einschlagen, um das Rauschen von MPU-6050 zu verringern:
Verwenden Sie kalibrierte Sensoren: Das Kalibrieren des Beschleunigungsmessers und des Gyroskops des MPU-6050 kann die Verzerrung und den Fehler der Sensoren selbst beseitigen und so den Effekt des Rauschens verringern.Der Kalibrierungsprozess besteht normalerweise aus zwei Stufen: statische Kalibrierung und Bewegungskalibrierung.
Hardwarefilterungsprozess: Das Hinzufügen von Filterkondensatoren in die Stromversorgung der MPU-6050 kann die Auswirkungen von Netzteilrauschen auf den Sensor verringern.Währenddessen sollten wir währenddessen versuchen, MPU-6050 von potenziellen Interferenzquellen wie hochfrequenten Signallinien und Hochleistungskomponenten fernzuhalten.
Software-Filterverarbeitung: Nach dem Sammeln der Rohdaten von MPU-6050 können wir eine Software-Filterverbindung hinzufügen, um die anfänglichen Daten vorzubereiten, um rauschbedingte Interferenzen zu beseitigen.Zu den häufig verwendeten Softwarefiltermethoden gehören die mittlere Filterung, die mediane Filterung, die Kalman -Filterung usw.
Verwenden Sie den internen Tiefpassfilter: MPU-6050 verfügt über einen internen integrierten digitalen Tiefpassfilter, mit dem hochfrequentes Rauschen durch Festlegen der Grenzfrequenz reduziert werden kann.Insbesondere können wir die Grenzfrequenz des digitalen Filters einstellen, indem wir das Konfigurationsregister des MPU-6050 ändern, um das durch A/D-Abtastung verursachte Hochfrequenzrauschen zu beseitigen.
Der MPU-6050 ist ein sechsachsiger Beschleunigungsmesser und ein Gyroskopsensor, mit dem die Bewegung und Haltung von Objekten gemessen werden kann.Die auf MPU-6050 basierende Bewegungs-Trajektorienberechnung kann durch die folgenden Schritte ermittelt werden:
Der erste Schritt besteht darin, die Sensordaten zu lesen.Wir müssen die Beschleunigungsmesser- und Gyroskopdaten der MPU-6050-Sensoren unter Verwendung geeigneter Treiber und Bibliotheksfunktionen lesen.Diese Daten werden in der Regel in einem digitalen Format ausgegeben, sodass einige Umwandlung und Kalibrierungsarbeiten erforderlich sind, um sie in tatsächliche Messungen in physischen Einheiten umzuwandeln.
Der zweite Schritt besteht darin, die Beschleunigung zu berechnen.Zunächst müssen wir die Daten vom Beschleunigungsmesser verarbeiten, um die Beschleunigung des Objekts in jeder Achse abzuleiten.Um die Geschwindigkeit und Verschiebung des Objekts in jeder Achse zu berechnen, müssen wir anschließend die Beschleunigungsdaten integrieren.In diesem Prozess werden häufig numerische Integrationstechniken wie die Euler-Methode oder die Lunger-Kutta-Methode verwendet, um die Genauigkeit der Verschiebungsberechnungen sicherzustellen.
Der dritte Schritt besteht darin, die Winkelgeschwindigkeit zu berechnen.Unter Verwendung von Gyroskopdaten kann die Winkelgeschwindigkeit des Objekts in jeder Achse berechnet werden.Auch diese Daten müssen kalibriert und umgewandelt werden, um die Winkelgeschwindigkeit in tatsächlichen physikalischen Einheiten zu erhalten.
Der vierte Schritt besteht darin, die Rotation zu berechnen.Durch die Integration der Winkelgeschwindigkeitsdaten kann der Drehwinkel des Objekts in jede Achse berechnet werden.Dies kann unter Verwendung von numerischen Integrationstechniken wie der Euler-Methode oder der Longe-Kutta-Methode zur Berechnung des Winkels erfolgen.
Der fünfte Schritt besteht darin, die Daten zusammenzuführen.Wir kombinieren die Daten aus Beschleunigungsmesser und Gyroskopen, um eine vollständige Einstellung und Positionsinformationen des Objekts zu erhalten.Dies kann unter Verwendung von Algorithmen wie Quaternion-basierter Haltung Solver oder Euler-Winkellöser erfolgen.
Der sechste Schritt besteht darin, die Ergebnisse zu visualisieren.Wir konvertieren die Bewegung der berechneten Objektbewegung in einen Satz von Punkten in einem 3D -Koordinatensystem und zeigen sie anhand geeigneter Visualisierungstools für ein intuitiveres Verständnis der Bewegungstrajektorien und der Einstellungsänderungen des Objekts an.
Die erworbenen Ergebnisse zeigten eine ausreichende Genauigkeit von weniger als 1 % und Zuverlässigkeit, wodurch die ordnungsgemäße Dimension der Aufzugsschacht und die hohen Standards der Aufzugsindustrie gewährleistet war.
Um die internen MPU6050 -Register zu lesen, sendet der Master eine Startbedingung, gefolgt von der I2C -Slave -Adresse und einem Schreibbit sowie der Lesung der Registeradresse.
In tragbaren Gesundheitsverfolgung von Fitness-Tracking-Geräten.In Drohnen und Quadcoptern wird MPU6050 zur Positionsregelung verwendet.Verwendet zur Kontrolle von Roboterarm.Handgestensteuerelemente.
Der MPU6050 IMU-Sensorblock liest Daten aus dem MPU-6050-Sensor, der mit der Hardware verbunden ist.Die Blockausgänge beschleunigen, Winkelrate und Temperatur entlang der Achsen des Sensors.
Dies ist der Onboard -Prozessor des MPU6050, der die Daten aus dem Beschleunigungsmesser und Gyroskop kombiniert.Der DMP ist der Schlüssel zur Verwendung des MPU6050 und wird später ausführlich erläutert.Wie bei allen Mikroprozessoren benötigt die DMP Firmware, um auszuführen.
Bitte senden Sie eine Anfrage, wir werden sofort antworten.
auf 2024/09/3
auf 2024/09/3
auf 1970/01/1 3108
auf 1970/01/1 2674
auf 0400/11/15 2213
auf 1970/01/1 2182
auf 1970/01/1 1802
auf 1970/01/1 1774
auf 1970/01/1 1728
auf 1970/01/1 1677
auf 1970/01/1 1670
auf 5600/11/15 1632