PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit PWM bei DC-Motor/RaspPi/l298n



Brot24
26.08.2017, 14:14
Hey Leute!

Da ich gerade dabei bin mir ein kleines Roboterauto zu bauen, bin ich leider beim Antrieb der 4 Motoren hängen geblieben...
Ich bekommes einfach nicht hin, die Motoren mittels PWM anzusteuern. Sie piepsen nur, je nachdem wie viel % der PWM ich bei Scratch eingestellt habe. (Scratch nur zu beginn, später dann ein Python Programm..)
Der Aufbau: Ich habe meine Raspberry Pi 3 mittels 7 Jumperkabeln mit dem l298n verbunden. Also GND, ENA, IN,1,2,3,4 und ENB an diverse GPIO Pins. Ich hänge noch Bilder des Aufbaus an.
Ohne PWM funktionieren die Motoren ohne Probleme. Sobald ich aber die Jumper von den ENA/B entferne piepsen die Motoren nur noch und das wars.
Hab auch noch ein Bild vom Scratch Programm angehängt.
Ich hoffe ihr könnt mir helfen.
Danke vieeeeeeeeel mals im voraus!!

Lg
Brot24

Peter(TOO)
26.08.2017, 16:54
Hallo Brot24,


Ohne PWM funktionieren die Motoren ohne Probleme. Sobald ich aber die Jumper von den ENA/B entferne piepsen die Motoren nur noch und das wars.
Hab auch noch ein Bild vom Scratch Programm angehängt.
Du darfst die EnX-Pins nicht einfach in der Luft hängen lassen.
Entweder mit GND oder +5V verbinden.

MfG Peter(TOO)

Brot24
26.08.2017, 18:37
Hallo Brot24,

Du darfst die EnX-Pins nicht einfach in der Luft hängen lassen.
Entweder mit GND oder +5V verbinden.

MfG Peter(TOO)

Zunächstmal , danke für die Antwort!
Ich habe jetzt probiert beide mit GND/+5V am Raspberry zu verbinden. Leider funktioniert die Ansteuerung der motorn dann immer noch nicht.
Immernoch das piepsen des motors.

Peter(TOO)
26.08.2017, 18:58
Ich habe jetzt probiert beide mit GND/+5V am Raspberry zu verbinden. Leider funktioniert die Ansteuerung der motorn dann immer noch nicht.
Immernoch das piepsen des motors.

Egal ob EnX mit GND oder +5V verbunden ist.

Das andere Problem ist, dass die Fotos zwar hübsch sind, aber hier keiner weiss was du da verdrahtet hast!

Per Software kannst du jeden GPIO-Pin als Eingang oder Ausgang schalten und auch dann, weiss keiner welches Signal du da drauf legst.

Also zeichne mal ein Schema, aber kein solches Fritzing-Dingens.:evil: :Haue :MistPC
http://fritzing.org/media/fritzing-repo/projects/b/blackbox/images/schema.png
Das zeigt eben auch nicht mehr als deine Fotos.

Sondern so etwas:
http://www.14core.com/wp-content/uploads/2015/07/L298-DUAL-H-BRIDGE-MOTOR-DRIVER-Schematics-Diagram.jpg

MfG Peter(TOO)

Brot24
26.08.2017, 21:13
Egal ob EnX mit GND oder +5V verbunden ist.

Das andere Problem ist, dass die Fotos zwar hübsch sind, aber hier keiner weiss was du da verdrahtet hast!

Per Software kannst du jeden GPIO-Pin als Eingang oder Ausgang schalten und auch dann, weiss keiner welches Signal du da drauf legst.

Also zeichne mal ein Schema, aber kein solches Fritzing-Dingens.:evil: :Haue :MistPC
http://fritzing.org/media/fritzing-repo/projects/b/blackbox/images/schema.png
Das zeigt eben auch nicht mehr als deine Fotos.

Sondern so etwas:
http://www.14core.com/wp-content/uploads/2015/07/L298-DUAL-H-BRIDGE-MOTOR-DRIVER-Schematics-Diagram.jpg

MfG Peter(TOO)

