STM32 und L293D - Zusammengelegte Inputs

Gast #5731455
Lesenswert?

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
Angehängte Dateien:
#5731471
Lesenswert?

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.
Gast #5732477
Lesenswert?

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
Angehängte Dateien:
Gast #5732494
Lesenswert?

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).
Gast #5732550
Lesenswert?

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
Gast #5732847
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren