Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
embedded_systems:experimentiersystem:vl53l0x-tof-sensor [2019-03-22 12:02] mlammerichembedded_systems:experimentiersystem:vl53l0x-tof-sensor [2024-04-18 08:46] Urs Graf
Zeile 3: Zeile 3:
 Der [[ https://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html | VL53L0X ]] ist eine neue Generation von ToF Sensoren, die genaue Distanzmessungen bis 2m erlaubt. Der [[ https://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html | VL53L0X ]] ist eine neue Generation von ToF Sensoren, die genaue Distanzmessungen bis 2m erlaubt.
  
-===== Verwendung mit dem MPC555 ===== 
  
-Der VL53L0X kann mit dem MPC55 verwendet werden. Es wird jedoch ein zweiter Mikrocontroller zum Anschluss an diesen benötigt. Die NTB stellt eine fertige Firmware für das [[https://www.st.com/en/evaluation-tools/nucleo-l432kc.html | Nucleo STM32L432KC Board]] zur Verfügung. **Es können maximal 4 Sensoren angesteuert werden.**+===== Verwendung mit Python unter Linux auf dem Zynq7000 =====
  
-==== Verdrahtung ====+Der VL53L0X wird direkt an eine I2C-Schnittstelle angeschlossen.  
 +^ Zynq7000 ^ VL53L0X          ^ 
 +| MIO10    | SCL              | 
 +| MIO11   | SDA              | 
 +| 3.3V    | Vcc | 
 +| GND         | GND              | 
 + 
 +===== Verwendung mit Deep auf dem MPC555 / Zynq7000 ===== 
 + 
 +Der VL53L0X kann mit dem MPC55 und dem Zynq7000 verwendet werden. Es wird jedoch ein zweiter Mikrocontroller zum Anschluss an diesen benötigt. Die OST stellt eine fertige Firmware für das [[https://www.st.com/en/evaluation-tools/nucleo-l432kc.html | Nucleo STM32L432KC Board]] zur Verfügung. **Es können maximal 4 Sensoren angesteuert werden.** 
 + 
 +==== Verdrahtung MPC555 ====
  
 ^ MPC555 ^ STM32L432KC ^ ^ MPC555 ^ STM32L432KC ^
Zeile 15: Zeile 25:
 | PCS 2  | PB0 (D3)    | | PCS 2  | PB0 (D3)    |
 | GND    | GND         | | GND    | GND         |
 +
 +==== Verdrahtung Zynq7000 ====
 +
 +^ Zynq7000 ^ STM32L432KC ^ Funktion ^
 +| MIO 12   | PA1 (A1)    | CLK      |
 +| MIO 11   | PA11 (D10)  | MISO     |
 +| MIO 10   | PA7 (A6)    | MOSI     |
 +| MIO 13   | PB0 (D3)    | CS       |
 +| GND      | GND         | GND      |
  
 Anmerkung: die relevanten Pins des STM32L432KC sind 5V tolerant, es sind also keine Pegelwandler nötig. Anmerkung: die relevanten Pins des STM32L432KC sind 5V tolerant, es sind also keine Pegelwandler nötig.
Zeile 20: Zeile 39:
 ^ STM32L432KC ^ VL53L0X          ^ ^ STM32L432KC ^ VL53L0X          ^
 | PA9 (D1)    | SCL              | | PA9 (D1)    | SCL              |
-| PA10 (D0)   DSA              |+| PA10 (D0)   SDA              |
 | PA3 (A2)    | XSHUT (Sensor 1) | | PA3 (A2)    | XSHUT (Sensor 1) |
 | PA4 (A3)    | XSHUT (Sensor 2) | | PA4 (A3)    | XSHUT (Sensor 2) |
Zeile 44: Zeile 63:
 ==== Verwendung in Deep ==== ==== Verwendung in Deep ====
  
-Der Deep Treiber ist unter ch.ntb.inf.deep.runtime.mpc555.driver.VL53L0X zu finden.+Der Deep Treiber ist unter ''org.deepjava.runtime.mpc555.driver.VL53L0X'' oder ''org.deepjava.runtime.zynq7000.driver.VL53L0X'' zu finden.
  
 === Initialisierung === === Initialisierung ===
Zeile 74: Zeile 93:
  
 <code java> <code java>
 +// Nur MPC555
 if (tof.resetDone()) if (tof.resetDone())
 { {
Zeile 80: Zeile 100:
 </code> </code>
  
-=== Reset ===+=== Reset (nur MPC555) ===
  
 Die reset() Methode veranlasst einen Reset die STM32L432KC und der Vl53L0X Sensoren. Die reset() Methode veranlasst einen Reset die STM32L432KC und der Vl53L0X Sensoren.
Zeile 86: Zeile 106:
 ==== Debugging / Troubleshooting ==== ==== Debugging / Troubleshooting ====
  
-Das Nucleo STM32L432KC bietet eine virtuelle serielle Schnittstelle über USB, wenn es mit einem PC verbunden ist. Über diese werden Debug Informationen über den internen Zustande des Mirkocontrollers sowie die Messwerte ausgegeben. Funktionert die Kommunikatio nicht korrekt, kann sich hier ein Überblick verschafft werden, wo die Ursache ligen könnte.+Das Nucleo STM32L432KC bietet eine virtuelle serielle Schnittstelle über USB, wenn es mit einem PC verbunden ist. Über diese werden Debuginformationen über den internen Zustande des Mirkocontrollers sowie die Messwerte ausgegeben. Funktioniert die Kommunikation nicht korrekt, kann sich hier ein Überblick verschafft werden, wo die Ursache liegen könnte.
  
-Des Weiteren leuchet LD3 (grüne LED unten link, wenn USB Port oben), wenn der STM32L432KC auf einen SPI Transfer wartet und erlischt während dem Messvorgang.+Des Weiteren leuchet LD3 (grüne LED unten links, wenn USB Port oben), wenn der STM32L432KC auf einen SPI Transfer wartet und erlischt während dem Messvorgang.
 Diese sollte im normalen Betrieb blinken. Diese sollte im normalen Betrieb blinken.
 +Das GPIO Signal der LED ist auf Pin D13 am Board zu finden.