Kostenloser Versand für Bestellungen über 60 €

BlueDot BNO055 9-Axis IMU

Der absolute Orientierungssensor BNO055 ist ein erstaunliches Gerät. Es integriert einen Beschleunigungsmesser, ein Gyroskop und einen 32-Bit-Mikrocontroller in einem einzigen Paket. Sie können nicht nur die Sensoren gleichzeitig auslesen, sondern ein auf dem integrierten Mikrocontroller laufender Fusionsalgorithmus analysiert alle gemessenen Daten und berechnet die Ausrichtung des Geräts im Raum.

Es kann zwischen nicht-absoluter oder relativer Orientierung und absoluter Orientierung unterschieden werden. Unter absoluter Orientierung versteht man die Ausrichtung des Sensors zur Erde und ihrem Magnetfeld. Mit anderen Worten: Absolute Orientierungssensor-Fusionsmodi berechnen die Richtung des magnetischen Nordpols. In nicht-absoluten Orientierungsmodi kann die Richtung des Sensors variieren, je nachdem, wie der Sensor ursprünglich platziert wurde.

Beginnen wir nun mit dem BlueDot BNO055 und machen wir unsere ersten Schritte mit diesem Orientierungssensor.

Beschreibung

Hier sind fünf Funktionen, die das BlueDot BNO055 9-Achsen-IMU zu einem so fantastischen Board machen:

  • Magnetfeld, Beschleunigung und Winkelgeschwindigkeit. Der BNO055 enthält einen dreiachsigen geomagnetischen Sensor, ein dreiachsiges 16-Bit-Gyroskop und einen dreiachsigen 14-Bit-Beschleunigungsmesser in einem einzigen Paket. Dadurch können Sie gleichzeitig die Linearbeschleunigung, die Rotationsbeschleunigung und die Stärke des Magnetfelds messen.
  • Fusionsmodi. Der auf dem integrierten 32-Bit-Mikrocontroller ausgeführte Fusionsalgorithmus liest alle Sensoren gleichzeitig. Es liefert wertvolle Daten wie den Schwerkraftfeldvektor, die absolute Ausrichtung des Geräts (durch die Quaternionen und Euler-Vektoren), den magnetischen Norden (wie bei einem Kompass) usw.
  • 3,3V und 5V Spannungsversorgung. Der integrierte Spannungsregler akzeptiert Spannungen zwischen 2,6 V und 5,5 V zur Versorgung des BNO055-Sensors.
  • I²C-Kommunikation. Mithilfe des I²C-Protokolls benötigen Sie nicht mehr als zwei Drähte, um mit dem BNO055-Sensor zu kommunizieren.
  • Datenübertragung mit 5V- und 3,3V-Geräten. Während Geräte wie der Arduino Uno ein 5V-Signal als logisches HIGH interpretieren, verwendet der BNO055 3,3 V als logisches HIGH. Der integrierte Logikpegelwandler übersetzt die 5 V Signale in 3,3 V Signale und umgekehrt.

Diese Kurzanleitung zum BlueDot BNO055 zeigt Ihnen, wie Sie die ersten Schritte mit diesem Orientierungssensorboard machen.

Wichtiger Hinweis

Die Sensoren TSL2591 und BNO055 arbeiten nicht zusammen. Sie teilen sich die gleichen I²C-Adressen (0x28 und 0x29). Obwohl für die I²C-Kommunikation nur die Adresse 0x29 verwendet wird, reserviert der Sensor TSL2591 auch die Adresse 0x28. Wenn Sie das BME280+TSL2591 Board mit dem BNO055 Board verwenden möchten, ziehen Sie bitte die Verwendung eines I²C-Multiplexers in Betracht.

Montage

Zusammen mit dem BlueDot BNO055 Board erhalten Sie auch einen 10-Pin-Header zum Anschluss des Sensors. Der einfachste Weg, die Platine zu löten, besteht darin, die Stiftleiste in ein Steckbrett einzuführen (lange Stifte nach unten) und die kurzen Stifte nach unten zu löten.

Verbindung über I²C

Das BlueDot BNO055 IMU Board ist für die Verwendung des I²C-Kommunikationsprotokolls fest verdrahtet. Der erste Schritt zur Verwendung des Sensors besteht darin, die Platine an eine Stromversorgung anzuschließen.

  • VCC-Pin. Verbinden Sie den VCC-Pin der Platine mit dem 5V- oder 3,3V-Ausgang Ihres Arduino.
  • GND-Pin. Verbinden Sie den GND-Pin der Platine mit dem GND-Pin des Arduino.
  • 3V3-Pin. Der 3V3-Pin ist direkt mit dem Ausgang des Spannungsreglers verbunden und kann zur Versorgung einer externen Last verwendet werden. Der maximale Ausgangsstrom des Reglers beträgt 150 mA, aber aus Sicherheitsgründen sollten Sie vermeiden, mehr als 50 mA zu entnehmen.

