Forum: Mikrocontroller und Digitale Elektronik L293B Problem


von Johannes M. (johannesmueller88)


Angehängte Dateien:

Lesenswert?

Hi Leute,
ich hab ein Problem mit einem 9V Lego-Eisenbahn-Elektromotor den ich mit 
einem L293B IC treibe, der wiederum von einem Arduino kontrolliert wird.
Die Verschaltung des L293B hab ich im Anhang drinnen.
Meine Probleme sind zweierlei:
Erstens: Die Geschwindigkeit wird ja über die 8bit-PWM am PIN1 geregelt. 
Meine Versorgungsspannung beträgt 15V. Wenn ich jetzt der PWM einen Wert 
von 255 gebe, kriege ich volle Spannung, soweit so gut. Wenn ich nun 
einen Wert von 128 an die PWM des Arduinos gebe, würde ich am Ausgang 
des ICs eigentlich nur noch die halbe Spannung erwarten, kommt aber 
nicht. Der kleinste Spannungswert den ich kriege, beträgt 6,3V, 
niedriger komme ich mit der PWM nicht. Der IC gibt die PWM also nicht 
proportional an den Ausgang weiter. Austauschen hat nicht geholfen.
Zweitens: Selbst wenn ich bei so hohen Spannungen den Lego-Motor auf die 
Schiene setze, geht er kurz voll ab, dann bricht die Spannung zusammen 
und der Motor bleibt stehen. Zusätzliche Kapazitäten oder Dioden am 
Motor haben auch nichts gebracht - ich bin ziemlich ratlos.
Danke im Vorfeld für eure Hilfe.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Was sind denn das für Dioden? Und wie sehen die Spannungen mit einer 
rein ohmschen Last (Last-Widerstände) aus?

Mit freundlichen Grüßen
Thorsten Ostermann

von Johannes M. (johannesmueller88)


Lesenswert?

Die Dioden mit denen ich eine Entstörung des Motors probiert habe sind 
ganz normale pn-Dioden.
Ohne Last liegt an den Schienen eine Spannung von ca. 13,3V an. Mit 
Motor dran bricht die auf 7,3 V ab und der Motor fährt nicht mehr. 
Genauergesagt verliert der Motor langsam an Geschwindigkeit und bleibt 
schließlich stehen.
Bei einem Widerstand fällt die Spannung über dem Widerstand auf ca. 8,3V 
ab und (je nach Widerstand) der Widerstand wird heiß.
Meine Vermutung ist, dass ich mir beim Bau der Schaltung irgendwelche 
Kapazitäten eingehandelt habe, so dass der Motor durch eine sich 
entladende Kapazität gepowert wird - aber ich hab keine Ahnung wo die 
sein könnte.
Lg
Johannes

von Falk B. (falk)


Lesenswert?

@Johannes Müller (johannesmueller88)

>Die Dioden mit denen ich eine Entstörung des Motors probiert habe sind
>ganz normale pn-Dioden.

Welche für PWM zu langsam sind. Du brauchst Schottkydioden oder schnelle 
Schaltdioden, die ein t_rr < 200ns haben.

von Spess53 (Gast)


Lesenswert?

Hi

>Welche für PWM zu langsam sind. Du brauchst Schottkydioden oder schnelle
>Schaltdioden, die ein t_rr < 200ns haben.

Oder gleich einen L293D.

MfG Spess

von Johannes Müller (Gast)


Lesenswert?

Moment, an welcher Stelle hab ich jetzt zu langsame Dioden? An der 
Stelle der freilaufdioden die im Schaltplan mit D1 bis D8 gekennzeichnet 
sind? Ich versteh den Effekt nicht so hundertpro dass dadurch der Motor 
immer langsamer wird. Liegt das an der Induktivität des Elektromotors? 
Könnte ich für Abhilfe einfach den IC durch einen L293D ersetzen in den 
die richtigen Dioden wohl schon eingebaut sind, wie ich das verstehe?

von MaWin (Gast)


Lesenswert?

Hast du Masse der 15V mit Masse der 5V verbunden?
Welche Stromaufnahme hat der Motor wenn du die Lok festhältst 
(blockuerst) und welchen Strom kann das Netzteil liefern bevor die 
Spannung einbricht?
Welchen Strom liefert das Netzteil im Kurzschlussfall.

von Johannes Müller (Gast)


Lesenswert?

Also die Massen in obigem Schaltplan sind alle zusammen auf dem GND-Pin 
des arduinos zusammen geführt. Das Netzteil dass ich verwende ist ein 
herkömmliches gleichspannungs-netzteil mit einer Nennleistung von einem 
Watt (12V, 1A, fragt mich nicht warum da beim Messen 15V angezeigt 
werden...)
 Den Rest müsste ich mal nachmessen, ich komm aber heute leider nicht 
mehr in mein "Labor". Aber schon mal Danke für die Antworten!

von Johannes M. (johannesmueller88)


Lesenswert?

Johannes Müller schrieb:
>  mit einer Nennleistung von einem
> Watt (12V, 1A, fragt mich nicht warum da beim Messen 15V angezeigt
> werden...)