Oh Ok!
Das ist mein erstes eigenes Schema, ich hoffe es ist verständlich. Ich hab mir echt mühe gegeben das jetzt zu erstellen.
Also im Moment ist alles verkabelt wie im Schema, wobei das Raspberry Pi über eine externer Stromquelle läuft! Ich habe wie gesagt versucht die zweiten EnX Pins an GND anzuschließen (Schema) und an 5 Volt anzuschließen.
Bitte den Step-Down-Converter auf den Bildern derweil ignorieren, der ist hier noch nicht relevant!
Das Programm mit dem die GPIO-Leiste angesteuert wird, ist ja eh im Bild oben! Aber wie gesagt, mehr als ein Piepsen kommt nicht von den Motoren...

Nochmals vielen Dank für die Hilfe! Schätze ich sehr.

Edit: Ich hoffe das Bild ist nicht zu klein!

Lg,
Brot24 :)

Peter(TOO)
27.08.2017, 15:17
Hallo Brot24.

Die Schrift ist etwas klein. Die Signale unten rechts kann ich nicht lesen, auch wenn ich das Bild vergrössere, da ist zu viel reduziert.
Du solltest immer nach dem Einstellen, sehen wie das geworden ist. Oft komprimieren auch die Systeme selbständig beim Einstellen.

Die Frage jetzt.
Was soll das mit den zwei Leitungen an den EnX-Anschlüssen?
Wenn du zwei Ports einfach so zusammen hängst, gibt das normalerweise einen Kurzschluss.

MfG Peter(TOO)

Brot24
27.08.2017, 16:18
Hallo Brot24.

Die Schrift ist etwas klein. Die Signale unten rechts kann ich nicht lesen, auch wenn ich das Bild vergrössere, da ist zu viel reduziert.
Du solltest immer nach dem Einstellen, sehen wie das geworden ist. Oft komprimieren auch die Systeme selbständig beim Einstellen.

Die Frage jetzt.
Was soll das mit den zwei Leitungen an den EnX-Anschlüssen?
Wenn du zwei Ports einfach so zusammen hängst, gibt das normalerweise einen Kurzschluss.

MfG Peter(TOO)

Tut mir leid, die Website hat das leider so brutal nieder-skaliert dass es schwer zu lesen ist.
Habs extern nochmal hochgeladen!
https://picload.org/view/rwicpcrl/l298nbrot24jpeg.png.html

In den meisten Tutoriales etc, wird nur der erste PIN von ENA und ENB verkabelt... Das hat bei mir leider nicht funktioniert, auf deinen Tipp hab ich eben dann die 2ten Pins gegen GND laufen lassen...
Bin leider nur Laie, weiß deswegen nicht, wie ichs nun verkabeln soll.. Nen Kurzschluss hab ich nicht bekommen.

Peter(TOO)
27.08.2017, 17:44
Tut mir leid, die Website hat das leider so brutal nieder-skaliert dass es schwer zu lesen ist.
Habs extern nochmal hochgeladen!.
Tipp(TM): Deshalb immer nach dem Einstellen von der Seite laden und testen. :-)


In den meisten Tutoriales etc, wird nur der erste PIN von ENA und ENB verkabelt... Das hat bei mir leider nicht funktioniert, auf deinen Tipp hab ich eben dann die 2ten Pins gegen GND laufen lassen...
Da verstehe ich nicht so ganz was du damit meinst?



Bin leider nur Laie, weiß deswegen nicht, wie ichs nun verkabeln soll.. Nen Kurzschluss hab ich nicht bekommen.
Alle haben mal als Laie angefangen, manche früher und manche erst später. Kann man aber alles Lernen.

Ein Kurzschluss bedeutet nicht immer Rauch und Feuerwerk, das ist nur im Film so. :feuer
Bei den GPIOs sieht man das aber eben nicht eindeutig an der Schaltung!
Der Pin kann als Eingang programmiert sein, dann kann man diesen problemlos mit GND oder VCC verbinden.
Wenn er als Ausgang programmiert wird, sieht die Welt anders aus.
Dann kommt es auch darauf an, welchen Pegel der Ausgang ausgeben will. Bei einer 0 kannst du problemlos mit GND verbinden, Verbindest du aber mit VCC versucht der Ausgang die Spannung gegen GND kurz zu schliessen. Bei einer 1 ist das ganze Spiel halt umgekehrt.
Die meisten heutigen µC sind da relativ gutmütig und nehmen dir das nicht gleich Übel. Der Ausgangstransistor Kann zu heiss werden und durchbrennen. In den Datenblättern steht dann meistens irgendwo, wie viele Ausgänge gleichzeitig den maximalen Strom, oder einen Kurzschluss, haben dürfen. Werden mehr als diese Anzahl Ausgänge gleichzeitig gequält wird es auf dem Chip zu heiss.

