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).
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