Sorry, muss natürlich 12 W Nennleistung heißen!

von Johannes M. (johannesmueller88)


Lesenswert?

Also, sorry dass ich mich jetzt erst melde.

Spess53 schrieb:
> Oder gleich einen L293D.
>
> MfG Spess

Ich habs jetzt auch mal mit dem L293D probiert, das Ergebnis ist das 
selbe: Die Spannung am Ausgang des ICs ist nicht proportional zu dem was 
ich mit der PWM am Eingang reinschicke. Der Arduino hat eine 8bit PWM; 
bei einem Wert von 1 krieg ich immer noch ca 7,5V, obwohl bei einem Wert 
von 255 am Ausgang 14,5V anliegen. Wobei ich den L293D jetzt ohne 
Freilaufdioden betreibe.
Und auch hier tritt das Problem auf, dass der Strom schnell 
zusammenbricht, nachdem ich den Motor anschließe.
Die Ausgänge der PWM vom Arduino machen was sie sollen.

MaWin schrieb:
> Hast du Masse der 15V mit Masse der 5V verbunden?
Ja
> Welche Stromaufnahme hat der Motor wenn du die Lok festhältst (blockuerst)
Im ersten Moment messe ich ca. 30mA, dannach bricht der Strom schnell 
ein und läuft dann langsam gegen 0A - sieht fast ein bisschen 
exponential aus.
>  und welchen Strom kann das Netzteil liefern bevor die
> Spannung einbricht?
> Welchen Strom liefert das Netzteil im Kurzschlussfall.

Die beiden letzten Fragen meinen genau das gleiche, oder? Wenn ich den 
Strom direkt am Netzteil messe fließen über das Multimeter 6,4A.

von elektriker horst (Gast)


Lesenswert?

wie ist die pwm frequenz? der l293 kann laut datenblatt gerade mal 5khz 
oder so

von g457 (Gast)


Lesenswert?

> Der Arduino hat eine 8bit PWM; bei einem Wert von 1 krieg ich immer noch
> ca 7,5V,

Wie (womit) misst Du die 7.5V?

von Johannes M. (johannesmueller88)


Lesenswert?

g457 schrieb:
>> Der Arduino hat eine 8bit PWM; bei einem Wert von 1 krieg ich
> immer noch
>> ca 7,5V,
>
> Wie (womit) misst Du die 7.5V?

Mit einem normalen Digitalmultimeter.

elektriker horst schrieb:
> wie ist die pwm frequenz? der l293 kann laut datenblatt gerade mal
> 5khz
> oder so

Das könnte allerdings ein Problem sein. Guter Tipp!

von Klaus (Gast)


Lesenswert?

Johannes Müller schrieb:
> Die Spannung am Ausgang des ICs ist nicht proportional zu dem was
> ich mit der PWM am Eingang reinschicke.

Doch, ist sie. Wenn das PWM-Signal an ist, ist sie auch an und 
umgekehrt. Klemm mal ein Scope an, dann siehst du es.

MfG Klaus

von Falk B. (falk)


Lesenswert?

@ Johannes Müller (johannesmueller88)

>>> Der Arduino hat eine 8bit PWM; bei einem Wert von 1 krieg ich
>> immer noch
>>> ca 7,5V,
>>
>> Wie (womit) misst Du die 7.5V?

>Mit einem normalen Digitalmultimeter.

Hoffentlich im Gleichspannungsbereich. Das sollte eigentlich klappen. 
Denn das Multimeter wirkt als Tiefpass und zeigt den Mittelwert an. Wenn 
es nicht eine komische Gurke ist, und die Pulse in die Messwertaufnahme 
einkoppeln und dadurch die Messung verfälschen.

Probier mal umd ie 1kHz PMW Frequenz.

von Johannes M. (johannesmueller88)


Lesenswert?

elektriker horst schrieb:
> wie ist die pwm frequenz? der l293 kann laut datenblatt gerade mal 5khz
> oder so

Hab mal die PWM Frequenz etwas runter gedreht (ca. 3,9 kHz), jetzt kommt 
am Motorausgang des L293 die richtige Spannung raus. Danke für den Tipp!

Das Problem dass der Strom nach kurzer Zeit einbricht hat das aber 
leider nicht gelöst :/
Edit: Auch bei noch geringeren Frequenzen (~1000Hz) tritt das gleiche 
Problem auf.

von Elektriker Horst (Gast)


Lesenswert?

Wo genau misst du denn den Strom? Vielleicht ist dein Netzteil nicht 
kräftig genug und geht in die Strombegrenzung? Was für eine 
Spannungsquelle verwendest du denn?

von Teo D. (teoderix)


Lesenswert?

Zeig mal den Aufbau der Schaltung.

von Johannes M. (johannesmueller88)


Lesenswert?

