Nexus 5X Lagesensor (IMU) mit Matlab/Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

→ zurück zum Hauptartikel: Signalverarbeitende Systeme

Autor: Jan Drupka
Betreuer: Prof. Schneider
Sensor: Bosch Sensortec BMI160

Aufgabenstellung

An dieser Stelle wird die Aufgabenstellung beschrieben.

Einleitung

Dieser Artikel ist eine Vorlage für einen Wiki-Artikel. Tipp: Kopieren Sie den gesamten Quelltext und ändern Sie ihn so, dass er Ihr Projekt beschreibt.

Google Nexus 5X

Google Nexus 5X (Weiß)

Das Google Nexus 5X ist ein von Google entwickeltes und von LG hergestelltes Android-Smartphone. Es wurde von ab Oktober 2015 etwa ein Jahr lang gleichzeitig mit dem Schwestermodell, dem Nexus 6P, im Google Store angeboten. Der Nachfolger des Nexus 5X ist das Google Pixel. Das aktuelle Google-Smartphone ist das Google Pixel 2. Weitere Informationen zum Nexus 5X selbst sind unter anderem dazugehörigen im Wipedia-Artikel zu finden.[1].

Der BMI160 wurde im Nexus 5X verbaut, um Beschleunigungen und die Lage im Raum zu erfassen. Eingesetzt werden die Informationen aus dem Sensor sehr vielseitig, von Basisfunktionen wie der Drehung des Bildschirminhalts zur Drehung des Smartphones, bis zu komplexen Anwendungen wie der Navigation, wenn kein GPS-Signal verfügbar ist.

Die untenstehende Abbildung zeigt die Vorderseite des Mainboards, der Hauptplatine des Nexus 5X. Am oberen Rand, links neben der runden Aussparung in der Platine, ist das Fach für die SIM-Karte zu sehen, das sich beim Betrachten des Displays im Hochformat oben auf der linken Seite des Smartphones befindet. Auf der linken Seite ist die USB-C-Buchse zu sehen, die sich beim Betrachten des Displays im Hochformat in der Mitte der unteren Seite des Smartphones befindet. Ohne das Display und den Touchscreen würde man die Platine also um 90 Grad nach links gedreht sehen, wenn man die Displayseite im Hochformat betrachtet. Bei dem größeren der beiden dominierenden Bauelemente handelt es sich um den Samsung K3QF3F30BM-QGCF 2 GB LPDDR3 Arbeitsspeicher, unter welchen der Qualcomm Snapdragon 808 als Prozessor des Nexus 5X geschichtet wurde. Der kleinere der beiden größten integrierten Schaltkreise ist der Toshiba THGBMFG7C2LBAIL 16 GB eMMC 5.0 Flashspeicher. Rot eingezeichnet ist auf der untenstehenden Abbildung der ST Microelectronics STM32F411CE 32-bit 100 MHz ARM Cortex-M4 RISC Mikrocontroller, der im Nexus 5X unter anderem die Aufgabe des Sensor-Hubs übernimmt.

Die Position des Bosch Sensortec BMI160 wurde in keiner kostenlos verfügbaren Quelle gefunden. Der Autor vermutet den Sensor an der grün eingezeichneten Position auf der Vorderseite des Mainboards. Für diese Vermutung sprechen mehrere Punkte:

Achsendefinition des BMI160 für Android-Geräte
  1. Die Größe des Bauelements
  2. Die Farbe und Oberflächenstruktur des Bauelements
  3. Die Beschriftung des Bauelements (Labeling) mit drei Buchstaben in der ersten Zeile (z.B. CCC), zwei Buchstaben in der zweiten Zeile (z.B. VL) und dem Punkt, der den ersten Kontakt-Pin zeigt. [2]
  4. Die Position oben rechts im Gerät entspräche der Position des Sensor in der Abbildung, die die Achsen definiert. (Abb. X)


Nexus 5X Mainboard


Bosch Sensortec BMI160

Mit dem BMI160 brachte Bosch Sensortec im März 2015 eine hochintegrierte, inertiale Messeinheit (IMU) mit geringem Stromverbrauch auf den Markt, die einen Beschleunigungssensor und ein Gyroskop in einem LGA SMD Gehäuse vereint. Alle für die Erzeugung und Erfassung von Messwerten, die Signalvorverarbeitung, die Analog-Digital-Umsetzung, die Zwischenspeicherung, die Interpretation, die Generierung von Unterbrechungsanforderungen und die Ausgabe in flexiblen Bussystemen benötigten Elemente sind hier in einem ASIC Die vereint. Der Sensor verfügt über flüchtigen und nichtflüchtige, persistenten Datenspeicher.

Der Sensor machte Bosch Sensortec zum Marktführer im Bereich der mikro-elektro-mechanische Systeme (MEMS).

Hergestellt wird der BMI160 auf einem Standard-20cm-Silicium-Wafer. Die mechanischen Elemente werden aus 20 µm poly-Si hergestellt.[3]

Inertiale Messeinheit (IMU)

Surface-mounted device (SMD)

Land Grid Array (LGA)

Aufbau des BMI160

Blockdiagramm zur Darstellung Aufbaus und des Datenflusses im Sensor [4]

Signalverarbeitungskette

Signalvorverarbeitung

Analog-Digital-Umsetzer

Verschiedene Analog-Digital-Umsetzer und ihre hauptsächlichen Anwendungsfelder

Bussystem

Digitale Signalverarbeitung

Darstellung der Ergebnisse

Matlab/Simulink

 
for i=1:10 
%     try
%         image = CAMERA_DumpFrame(s);       
%     catch err
%         error('MATLAB:RWTHMindstormsNXT:Sensor:unknown', 'An unknown Error occured while fetching the image. Please check that the Camera is connected and try again');
%     end
    image = CAMERA_GetImage(com);
    handle = imshow(image);
    %pause(0.1)
    currTime(i) = toc(startTime);
    disp(['Aktuelle Zeit: ',num2str(currTime(i))])
    %imwrite(image,sprintf('NXTCamImage%03d.png',i));
    %imwrite(img,fullfile(workingDir,sprintf('HexBug%03d.png',n)));
    % ca. alle 4.8 Sekunden ein Bild
end;

YouTube Video

Zusammenfassung

Was ist das Ergbnis? Das Ergebnis dieses Artikels ist eine Vorlage, mit der Nutzer des Wikis schnell und leicht eigene Artikel verwirklichen können. Diese Vorlage ist Bestandteil der Anleitungen aus den How-To's.

Ausblick

Was kann/muss noch verbessert werden?




Inhalt

Die Gliederung des Inhalts hängt stark von Ihrem individuellen Projekt ab. Benutzen Sie einen leicht nachvollziehbaren roten Faden und gliedern Sie nach gesundem Menschenverstand!

Unterabschnitt

  1. Nutzen Sie Aufzählungen
    • mit verschiedenen Schachtelungen
    • und so weiter
  2. zweite Ebene
    • mit erneuter Unterebene

Bilder

Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.

Tabellen

Eine tolle Tabelle ist hier dargestellt.

Spalte 1 Spalte 2 Spalte 3
blabla sowieso sowieso
test sowieso test1

Formatierung

Nutzen Sie zur Formatierung Beispiele, z. B. aus dem weltbekannten Wikipedia selbst (das ist die gleiche Syntax!) oder anderer Hilfeseiten wie z. B. [5].

Quelltext

Details siehe: Quelltext_einbinden.

Bei lang= muss die richtige Sprache eingetragen werden (matlab, c,...).

Literaturverzeichnis

  1. „Nexus 5X“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 2. April 2018, 20:50 UTC. (Abgerufen: 3. Juli 2018)
  2. Bosch Sensortec, BMI160: Small, low power inertial measurement unit: Data Sheet, S. 105
  3. MEMS IMU/COMBO: Bosch Sensortec BMI160: Available sample
  4. Bosch Sensortec, BMI160: Small, low power inertial measurement unit: Data Sheet, S. 12
  5. Hilfeseite des Wikimedia-Projekts



→ zurück zum Hauptartikel: Signalverarbeitende Systeme