Also zu meiner Fragen:
Sind das zwei Schrittmotore oder sind es 4 DC-Motoren und du hast dich verschrieben?

Hast du das mal durchgelesen?
http://rn-wissen.de/wiki/index.php?title=Schrittmotoren

Wichtig ist, dass man Schrittmotore hochfahren muss. Bis zu einer bestimmten Schrittfrequenz kann man einfach loslegen, versucht man darüber loszulegen, reisst die Bewegung ab und es brummt nur.
Man muss also mit einer niedrigen Schrittfrequenz anfangen und dann schrittweise hochfahren.

Hast du deinen Aufbau auch schon mit langsamer Bewegung ausprobiert?So 10 Schritte pro Sekunde muss auf alle Fälle funktionieren.

MfG Peter(TOO)

Brot24
27.08.2017, 20:03
Tipp(TM): Deshalb immer nach dem Einstellen von der Seite laden und testen. :-)

Werd ich so machen!



Da verstehe ich nicht so ganz was du damit meinst?

Naja wie du ja weißt gibts ja, anders als bei IN 1,2,3,4, 2 PINS auf dem L298N bei ENA und ENB, welche normalerweise mittels JUMPERverbunden sind, falls man die Geschwindigkeit der Motoren nicht steuren will.
Es wird bei PWM beinahe immer nur der untere PIN verwendet von ENA und ENB, also hab ich nur ein Ausgangssignal jeweils auf den beiden unteren PINS bei ENA und ENB gelegt. Das hat leider überhaupt nicht funktioniert.
Deswegen hab ich dann die beiden freien PINS bei ENA und ENB mit GND auf dem Raspberry verbunden!
Glaube auf dem RaspPi kann man die GND PINS ja garnicht auf High setzen oder? Sondern nur die GPIO PINS...



Alle haben mal als Laie angefangen, manche früher und manche erst später. Kann man aber alles Lernen.

Da bin ich grade dabei, darum schätze ich deine Hilfe und Zeit hier natürlich sehr! :)


Ein Kurzschluss bedeutet nicht immer Rauch und Feuerwerk, das ist nur im Film so. :feuer
Bei den GPIOs sieht man das aber eben nicht eindeutig an der Schaltung!
Der Pin kann als Eingang programmiert sein, dann kann man diesen problemlos mit GND oder VCC verbinden.
Wenn er als Ausgang programmiert wird, sieht die Welt anders aus.
Dann kommt es auch darauf an, welchen Pegel der Ausgang ausgeben will. Bei einer 0 kannst du problemlos mit GND verbinden, Verbindest du aber mit VCC versucht der Ausgang die Spannung gegen GND kurz zu schliessen. Bei einer 1 ist das ganze Spiel halt umgekehrt.
Die meisten heutigen µC sind da relativ gutmütig und nehmen dir das nicht gleich Übel. Der Ausgangstransistor Kann zu heiss werden und durchbrennen. In den Datenblättern steht dann meistens irgendwo, wie viele Ausgänge gleichzeitig den maximalen Strom, oder einen Kurzschluss, haben dürfen. Werden mehr als diese Anzahl Ausgänge gleichzeitig gequält wird es auf dem Chip zu heiss.

Zu dem: Ja, hab schon ein RaspPi gegrillt... der CHIP hat nur noch 85 Grad oder mehr... dürfte irgend nen Murks mit den GPIO Pins gedreht haben... Darum bin ich bei meinem Zweiten auch so vorsichtig :P



Also zu meiner Fragen:
Sind das zwei Schrittmotore oder sind es 4 DC-Motoren und du hast dich verschrieben?

Hast du das mal durchgelesen?
http://rn-wissen.de/wiki/index.php?title=Schrittmotoren

