Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi - 2019

Bei meiner Suche nach einer Alternative zu den klassischen Ultraschall Sensoren bin ich auf die kostengünstigen Time of Flight (ToF) Sensoren von ST gestoßen. Diese werden von diversen Anbietern direkt auf eine kleine Platine gelötet. Über diese Platine sind die Anschlüsse heraus geführt und der Sensor somit kinderleicht z. B. an einem Raspberry Pi oder Arduino angeschlossen.

Ich habe mich für das Modell von Adafruit mit dem VL53L0X Chip entschieden. Der Grund für meine Entscheidung war hier vor allem der durch Adafruit verbaute Level-Shifter. So können die beiden Anschlüsse XSHD und GPIO direkt mit dem Raspberry Pi verbunden werden. Eine Anpassung der Spannung 3,3V (Raspberry Pi) zu 2,8 V (VL53L0X) muss nicht extra vorgenommen werden.

Ich habe einen kleinen Aufbau vorgenommen um den ToF Sensor testen zu können.

Adafruit VL53L0X laser scanner

Adafruit VL53L0X laser scanner

Komponentenliste

Ich habe wie fast bei allen meinen Berichten die von mir verbauten Komponenten hier in einer kleinen Liste veröffentlicht. Die Links führen alle zu dem Amazon Web-Shop um ein einfaches finden und einkaufen der Teile zu ermöglichen.

Tof VL53L0X Sensor

Ich habe mich für dieses Modell von Adafruit entschieden, da es ganz einfach über den I2C Bus an den Raspberry Pi angeschlossen werden kann.

Loading ...

Adafruit Servo-Kontroller PCA9685

Der Adafruit Servo-Kontroller hat sich bei mir in vielen Projekten bewährt.

Loading ...

Adafruit mini Pan&Tilt Kit

Das mini Pan & Tilt Kit von Adafruit ist klasse um z. B. die Raspberry Pi Kamera auf dem Roboter in verschiedene Richtungen drehen zu können oder halt um den ToF Sensor für Messungen zu drehen und zu kippen.

Loading ...

Raspberry Pi 3 Model B+

Ich empfehle immer den leistungsstärksten Raspberry Pi Model B+ zu kaufen. Das hier gezeigte Setup geht aber auch mit allen anderen Modellen.

Loading ...

Micro SD-Karte

Loading ...

Die Female 2 Female, Schrauben und USB Kabel habe ich nicht extra hier aufgeführt.

Verkabelung

Wie Sie den ToF Sensor und den Servo-Kontroller mit dem I2C Bus verbinden erkläre ich nicht im Detail. Mein Setup startet beim I2C Bus des Raspberry Pi, geht dann zum Servo-Kontroller und von dort am Ende des Servo-Kontrollers weiter zu dem VL53L0X Sensor. Somit arbeiten der ToF VL53L0X Sensor und der PCA9685 Servo-Kontroller mit 3,3V. Die extra Spannungsversorgung der Servomotoren am Servo-Kontroller erfolgt über die extra Anschlüsse mit 5V.

Software Installation

Mit den folgenden Befehlen wird die frische Raspbian Installation auf der SD-Karte soweit vorbereitet, dass diese auf dem neuesten Stand ist. Als Raspbian Image habe ich die Version vom 13. November 2018 verwendet. Sie werden auch gleich die notwendige Software für den I2C Bus installieren. Die Kommunikation mit dem ToF Sensor und dem Servo-Kontroller erfolgt über den I2C Bus.

Befehl: sudo apt-get update

Befehl: sudo apt-get install i2c-tools

Befehl: sudo apt-get install python-smbus

Damit der I2C Bus auch unter Raspbian aktiv ist muss dieser noch über das Konfigurationsmenü aktiviert werden. Dazu öffnen Sie im Terminal Fenster mit dem folgenden Befehl das Menü und aktivieren Sie den Bus unter dem Punkt Schnittstellen.

