Moin, ich lese hier hin und wieder gerne mal mit und hab hier auch schon oft indirekt Hilfe erhalten und Probleme lösen können. Vielen Dank dafür! Nun habe ich ein Problem bei dem ich absolut nicht weiterkomme und hoffe das ihr mir helfen könnt. Einmal vorweg, ich arbeite an einem Projekt das mithilfe von zwei ESP32 eine funkbetriebene Motorsteuerung realisiert. Zum Aufbau, ich habe ein ESP32 als Bedienteil (Joystick) und ein ESP32 als Motorsteuereinheit welcher 4 DC Motoren über zwei L298N ansteuert und zwei 24V BLDC mit Hall Sensoren über zwei Controller (https://amzn.to/3aRkEh8). Grundsätzlich klappt auch alles, aber mein Problem liegt nun in der Ansteuerung der BLDC Motorcontroller, im Endeffekt soll der ESP32 nur die Motorcontroller EL-Pin,Z/F-Pin, auf 5V oder GND ziehen und den VR-Pin mit einem Pegel zwischen 0-3,3V versorgen. Ich hab dazu einen Pegelwandler 3,3V<>5V zwischen geschaltet und LV und Masse des Pegelwandlers mit dem 3,3V Pin und GND des ESP32 verbunden, HV und Masse mit den Pins der beiden Motorcontroller. Das Fehlerbild ist dann im Endeffekt, wenn beide Motoren drehen sollen, dreht sich nur einer. Ich habe herausgefunden das wenn der Motor am Anfang versucht anzulaufen und der Input zu klein ist das der in einen Überlastmodus fällt, das habe ich dadurch umgehen wollen, dass die Motoren im Stillstand über den EL-Pin der Controller abgeschaltet werden sollen. Ich habe nochmal alle steckverbindungen überprüft aber scheinbar wird der EL-Pin nicht sauber auf 0V gezogen und dadurch fällt ein Motorcontroller am anfang in diesen "Überlastmodus". Das kuriose daran ist, ich habe es zwischenzeitlich zum laufen gebracht und nun fällt es wieder aus, ich hatte einen "Wackelkontakt" im Verdacht weil der Fehler durch umstecken der Kabel auf den anderen Motor reproduzierbar war aber solangsam glaube ich das der Fehler woanders liegen muss. Die Programmierung des ESP32 ist soweit in Ordnung, wenn ich die Pegel an den Pins des ESP32 messe, liegt das an was erwartet wird, verbinde ich nun den Pegelwandler mit dem ESP32 und den Controllern, messe ich bei einem Pin an dem eigentlich 0V anliegt, 0,9V... ziehe ich das Kabel vom 3,3V Pin liegt der Pin wieder auf 0V wie er soll. Wenn die Pins der Motorcontroller nicht mit dem Pegelwandler verbunden sind, hab ich folgende Spannungen gemessen: GND<>VR -> 0V GND<>Z/F -> 4,99V GND<>EL -> 4,99V Ist der Aufbau ESP32<>Pegelwandler<>Motorcontroller so korrekt? Edit: Ich merke natürlich erst jetzt nach dem verfassen des Beitrages, das es sich ja um einen bidirektnionalen Pegelwandler handelt, könnt das schon das Problem sein? Wäre es sinnvoller die Pins Z/F und EL über ein Transistor zu schalten?
:
Bearbeitet durch User
Die entscheidenden Leitungen auf deinem Plan sind fast unsichtbar. Wo sind denn die technischen Unterlagen zu dem Motorcontroller und dem Pegelwandler-Board? Deiner Beschreibung entnehme ich, dass dein Pegelwandler-Board den Ausgang des ESP scheinbar hoch zieht. Dies würde so kontrollieren: Entferne den Pegel Wandler und belaste den Ausgang des ESP mit einem 1kΩ Pull-Up Widerstand. Wie sehen dann die HIGH und LOW Pegel auf einem Oszilloskop aus? Verwende einen Pull-Down Widerstand, wie sehen die Pegel dann aus? Außerdem würde ich mal mit einem Ampere-Meter messen wie viel Strom der Pegelwandler (mit Motortreiber) an seinen Eingängen bei LOW und bei HIGH aufnimmt. Also wenn du die Eingänge (ohne ESP32) durch das Amperemeter mit GND bzw 3,3V verbindest. Danach schauen wir weiter.
Hallo Stefan, danke für die schnelle Rückmeldung. Ein Oszilloskop besitze ich leider nicht, zu dem Pegelwandler Adafruit 757 Bidirektionaler Logikpegelkonverter BSS138 gibts es folgendes Datenblatt:(https://t1p.de/ofp9). Zu den Brushless Controllern gibt es leider kein Datenblatt. Ich werde später dann mal messen, ist die Idee mit einer Transistorschaltung denn eine Option oder spricht da was gegen?
Falk O. schrieb: > Adafruit 757 > Bidirektionaler Logikpegelkonverter BSS138 > gibts es folgendes Datenblatt:(https://t1p.de/ofp9). Der BSS138 ist ein ganz normaler Kleinsignal N-Kanal MOSFET. Ob daraus ein Pegelkonverter wird, hängt von der Beschaltung ab. p.s. Das Datenblatt brauchst du nicht schamvoll hinter einem kryptischen Link zu verstecken. Klicke einfach auf BSS138
Falk O. schrieb: > Ein Oszilloskop besitze ich leider nicht, Dann messe mit einem Multimeter und mache die Pegelwechsel dazu passend langsam. Oder kaufe dir ein DSO150, du wirst es noch öfter brauchen. > Zu den Brushless Controllern gibt es leider kein Datenblatt. Das ist ziemlich schlecht. > ist die Idee mit einer Transistorschaltung denn eine Option Nein, du ziehst das Pferd von hinten auf. Erstmal musst du die Problemursache finden.
Wolfgang schrieb: > Der BSS138 ist ein ganz normaler Kleinsignal N-Kanal MOSFET. > Ob daraus ein Pegelkonverter wird, hängt von der Beschaltung ab. Es handelt sich um eine fertige Pegelwandlerplatine von Adafruit. Wolfgang schrieb: > p.s. > Das Datenblatt brauchst du nicht schamvoll hinter einem kryptischen Link > zu verstecken. Klicke einfach auf BSS138 Das war nicht meine Absicht, ich wollte nur der Übersichtlichkeit halber die URL kürzen. ;) Stefan ⛄ F. schrieb: > Dann messe mit einem Multimeter und mache die Pegelwechsel dazu passend > langsam. Oder kaufe dir ein DSO150, du wirst es noch öfter brauchen. Kommt auf die Anschaffungsliste, werde morgen die Messungen durchführen und mich nochmal melden.
:
Bearbeitet durch User
So, habe nun nachgemessen...
1 | Aufbau: |
2 | Pegelwandler <> BLDC Controller |
3 | |
4 | Einang Ausgang |
5 | 3,3V LV <> HV 5V BLDC |
6 | A1 <> B1 nicht belegt |
7 | A2 <> B2 EL BLDC |
8 | A3 <> B3 DIR BLDC |
9 | A4 <> B4 nicht belegt |
10 | GND GND <> GND GND BLDC |
11 | |
12 | Stromaufnahme Pegelwandler |
13 | LOW |
14 | GND<>A1 0,82mA |
15 | GND<>A2 30,6mA |
16 | GND<>A3 1,9mA |
17 | GND<>A4 0,82mA |
18 | |
19 | HIGH |
20 | LV<>A1 0,0mA |
21 | LV<>A2 0,0mA |
22 | LV<>A3 0,0mA |
23 | LV<>A4 0,0mA |
24 | |
25 | und dann habe ich die betroffenen Pins des ESP32 ohne den Pegelwandler mal mit Pullup- und Pulldown 1kOhm beschaltet. |
26 | |
27 | Pullup LOW 0,143V HIGH 3,345V |
28 | Pulldown LOW 0,037V HIGH 3,25V |
Hoffe es lässt sich nachvollziehen
:
Bearbeitet durch User
Falk O. schrieb: > GND<>A2 30,6mA Da ist etwas kaputt! Da dein ESP32 mit dem Widerstand als Last gute Pegel ausgegeben hat, ist wohl entweder das Pegelwandler-Board kaputt oder einer der beiden Motorcontroller. Nächster Schritt: Nimm den Pegelwandler raus und teste die beiden Motorcontroller einzeln. Lege deren Eingänge durch einen 1kΩ Widerstand abwechselnd auf LOW und HIGH und messe die Spannung. Es werden annähernd 0V und 5V erwartet. Sollte das nicht der Fall sein, ist diese Board vermutlich defekt. Wenn der Test OK war nimmst du dir das Pegelwandler Board ganz alleine ohne Quellen und Lasten an den I/O Pins vor. Also nur mit der Versorgungsspannung 3,3V, 5V und GND. Dann legst du nacheinander alle 8 Eingänge (2x4 pro Seite) mit dem 1kΩ Widerstand einzeln auf HIGH. Müsste jeweis 3,3V oder 5V am jeweiligen Eingang ergeben. Dann legst du die 8 Eingänge über den Widerstand einzeln auf Low. Die Low Pegel müssten kleiner als 0,6 Volt sein.
Habe folgendes gemessen: EL Pin <1kOhm> 5V -> 4,96V EL Pin <1kOhm> GND -> 0,87V Z/F Pin <1kOhm> 5V -> 4,96V Z/F Pin <1kOhm> GND -> 3,75V!! Hab bei beiden Controllern in etwa die gleichen Werte. Der Pegelwandler war unauffällig, HIGH knapp 5V und LOW 0,685V bei 3,4 Referenzspannung.
> Habe folgendes gemessen.... An welchem Motorcontroller? Du solltest sie einzeln ausmessen, da fehlt mir also die Hälfte der Ergebnisse. > GND<>A2 30,6mA > Z/F Pin <1kOhm> GND -> 3,75V!! Was ist denn nun plötzlich der "Z/F" Pin? In deiner Zeichnung im Eröffnungsbeitrag kann ich das nicht wieder finden. Also wenn A2 = Z/F ist, dann ist wohl ein Motorcontroller defekt. Ich schätze, du hast nun das Prinzip verstanden, wie man so einen Fehler einkreist und kommst nun alleine klar.
Stefan ⛄ F. schrieb: > An welchem Motorcontroller? Du solltest sie einzeln ausmessen, da fehlt > mir also die Hälfte der Ergebnisse. Ich habe beide Controller ohne Pegelwandler jeweils einzeln gemessen und exakt die gleichen Werte für beide Controller erhalten. Stefan ⛄ F. schrieb: > Was ist denn nun plötzlich der "Z/F" Pin? In deiner Zeichnung im > Eröffnungsbeitrag kann ich das nicht wieder finden. Sorry für die Verwirrung, oben in der Skizze ist der Pin mit "Direction" gekennzeichnet, auf der Platine selber aber mit Z/F. Stefan ⛄ F. schrieb: > Also wenn A2 = Z/F ist, dann ist wohl ein Motorcontroller defekt. Ja, A2 war ja Pegelwandler LV Seite, B2 dann HV zu Z/F an den beiden Controller. Mich wundert es nur das ich bei beiden die gleichen Werte gemessen habe, als Kontrolle hatte ich noch einen neuen, der hat ebenfalls diese Werte.
Falk O. schrieb: > Ich habe beide Controller ohne Pegelwandler jeweils einzeln gemessen und > exakt die gleichen Werte für beide Controller erhalten. > als Kontrolle hatte ich noch einen neuen, der hat ebenfalls diese Werte. Das alle drei gleich kaputt sind, käme mir komisch vor. Vielleicht stimmt die Anschlussbelegung nicht. Damit kommen wir zurück auf die Frage nach den technischen Unterlagen zu dem Board.
Ja das ist echt schlecht wegen dem fehlenden Datenblatt, gibt es sonst ohne technische Dokumentation zu den Controllern noch weitere Möglichkeiten? Um aber irgendwie weiter zu kommen, würde ich nochmal auf meine Frage vom Eingangspost zurückkommen. Wenn ich die Pegel mithilfe einer Transistorschaltung sauber auf 0V ziehen kann wäre mir ja schon geholfen, denke ich. Natürlich ist die Ursache damit nicht gefunden, aber wäre es denn möglich? Ich habe noch ein paar 2N7000 MOSFETs hier rumliegen, würde gerne deine Meinung dazu hören. Vielen Dank für deine Mühe.
Falk O. schrieb: > Wenn ich die Pegel mithilfe einer Transistorschaltung sauber auf 0V > ziehen kann wäre mir ja schon geholfen, denke ich. Klingt nach "bist du nicht willig, so brauch ich Gewalt". Niemand kann dir ohne Einsicht in die technischen Unterlagen bestätigen, dass das eine gute Idee ist. Ein falscher Ratschlag zerstört die Boards womöglich, deswegen halte ich mich da zurück.
Ja das kann ich verstehen, gibt es sonst alternative Controller die ich verwenden könnte? Habe leider kaum welche gefunden die auch HALL-Sensoren unterstützen und in etwa die selbe Abmaße haben? Hast du da mit welchen schon gute Erfahrungen gemacht?
Falk O. schrieb: > und in etwa die selbe Abmaße haben? Kommt es nicht viel eher darauf an, dass die Treiber zu deinem Antrieb passen? Wenn die Anforderungen alle klar zusammen getragen sind, kannst du einen passenden Treiber suchen oder entwickeln. Das ist aber ehrlich gesagt nicht unser Job - es sei denn jemandem fällt zufällig gerade ein passendes Produkt ein, dass er gerade gut kennt (kann ja sein). Nenne die Anforderungen. Und zwar alle. Mit Glück bekommst du einen passenden Vorschlag. Von mir wird da mangels Erfahrung nichts kommen.
Danke für deine Hilfe. Stefan ⛄ F. schrieb: > Kommt es nicht viel eher darauf an, dass die Treiber zu deinem Antrieb > passen? Wenn die Anforderungen alle klar zusammen getragen sind, kannst > du einen passenden Treiber suchen oder entwickeln. > > Das ist aber ehrlich gesagt nicht unser Job - es sei denn jemandem fällt > zufällig gerade ein passendes Produkt ein, dass er gerade gut kennt > (kann ja sein). > > Nenne die Anforderungen. Und zwar alle. Mit Glück bekommst du einen > passenden Vorschlag. Von mir wird da mangels Erfahrung nichts kommen. Das würde jetzt den Rahmen sprengen, da sich das Verhalten bei drei Platinen rekonstruieren lässt, suche ich erstmal nach einer Möglichkeit wie ich die Controller sauber auf 0V ziehen kann um die Funktionen abzubilden. Vielleicht hat ja jemand noch eine Idee?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.