Forum: Mikrocontroller und Digitale Elektronik VL53L0X hält SDA runter nach ESP8266 Reset


von Weinga U. (weinga-unity)


Lesenswert?

Hallo,

ich verwende den VL53L0X (Board CJVL43L0XV2) in Kombination mit einem D1 
Mini ESP8266 und bemerke das Problem, dass manchmal nach einem 
Software-Reset der VL53L0X die SDA Leitung unten hält und so den ganzen 
Bus blockiert. Es sitzt noch ein MPU6040 drauf. Mit Oszi nachgemessen.

Anfangs hatte ich einen Workaround: ein ESP-Pin versorgt die Sensoren 
und mach einmal sauber beim Setup die Spannung weg.

Meine Frage: Kennt wer auch das Problem und hat jemand eine Lösung 
gefunden, wie man den VL53L0X Software-Reset tauglich macht?!?

Ich verwende die Bibliothek: https://github.com/pololu/vl53l0x-arduino
Und I2C Pull-Ups sind drinnen.

Lg. Klaus

von TK (Gast)


Lesenswert?

Hallo,

ich habe den VL53L0X selbst auf einem Sensorboard am laufen.
Wird jedoch über einen PIC angesteuert (die Low-Level-Routinen hab ich
dabei alle selbst geschrieben)
Der beschriebene "Fehler" ist bei mir bis jetzt noch nicht vorgekommen.
Ich würde es mal mit einem Freitakten probieren - solange SCL Takte
draufgeben, bis die SDA wieder H wird und danach sofort ein STOP senden.
Das sollte eigentlich helfen.

Gruß
TK

von Weinga U. (weinga-unity)


Lesenswert?

Hallo TK.
Danke für den Hinweis. Das werde ich probieren.

Lg. Klaus

von Weinga U. (weinga-unity)


Lesenswert?

Haha, danke.
Der Tipp hat geholfen.

Thx. Klaus
1
digitalWrite(D1,LOW);
2
for(int i=0;i<15;i++)
3
{
4
  pinMode(D1,OUTPUT);
5
  delay(1);
6
  pinMode(D1,INPUT);
7
  delay(1);
8
}
9
Wire.begin();
10
// jetzt gehts los

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.