Befehl: sudo raspi-config

Anschließend starten Sie den Raspberry Pi neu damit die Änderungen auch wirklich aktiv sind.

Angeschlossene I2C Geräte suchen

Jetzt können Sie als nächstes überprüfen ob alle angeschlossenen I2C Geräte auch am I2C Bus gefunden werden. Mit dem folgenden Befehl überprüfen Sie ob der Adafruit Servo Kontroller und der VL53L0X Laser Sensor auch über den I2C Bus gefunden werden können.

Befehl: i2cdetect -y 1

Die Ausgabe im Terminal Fenster sollte dann wie folgt aussehen und den Servo Kontroller und VL53L0X Laser Sensor mit ihren jeweiligen Adressen zeigen.

Adafruit VL53L0X I2C Bus

Adafruit VL53L0X I2C Bus

VL53L0X Python Software Installation

Ich habe mich auch für das Modell von Adafruit entschieden, da der Online Shop und Elektronik Lieferant Pimoroni eine tolle Python Bibliothek online gestellt hat mit der der VL53L0X Sensor angesteuert werden kann. Diese Bibliothek findet sich unter dem folgenden Link:

URL: https://github.com/pimoroni/VL53L0X-python

Als nächtest installieren Sie noch ein die Python Software. Diese sollte aber schon vorhanden sein wenn Sie die aktuelleste Raspbian Version verwenden.

Befehl: sudo apt-get install build-essential python-dev

Nach der Installation von Python werden Sie jetzt das Repository von Pimoroni auf Ihre SD-Karte klonen. Dazu legen Sie in Ihrem Home Verzeichnis “home/pi” einen Ordner mit dem Namen VL53L0X an.

Anschließend wechseln Sie in diesen von Ihnen angelegten Ordner und führen den folgenden Befehl aus.

Befehl: git clone https://github.com/naisy/VL53L0X_rasp_python.git

Nach dem das Repository auf Ihre SD-Karte geklont ist müssen Sie dieses noch “installieren”. Dazu wechseln Sie in das Unterverzeichnis “VL53L0X_rasp_python” und führen den make Befehl aus.

Befehl: make

Nach Abschluss deses Befehls können Sie die Beispielprogramme die jetzt auf Ihrer SD-Karte liegen ausführen und sich die ersten Messwerte anzeigen lassen.

Adafruit VL53L0X sensor modul

Adafruit VL53L0X sensor modul

Adafruit Mini Pan-Tilt Kit und PCA9685

Ich hatte mir das fertig zusammengebaute Adafruit mini Pan&Tilt Kite gekauft. Dieses habe ich dann an dem Adafruit PCA9685 Servo Kontroller angeschlossen. Wie der PCA9685 Servo Kontroller unter Raspbian installiert wird habe ich im folgenden Beitrag genauer beschrieben.

URL: 16-Kanal PCA9685 Servo Kontroller – Teil 2 Software Installation und Test

Jetzt sollten Sie auch mit den Beispielprogrammen in der Lage sein das Pan&Tilt Kit programmieren zu können.

Zusammenfassung

In diesem Blog Beitrag habe ich Ihnen erklärt wie Sie den ToF Sensor VL53L0X mit dem Raspberry Pi verbinden. Weiter sind Sie jetzt in der Lage mit dem Pan&Tilt Kit den ToF Sensor auch zu drehen und zu kippen. Dies ermöglicht es uns die Umwelt genauer zu verstehen und abtasten zu können.

In einem weiteren Beitrag werde ich dann mein kleines Python Programm vorstellen und genauer auf die Messwerte eingehen.

Der fertige Aufbau meines Test-Setups sieht wie auf dem nachfolgenden Bild gezeigt aus.

 

Adafruit VL53L0X laser scanner setup pan tilt kit

Adafruit VL53L0X laser scanner setup pan tilt kit

(Visited 5.292 times, 1 visits today)