Wichtig ist, dass man Schrittmotore hochfahren muss. Bis zu einer bestimmten Schrittfrequenz kann man einfach loslegen, versucht man darüber loszulegen, reisst die Bewegung ab und es brummt nur.
Man muss also mit einer niedrigen Schrittfrequenz anfangen und dann schrittweise hochfahren.

Hast du deinen Aufbau auch schon mit langsamer Bewegung ausprobiert?So 10 Schritte pro Sekunde muss auf alle Fälle funktionieren.

MfG Peter(TOO)

Es sind 100% 4 DC Motoren. Wie gesagt, mehr als ein hochfrequentes Piepen bekomme ich von dem angesteuerten Motoren nicht raus... und ich weiß nicht mehr weiter...
Wenn ich ENA und ENB nicht verbinde, funktionieren sie ja.. Sie drehen mit voller Leistung. (halt mit einem anderen Programm)

Lg

Peter(TOO)
28.08.2017, 01:50
Irgenwie bin ich jetzt verwirrt :confused:

An den Board kann man nur ZWEI DC-Motoren anschliessen!

Du hast also immer 2 Motoren parallel geschaltet?



STOP L R STOP
In1 0 1 0 1
In2 0 0 1 1

Dazu muss EnA = 1 sein.


Was bei dir jetzt Linksrum und was Rechtsrum ist, weiss ich nicht, kommt darauf an wie die Motoren angeschlossen sind.

Die beiden STOP sind etwas speziell. Dabei wird der Motor Kurzgeschlossen, der stoppt schlagartig!

Kannst du selbst mal ausprobieren. Einfach die Motorendrähte kurz direkt an die Batterie halten.Wenn du den Strom unterbrichst dreht der Motor noch eine Weile.

Dann den selben Versuch, aber die Motorendrähte nach dem wegnehmen von der Batterie kurzschliessen.

Wenn der Motor ausrollen soll, musst du Enx auf 0 setzen. Dann wird der Motor nicht kurzgeschlossen.
Das PWM-Signal solltest du an EnX anschliessen.

Brot24
28.08.2017, 07:14
Irgenwie bin ich jetzt verwirrt :confused:

An den Board kann man nur ZWEI DC-Motoren anschliessen!

Das is nichr ganz richtig. Man kann nur zwei Motoren seperat steueren, ja. Aber Strom kann man auf 4 geben! die beiden links und die beiden rechts laufen dann synchron!



Du hast also immer 2 Motoren parallel geschaltet?



STOP L R STOP
In1 0 1 0 1
In2 0 0 1 1

Dazu muss EnA = 1 sein.


Was bei dir jetzt Linksrum und was Rechtsrum ist, weiss ich nicht, kommt darauf an wie die Motoren angeschlossen sind.

Die beiden STOP sind etwas speziell. Dabei wird der Motor Kurzgeschlossen, der stoppt schlagartig!

Kannst du selbst mal ausprobieren. Einfach die Motorendrähte kurz direkt an die Batterie halten.Wenn du den Strom unterbrichst dreht der Motor noch eine Weile.

Dann den selben Versuch, aber die Motorendrähte nach dem wegnehmen von der Batterie kurzschliessen.

Wenn der Motor ausrollen soll, musst du Enx auf 0 setzen. Dann wird der Motor nicht kurzgeschlossen.
Das PWM-Signal solltest du an EnX anschliessen.

Habs ausprobiert! Motoren drehen wirklich nach ja
Hat das nicht was mit der Selbstinduktion der Spule zu tun?


Also, mein kleines Roboterauto lässt sich jetzt steuern! Bzw die Motoren drehen so wie sies sollen!
Es hat sich herrausgestellt dass in meinem Scratch Programm die PWM auf 50 eingestellt war. Nun ich dachte, das ist der prozentuelle Anteil an der Maximalleistung. Allerdings sind erst 1000 = 100% die max. Leistung. Da gehen dann ca 9-10 Volt in die Motoren, bei 50 also 5% sinds hingegen nur ~0.5 Volt.. das erklärt das Piepen der Motoren!

Ich bin dir sehr dankbar, für deine ganze Mühe und deine Zeit! Hast mir doch einiges wesentlich verständlicher gemacht :)

Lg
Brot!