mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 und L293D - Zusammengelegte Inputs


Autor: Jan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Bauform B. (bauformb)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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).

: Bearbeitet durch User
Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan schrieb:
> Ebenso, kann mir jemand Transistoren vorschlagen, welche dafür verwenden
> kann?

Ziemlich egal. Zum Beispiel BC848 / BC858.

: Bearbeitet durch User
Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.