Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Sensordaten in Raspberry Pi integrieren: GPS & MPU-9150 Hands-On Guide

Abstract

Lernen Sie, wie Sie Daten von einem GPS-Modul und einem MPU-9150 IMU auf einem Raspberry Pi über I²C- und UART-Schnittstellen anschließen und auslesen und die Informationen in Echtzeit für autonome Navigation verarbeiten.

Schlüsselwörter: I2C-Kommunikation, UART-Kommunikation, Adafruit Ultimate GPS Breakout, Sparkfun MPU-9150 Breakout, Raspberry Pi Setup

Einführung

Sensordaten-Akquisition ist das Rückgrat jedes digitalen Steuerungssystems. Wenn ein eingebetteter Controller diese Eingaben verarbeitet, wird die Wahl der Kommunikationsschnittstelle kritisch. Für ein Robotik-Navigationsprojekt sind kontinuierliche GPS-Positionsupdates und präzise Kursmessungen essenziell. Dieses Tutorial demonstriert, wie man ein GPS-Modul und einen Magnetometer an einen Raspberry Pi verdrahtet, die Daten remote anzeigt und in Steuerungssoftware integriert.

Ziel

Dieses fortgeschrittene Tutorial setzt Vertrautheit mit Raspberry Pi OS und grundlegenden Bash-Befehlen voraus. Es führt Sie durch das Auslesen von Beschleunigungsmesser- und GPS-Daten über die seriellen Schnittstellen des Pi, das Verdrahten der Sensoren und das Konfigurieren der nötigen Hardware-Treiber.

Informationen

Hardware

Der MPU-9150 ist ein Multi-Chip-Modul, das einen MPU-6050 (3-Achsen Gyroskop & Beschleunigungsmesser) und einen AK8975 digitalen Kompass kombiniert. Er wird in Smartphones und Tablets für seinen niedrigen Stromverbrauch und hohe Performance breit eingesetzt.

Der Adafruit Ultimate GPS basiert auf einem MTK3339 Chip, bietet 10 Hz Update-Rate, 22-Satelliten-Tracking und externen Antennenport. Seine rote LED zeigt Signalstatus: 1 Hz während der Suche und 15-Sekunden-Blinken bei Fix.

Kommunikationsstandards

I²C nutzt zwei bidirektionale Leitungen (SDA & SCL), um einen Master (den Pi) mit mehreren Slaves zu verbinden, jeder mit einzigartiger Adresse.

UART überträgt Daten asynchron in 5-8-Bit-Frames bei programmierbarer Baudrate, benötigt separate TxD und RxD Leitungen.

Teileliste

Annahmen

Prozeduren

  1. Pi's GPIO-Pins identifizieren: UART nutzt GPIO 14 (Tx) & 15 (Rx); I²C nutzt GPIO 2 (SDA) & 3 (SCL).
  2. GPS verdrahten: GPS Tx an Pi Rx, Rx an Pi Tx, 3,3V oder 5V an Vin, GND an Pi Ground.
  3. MPU-9150 verdrahten: Vcc an 3,3V, GND an Ground, SDA an GPIO 2, SCL an GPIO 3.
  4. I²C auf Pi aktivieren:
    • sudo apt-get update && sudo apt-get install i2c-tools libi2c-dev ausführen.
    • WiringPi installieren: git clone git://git.drogon.net/wiringPi && cd wiringPi && sudo nano /etc/modules und snd-bcm2835, i2c-bcm2708, i2c-dev hinzufügen.
    • /boot/config.txt bearbeiten, dtparam=i2c1=on und dtparam=i2c_arm=on hinzufügen, dann rebooten.
  5. MPU-6050 Demo installieren:
    • git://github.com/richardghirst/PiBits.git klonen, zu MPU6050-Pi-Demo navigieren, libgtkmm-3.0-dev installieren.
    • I2Cdev.cpp und setup-i2c.sh bearbeiten, /dev/i2c-0 durch /dev/i2c-1 ersetzen.
    • Mit make kompilieren, ./setup-i2c.sh ausführen, dann mit sudo i2cdetect -y 1 verifizieren.
    • Demo mit ./demo_raw ausführen für rohe Gyro- und Beschleunigungsdaten.
  6. GPS-Datenerfassung einrichten:
    • Adafruits GPS Daemon Guide ist Startpunkt, aber für custom handling nutzen wir die Open-Source libgps Library.
    • git://github.com/wdalmut/libgps.git klonen, mit make && sudo make install kompilieren.
    • Mit mitgeliefertem position_logger.c Beispiel testen: via gcc -o position_logger position_logger.c -lgps -lm kompilieren und ./position_logger ausführen. Bei Fix werden Breiten- und Längengrad in Dezimalgrad ausgegeben.

Fazit

Dieses Tutorial deckte Hardware-Verdrahtung, Aktivierung von Kommunikationsprotokollen und grundlegendes Software-Setup für zwei gängige Sensoren auf einem Raspberry Pi ab. Während die Beispiele auf Datenanzeige fokussieren, erweitern dieselben Prinzipien sich auf die Integration von Sensorausgaben in anspruchsvolle Navigations- oder Steuerungsalgorithmen. Beherrschung jeder Sensor-Library und solides Verständnis von C/C++ Entwicklung ermöglichen komplexere, Echtzeit-Sensorfusion.

Referenzen

Herstellungsprozess

  1. Mehrere DS18B20 1-Wire Sensoren an Raspberry Pi anschließen für präzises Temperaturmonitoring
  2. Professionelle Temperaturüberwachung mit Raspberry Pi und DS18B20
  3. Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
  4. LED mit PIR-Bewegungsmelder am Raspberry Pi steuern
  5. Günstiger Raspberry Pi Bodenfeuchtesensor für smarte Bewässerung
  6. Echtzeit Pan/Tilt Gesichtstracking auf Raspberry Pi – Praktischer Leitfaden
  7. Lego Mindstorms NXT Ultraschallsensor direkt an Raspberry Pi anschließen
  8. HC-SR04 Ultraschallsensor an Raspberry Pi anschließen – Praktischer Leitfaden
  9. Erstes IoT-Projekt mit Raspberry Pi, DHT11 und ThingSpeak bauen
  10. Automatisiertes Aeroponik-System mit Raspberry Pi und Feuchtigkeitssensor bauen