Hi, ich möchte einen L293DD mit einem STM32F103 ansteuern, um DC-Motoren zu betreiben. (Siehe Schaltplan) Am L293d sollen zwei Motoren hängen, die sich gleich bewegen, daher habe ich die korrespondierenden Inputs zusammen gelegt (In1/in4, In2/in3). Da der L293D mit 5v arbeitet, aber der STM32 mit 3.3v habe ich für die Ansteuerung Transistoren vorgeschaltet. - Um zusätzlich Pins am MCU zu sparen wollte ich mit einem PNP-Transistor das einkommende Signal negieren, sodass ich mit einer Leitung die Richtung bestimmen kann. (Um beim L293D eine Richtung anzugeben, muss ein Input für einen Kanal HIGH und der andere LOW sein.) Ich hoffe man versteht mein vorhaben und den Schaltplan. Funktioniert das so wie ich es mir gedacht habe? Ich habe leider keine Erfahrung mit Transistoren, deswegen würde ich mich freuen, wenn jemand den Plan korrigieren kann. Ebenso, kann mir jemand Transistoren vorschlagen, welche dafür verwenden kann? Ich benötige welche im SMD format - bei Reichelt wurde ich leider von dem Angebot und meinem Fehlenden wissen erschlagen. Vielen Dank für eure Hilfe. Mfg, Jan
Die 100k sind schon verdammt hochohmig, besonders für das PWM-Signal. Die 500R könnten zum Ausgleich ruhig 10mal hochohmiger werden. Aber das ist alles egal, weil ein 74HCT00 (mit T) die Transistoren und die Widerstände drum herum ersetzen kann. Der bekommt die 5V-Versorgung vom L293 und hat Eingänge, die zu den 3.3V vom STM32 passen. Zwei Widerstände an PWM_M_EN und M_DIR braucht man trotzdem noch, damit die Signale auch dann stabil sind, wenn der STM32 gerade programmiert wird oder während Reset. Je nachdem, was der Motor dann machen soll, müssen das Pull-Up und/oder Pull-Down werden.
Hi, Danke für deine Antwort, ich habe darüber nachgedacht - meinst du so wie auf meinem Angehängten Bild zu sehen? (Pullup Widerstände an den Signalen habe ich vergessen) Wenn ich den ersten Ausgang rückkoppele und ihn als Eingang für den zweiten Kanal verwende, sollte es doch funktionieren, dass ich das eine einkommende Signal multiplexen kann, oder? Laut der Wahrheitstabelle ergibt zweil mal HIGH LOW am Ausgang, das würde doch auch bedeuten, dass der Duty Cycle vom PWM invertiert ist, wäre das nicht blöd? Aber der Verständis wegen, würde meine NPN/PNP kombination funktionieren? Danke für die Hilfe. Mfg, Jan
Der L293 erwartet bei High Pegel mindestens 2,3 Volt. Die liefert dein STM32 aber ganz locker ohne Pegelwandler. > Wenn ich den ersten Ausgang rückkoppele und ihn als Eingang für den > zweiten Kanal verwende, sollte es doch funktionieren, dass ich das eine > einkommende Signal multiplexen kann, oder? Kommt drauf an, was du vorhast. Durch dieses Konstrukt bewirkst du, dass beide Motoren immer gleichzeitig laufen, aber in entgegengesetzte Richtung. Das kannst du auch einfacher haben: Einen Motor anders herum anschliessen ( Plus und Minus vertauschen).
Jan schrieb: > Ebenso, kann mir jemand Transistoren vorschlagen, welche dafür verwenden > kann? Ziemlich egal. Zum Beispiel BC848 / BC858.
Stefanus F. schrieb: > Der L293 erwartet bei High Pegel mindestens 2,3 Volt. Die liefert dein > STM32 aber ganz locker ohne Pegelwandler. Ich habe von leuten gelesen, die damit Probleme hatten, daher wollte ich vorsorglich den Pegelwandler einbauen, nicht dass ich mich nach dem Ätzen drüber ärgere das nichts funktioniert. Stefanus F. schrieb: > Kommt drauf an, was du vorhast. Durch dieses Konstrukt bewirkst du, dass > beide Motoren immer gleichzeitig laufen, aber in entgegengesetzte > Richtung. Das kannst du auch einfacher haben: Einen Motor anders herum > anschliessen ( Plus und Minus vertauschen). Das ist mein Plan - ich will zwei L293D verwenden, um 4 Motoren anzusteuern, zwei davon sollen in die gleiche Richtung. Das mit dem invertieren ist dafür gedacht, dass jeweils immer ein Input HIGH, und der andere LOW ist. Stefanus F. schrieb: > Ziemlich egal. Zum Beispiel BC848 / BC858. danke für den Tipp
Jan schrieb: > Ich habe von leuten gelesen, die damit Probleme hatten Die müssen irgend etwas falsch gemacht haben. Du kannst übrigens auch 5V tolerante Ausgänge (die SRM32 haben davon viele) im Open-Drain Modus verwenden und mit einem externen Pull-Up Widerstand auf 5V hoch ziehen, wenn du unbedingt willst.
hmm, dann müsste ich auf das "multiplexen" verzichen, wenn ich es ohne Transistoren machen würde. Ich habe mir das Datasheet nochmal angesehen. (https://www.mouser.de/datasheet/2/389/l293d-954810.pdf) Dort steht "High Voltage Input Curren 0.1ma" und 2.3v für HIGH. Dann sollte es eigentlich wirklich unnötig sein, ein Levelshift vorzuschalten. Du hast vermutlich recht, und die Probleme lagen wo anderst. Danke
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.