Der Anschluss des Sensors an den I²C-Bus ist sehr einfach. Dafür benötigen Sie nur zwei Drähte. Das Taktsignal wird vom Arduino erzeugt und über die SCL-Leitung an den Sensor übertragen. Der Arduino kann über die SDA-Leitung Befehle an den Sensor senden. Und umgekehrt, alle Daten vom Sensor werden über die SDA-Leitung an den Arduino zurückgesendet. Aus diesem Grund ist die SDA-Leitung bidirektional.

  • SDA-Pin. Verbinden Sie den SDA-Pin der Platine mit der SDA-Leitung des Arduino. Dies entspricht dem Pin A4 am Arduino Uno.
  • SCL-Pin. Verbinden Sie den SCL-Pin der Platine mit der SCL-Leitung Ihres Arduino. Dies entspricht dem Pin A5 am Arduino Uno.
  • ADR-Pin. Hier haben wir zwei Möglichkeiten. Lassen Sie den ADR-Pin unverbunden, um die Standard-I²C-Adresse (0x28) zu verwenden. Stattdessen können wir den ADR-Pin mit 3,3 V verbinden, um die alternative I²C-Adresse (0x29) zu verwenden.

Das ist alles! Sie können die anderen Pins unbeschaltet lassen und schon kann es losgehen! Aber was ist mit den anderen Pins, fragen Sie sich vielleicht?

  • INT-Pin. Sie können den BNO055 so programmieren, dass er bei jedem Auftreten eines bestimmten Ereignisses ein Interrupt-Signal auslöst. Sie können beispielsweise einen Interrupt auslösen, wenn der Beschleunigungsmesser eine Bewegung mit hohem g erkennt oder wenn das Gyroskop eine plötzliche Änderung der Winkelgeschwindigkeit erkennt. Eine vollständige Beschreibung der möglichen Interrupts finden Sie im Datenblatt (Seiten 38 bis 46).
  • RST-Pin. Durch Anlegen eines LOW-Signals und dann eines HIGH-Signals an den RST-Pin lösen Sie einen Power-On-Reset aus. Dadurch wird der Sensor zum Neustart im CONFIG-Modus gezwungen und die Registerzuordnung wird mit allen Standardwerten initialisiert.
  • PS0- und PS1-Pins Mit diesen Pins kann vom I²C-Modus zum HID-Protokoll (Human Interface Device) gewechselt werden. Falls Sie nur den I²C-Modus verwenden, lassen Sie sie einfach unverbunden.

Installieren der Arduino-Bibliothek

Das BlueDot BNO055-Board funktioniert hervorragend mit der von Adafruit geschriebenen Arduino-Bibliothek. Der einfachste Weg, mit der Verwendung der BNO055 IMU zu beginnen, besteht darin, die Bibliothek direkt von der Arduino IDE herunterzuladen und zu installieren. Öffnen Sie einfach die Arduino IDE und gehen Sie zu Sketch > Include Library > Manage Libraries… und suchen Sie im Bibliotheksmanager nach der Adafruit BNO055-Bibliothek.

Beispielskizze hochladen

Nach der Installation der Bibliothek können wir eine Beispielskizze öffnen. Adafruit hat ein großartiges Beispiel beigefügt, das wir zum Ausführen der BNO055 IMU verwenden können. Gehen Sie einfach zu File > Examples > Adafruit BNO055 Library und öffnen Sie die Skizze rawdata.

Laden Sie nun die Beispielskizze auf Ihren Mikrocontroller hoch und schon kann es losgehen!

Serial Monitor Output with BNO055

3D-Modell

Ein 3D-Modell des BlueDot BNO055-Boards ist als STEP-Datei verfügbar (zum Herunterladen hier klicken). Eine STEP-Datei ist ein CAD-Dateiformat, das häufig für den Austausch von CAD-Dateien zwischen Unternehmen verwendet wird und von den meisten (wenn nicht allen) CAD-Softwareanwendungen problemlos gelesen werden kann.

Sie können 3D-Modelle auch online betrachten, ohne Software auf Ihrem Computer installieren zu müssen. Die folgenden Bilder wurden mit Autodesk Viewer aufgenommen, einem kostenlosen Online-Tool von Autodesk. Es ist zwar eine Registrierung bei Autodesk erforderlich, aber es lohnt sich!

Schaltplan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert