Brushless Treiber BLDC8015A zieht SPEED dauerhaft auf GND

Icicle

New member
Guten Tag liebes Ardumower Forum,

als ersten Beitrag möchte ich mich einmal Vorstellen. Ich bin vom Beruf Anwendungsentwickler und aktuell Studiere ich nebenher Elektrotechnik, meinen richtigen Namen behalte ich, zumindest vorerst, für mich.

Ich habe den Ardumower als Lern- und Forschungsprojekt auf der Arbeit liegen, an dem ich schon viel über praktische Elektronik und Mikrocontroller Programmierung gelernt habe.
Nachdem ich endlich die Kommunikation zwischen dem ESP32 und dem Adafruit Grand Central richtig aufgesetzt habe, besteht nun ein Problem mit den BLDC8015A Motortreibern.

Nach einigem Suchen habe ich die Datenblätter gefunden, die ich hier mal Anhänge. Ebenso lade ich das Bild der Adapterplatine hoch, damit ihr seht, welche Platinenversion hier vorliegt.

Nun zum Problem:
Ich kann die Räder mit AT+E drehen lassen und auch AT+Q lässt die Räder mit verschiedenen Drehzahlen laufen. Allerdings erhalte ich gar keine Odometrieticks.
Dazu steht in den Datenblättern, dass der SPEED Ausgang an den BLDC8015A ein Open Collector ist. Das bedeutet ja so viel, dass dort ein Eingang mit Pull-Up Widerstand dran muss, richtig?
Laut Code steht ja auch für die Eingänge pinMode(pinOdometryLeft, INPUT_PULLUP); drin.

Die Eingangsbelegung habe ich kontrolliert und wenn ich die Motortreiber abklemme, erhalte ich auch an den XH Wannensteckern P9 und P8 ziemlich genau 5V.

Selbst an der blauen Adapterplatine, die mit "BL Controller Anschluss" gelabelt ist, habe ich 5V am Speed Pin, wenn ich die Platine nicht auf den Controller stecke.

Jetzt wirds nochmal Interessant. Wenn ich nun die Adapterplatine an den Brushless Treiber anschließe und den Draht an DC+, also die Versorgungsspannung, weglasse, liegen weiterhin die 5V am Ausgang SPEED an. Drehe ich dann die Räder langsam von Hand (Bremse entriegelt), dann erhalte ich auch Ticks im Adafruit.

Schließe ich dann DC+ an und der Controller ist eingeschaltet, zieht er sofort den SPEED Pin auf GND, obwohl kein Motor läuft. Das passiert bei beiden Rädern. Beim Controller vom Mower habe ich es noch nicht ausprobiert. Ab da sind auch keinerlei Ticks mehr zu empfangen.

Hatte jemand schonmal das gleiche Problem? Gibt es noch ausführlichere Datenblätter? Es wäre echt super, wenn mit jemand helfen könnte. Ein digitales Speicheroszilloskop hätte ich für Messungen zur Verfügung.

Liebe Grüße
 
Ein kleines Update. Ich habe jetzt einmal mein neues Oszilloskop an allen Treibern ausprobiert.

Folgender Testaufbau:
Ardumower mit allen Verbindungen am Motortreiber außer GND und SPEED.
4700 Ohm Widerstand von Labornetzteil mit +5V als Pull-Up auf SPEED.
Oszilloskop Kanal zwischen Widerstand und SPEED-Ausgang.
GND von Labornetzteil auf GND des Motortreibers.

Ich habe festgestellt, dass der Speed Output der BLDC8015A Motortreiber für 20µS von GND freigegeben und somit über den Pull-Up eigentlich ja wieder auf 5V gezogen werden soll.
Leider lässt sich eher eine Ladekurve eines Kondensators ablesen und der Ausgang schafft es an einem Motortreiber nur auf 2V zu klettern, an einem anderen Treiber auf 3,2V und am letzten immerhin auf 4V.

Ich denke ich werde hier in den Treibern die Optokoppler ersetzen und evtl. einen Schmitt-Triggernden Inverter der CMOS Baureihe setzen. Ich habe einen gefunden, der schon bei 2V sicher schaltet. Ich hoffe, dass das eine sinnvolle Lösung ist. Ich dachte, ich teile das hier mal, falls jemand ein ähnliches Problem hat.

Über Tipps oder Hinweise wäre ich sehr glücklich ;-)
 
Leider habe ich noch nicht weiter daran gearbeitet. Das kann leider auch noch ein wenig dauern.

Wenn ich das nächste mal weitermache suche ich erstmal ein paar Bauteile raus, bestelle die und baue dann eine experimentelle Schaltung. Davon werde ich hier gerne Berichten.
 
Oben