Hallo zusammen,
ich tüftel gerade an einer Motorsteuerung für ein paar 12V DC Motoren und bin auf Fehlersuche
Ich habe mehrere L9110S H-Bridge IC´s verwendet und steuere sie mit einem STM32103c an. Komischerweise funktioniert nur einer von vieren richtig
Ich arbeite zum ersten mal mit einem STM32 Blue Pill und der Arduino IDE, normale Arduinos habe ich schon oft verwendet.
Der L9110S wird mit 12V versorgt und die beiden Eingänge des IC´s sind mit 10K Pullup Widerständen an 12V angeschlossen. Mein Multimeter sagt dass da dann ca. 4,05V an den Eingängen liegen. Macht das dem STM32 etwas aus wenn die IO Pins als Ausgänge deklariert sind, da es ja ein 3.3V uC ist?
Ich habe z.B an einem Ausgangspin des STM32 nur 0.72V anliegen wenn ich ihn auf HIGH schalte, auch wenn er ohne den L9110S betrieben wird. Deshalb die Frage ob der uC irgendwie einen Schlag hat
Gruß Scynd
Ich habe ein "Datenblatt" gefunden https://www.segor.de/dokumente/l9110.pdf
Dort steht drinnen das die Eingänge TTL/CMOS kompatibel sind. Also Pullup weg (die legt man normalerweise auf die Versorgung vom Controller, also 5V bzw 3,3V,...) und die Controllerpins direkt an den L9110. Damit du keine schwebenden Eingänge am L9110 hast (wenn der uC falsch konfiguriert, in Reset,... ist) kannst du Pulldown Widerstände einbauen. Im PDF oben steht das die Ausgänge low sind wenn beide Eingänge high oder low sind.
Ich würde sowieso nur Bauteile verbauen bei denen man viele Infos findet bzw ein richtiges Datenblatt hat (und leicht verfügbar ist, aber nicht als Modul).
MfG Hannes
Danke für die Info.
Dann plane ich Pullups an 3.3V ein. 2k7 Ohm sollten da passen oder?
Das kannst du machen, ich verwende aber normalerweise 10k Widerstände.
Wenn du SMD Widerstände und die ICs direkt (nicht als Modul) verbaust, dann würde ich die Widerstände auf GND legen. Der Grund ist das GND und die Eingänge direkt nebeneinander sind.
MfG Hannes
Jetzt muss ich weiter ausholen.
Ich habe auf meiner Platine an den Steuerleitungen zwischen STM32 und L9110S auch noch Taster, die GND durchschalten damit ich auch einzelne Motoren auf Tastendruck verfahren kann, falls es mal nötig sein sollte. Da ich ja nach dem weiter oben geposteten Diagramm die 10k Widerstände reingemacht habe, hat das mit den tastern auch gut funktioniert.
Das ist der Grund warum ich Pullups nehmen wollte, weil ich dann nicht die ganze Platine neu Layouten muss
Auf die 2,7k Widerstände bin ich gekommen, da die meist für den I2C Bus auf 3.3V zum hochziehen verwendet werden
Tasten an einem uC Ausgang ist keine gute Idee. Wenn der uC den Ausgang auf high schaltet und du mit dem Taster den Pegel auf low ziehst, hast du einen Kurzschluss.
Besser ist es wenn du die Tasten auf einen uC Eingang gibst und du mit dem Programm den Ausgang steuerst oder du eine Oder-Verknüpfung einbaust (mit Gatter oder Dioden).
MfG Hannes
Lesezeichen