Das Netzteil ist ein Standard-AC/DC Adapter, 12V/1A, aus dem kann man, 
wenn man direkt am Netzteil misst über 6A ziehen, das sollte nicht das 
Problem sein.
Ich habs jetzt auch selbst bisschen mehr eingegrezt, ich glaub das 
Problem ist der L293 selbst, ich hab das Gefühl der fängt an zu 
schwingen. Ich hab jetzt nämlich einfach mal willkürlicherweise einen 
220µF ELKO genommen und den zwischen die beiden Motorpins gesetzt. Jetzt 
bricht der Strom nicht mehr ein, aber die Spannung lässt sich nicht mehr 
so schön regeln wie vorher^^

von Johannes M. (johannesmueller88)


Angehängte Dateien:

Lesenswert?

Hier mal der Schaltplan wie ich ihn gerade verwende. Die rechte Seite 
des ICs wird im Moment nicht benutzt. PWM und Richtungs-signale kommen 
vom Arduino, die Massen von IC und Arduino liegen zusammen.

von Elektriker Horst (Gast)


Lesenswert?

Johannes Müller schrieb:
> wenn man direkt am Netzteil misst über 6A ziehen

Dann misst du also den Kurzschlussstrom? OMG...
Die Freilaufdioden benötigst du auf jeden Fall, da kommst du leider 
nicht drum rum. Ein Elko parallel zum Motor hilft dir leider wenig. eine 
Induktivität in Reihe würde da wenn überhaupt schon mehr bringen... Aber 
das sollte eigentlich nicht Ursache deines Problems sein.
Wieviel Strom fordern denn die Lego-Motoren? Und hast du die Schaltung 
mal mit einer ohm'schen Last getestet?

von Spess53 (Gast)


Lesenswert?

Hi

>Die Freilaufdioden benötigst du auf jeden Fall, da kommst du leider
>nicht drum rum.

Der L293D hat integrierte Freilaufdioden.

>Ein Elko parallel zum Motor hilft dir leider wenig.

Eher massiv schädlich.

>eine Induktivität in Reihe würde da wenn überhaupt schon mehr bringen...

Der Motor ist schon eine Induktivtät.

An die Ausgänge gehört der Motor und sonst nichts.

MfG Spess

von Tany (Gast)


Lesenswert?

und du bist sicher, daß die Signale (Richtung1, Richtung2, PWM) richtig 
ankommen?
was passiert wenn du Richtung1 nach GND, Richtung2 nach 5V schließst?

von Stephan H. (stephan-)


Lesenswert?

das gleiche Theater wie hier.:
Beitrag "Motor ansteuern mit RPi & L293D"

PWM an den Input. EN ist statisch.

von Johannes M. (johannesmueller88)


Lesenswert?

hm, dann klink ich mich da mal ein, danke.

von Günter (Gast)


Lesenswert?

Johannes Müller schrieb:
> Meine Versorgungsspannung beträgt 15V. Wenn ich jetzt der PWM einen Wert
> von 255 gebe, kriege ich volle Spannung, soweit so gut. Wenn ich nun
> einen Wert von 128 an die PWM des Arduinos gebe, würde ich am Ausgang
> des ICs eigentlich nur noch die halbe Spannung erwarten, kommt aber
> nicht. Der kleinste Spannungswert den ich kriege, beträgt 6,3V,
> niedriger komme ich mit der PWM nicht. Der IC gibt die PWM also nicht

Das müssen Meßfehler sein, falls nicht irgendwo ein Defekt vorliegt und 
die Ansteuerung stimmt. Wie oben schon jemand erwähnt hat, messen die 
Multimeter nicht alle gleich.  Ich habe die Schaltung aufgebaut mit dem 
Unterschied, daß ich eine Vs von 5V und den Elko mit 470µF habe.

Angesteuert wird bei mir mit einem Tiny45 und ca 3900 PWM Frequenz. Den 
duty cycle an ENABLE1 (nur eine Seite des L293D beschaltet) kann ich mit 
einem Poti von 0% auf 100% ändern. Unbelastet und mit einem DMM zwischen 
OUTPUT1 und OUTPUT2 messe ich zwischen 0V bis 4,5V ziemlich linear. Ein 
anderes DMM zeigt erstmal 0V und macht bei Vergrößern des duty cycles 
plötzlich einen Sprung auf ca 3V und geht dann gleichmäßig? bis 100% auf 
ca 4,5V.

Im L293D bleiben bei mir also ca 1,5V auf der Strecke (mit Oszi 
verifiziert). Unter Last können da schon mal 2 bis 3V auf der Strecke 
bleiben. Wenn du 15V bei Vs anlegst kann es nicht sein, daß du zwischen 
den OUTPUT Pins 15V hast.

Bei dir scheint mir eine Überlast des L293D vorzuliegen. Motor braucht 
zuviel Strom. Entweder nimmst du zum Testen einen kleineren Motor, der 
sicher sehr wenig Strom braucht oder nimm als Vs nicht 15V sondern zB 6V 
oder 9V. Der Legomotor sollte trotzdem noch drehen. Der 100µF Elko kann 
auch tesweise vergröert werden. zB 1000µF.

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
Noch kein Account? Hier anmelden.