Forum: Mikrocontroller und Digitale Elektronik Arduino / H Brücke L298N / 24V dc Motor brummt


von Joe H. (biomechanik)



Lesenswert?

Guten Morgen liebes Forum :)
Ich bräuchte Hilfe bei der Ansteuerung eines 24V Dc Motors welcher via 
Arduino Uno & H-Brücke angesteuert wird.
Der Motor soll kurz nach links & anschließend kurz nach rechts drehen um 
ein Pendel zu bewegen.
Das ganze soll ein Kunstprojekt sein bzw werden.
Das Problem welches ich habe ist folgendes:
Wenn ich den Motor per pwm langsamer drehen lasse (Foto im Anhang Zeile 
23 zB den Wert auf 220 Stelle) fängt der Motor an zu brummen. Je tiefer 
der Wert, desto lauter das Brummen.
Kann mir bitte jemand verraten wo das Brummen her kommt & wie ich dies 
unterbinden kann?

Vielen Dank im Voraus.

Gruss Joe :)

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Joe H. schrieb:
> Foto im Anhang Zeile 23 zB den Wert auf 220 Stelle
Quellcode als Screenshot. Ganz praktisch. Kann man leicht drin 
editieren...

Joe H. schrieb:
> Kann mir bitte jemand verraten wo das Brummen her kommt & wie ich dies
> unterbinden kann?
Zeig mal einen Schaltplan, wo man sieht, was da wie verdrahtet ist. 
Schreib rein, was das für ein Netzteil ist und welche Komponenten du 
verwendest. Was zeigen diese Messgeräte in den Fotos an? wo sind sie 
angeschlossen? Hast du ein Oszilloskop, um zu sehen, wie das 
Ansteuersignal aussieht?

von Sebastian R. (sebastian_r569)


Lesenswert?

Joe H. schrieb:
> Kann mir bitte jemand verraten wo das Brummen her kommt & wie ich dies
> unterbinden kann?

Nunja. Dein Motor braucht einen Mindestwert, um (besonders unter Last) 
loszulaufen und die notwendige Losbrechkraft zu haben.

Ohne genug Kraft "rattert" der Motor auf der Stelle und da die Spulen im 
Motor mit der PWM-Frequenz gegen das Magnetfeld ankämpfen, aber keine 
Drehbewegung zustande kommt, brummt der Bums.

Bei niedrigeren PWM-Frequenzen hat der Motor meist eine bessere Chance, 
loszulaufen als bei höheren Frequenzen.


Insgesamt bin ich mir aber eh nicht sicher, ob dein Motor für die 
Vorhaben geeignet ist. Dank Schneckgetriebe (wenn ich das richtig sehe) 
wird der Motor zwar nicht vom Pendel angetrieben, aber schnelle und 
abrupte Richtungswechsel führen meist zu hohen Induktionsspannungen und 
damit zu zerstörten Motorsteuerungen.


Ich erinnere mich an ein Projekt, bei dem ich ein Schiffsschott (große 
Schiebetür mit Kettenantrieb) langsam und kontrolliert auf/zu fahren 
sollte, auch wenn sich das Schiff neigt und die Tür von allein zufallen 
will oder gegen eine Steigung ankämpfen muss.

Da sind bei mir auch einige H-Brücken bei drauf gegangen, bis die 
Regelung tat, was sie sollte.

von Werner (Gast)


Lesenswert?

Eine PWM von 490 Hz liegt natürlich auch deutlich im hörbaren Bereich.



Board             PWM Pins            PWM Frequency
Uno, Nano, Mini   3, 5, 6, 9, 10, 11     490 Hz (pins 5 and 6: 980 Hz)


Der ATmega328 kann aber auch deutlich mehr PWM Frequenz. Dazu müsstest 
Du dann aber die Arduino klickibunti Welt verlassen.

Mann kann -soweit ich weiß- aber selbstverständlich auch ganz normal auf 
die Register der Counter zugreifen. Selbst unter der Arduino IDE. Daher 
könntest Du Dir z.b. den Counter 1 ooder 2 schnappen und dort eine PWM 
in Hardware erzeugen, die du dann auf einen der Compare/Match Ausgänge 
(entsprechend konfiguriert) ausgibst.

Werner

von Michael M. (Gast)


Lesenswert?

1
//----- PWM frequency for D5 & D6 -----
2
//Timer0 divisor = 1, 8, 64, 256, 1024
3
//TCCR0B = TCCR0B & B11111000 | B00000001;    // 62.5KHz
4
//TCCR0B = TCCR0B & B11111000 | B00000010;    // 7.8KHz
5
  TCCR0B = TCCR0B & B11111000 | B00000011;    // 976Hz (default)
6
//TCCR0B = TCCR0B & B11111000 | B00000100;    // 244Hz
7
//TCCR0B = TCCR0B & B11111000 | B00000101;    // 61Hz
8
 
9
//----- PWM frequency for D9 & D10 -----
10
//Timer1 divisor = 2, 16, 128, 512, 2048
11
//TCCR1B = TCCR1B & B11111000 | B00000001;    // 31KHz
12
//TCCR1B = TCCR1B & B11111000 | B00000010;    // 3.9KHz
13
  TCCR1B = TCCR1B & B11111000 | B00000011;    // 490Hz (default)
14
//TCCR1B = TCCR1B & B11111000 | B00000100;    // 122.5Hz
15
//TCCR1B = TCCR1B & B11111000 | B00000101;    // 30.6Hz
16
 
17
//----- PWM frequency for D3 & D11 -----
18
//Timer2 divisor = 2, 16, 64, 128, 512, 2048
19
//TCCR2B = TCCR2B & B11111000 | B00000001;    // 31KHz
20
//TCCR2B = TCCR2B & B11111000 | B00000010;    // 3.9KHz
21
//TCCR2B = TCCR2B & B11111000 | B00000011;    // 980Hz
22
  TCCR2B = TCCR2B & B11111000 | B00000100;    // 490Hz (default)
23
//TCCR2B = TCCR2B & B11111000 | B00000101;    // 245Hz
24
//TCCR2B = TCCR2B & B11111000 | B00000110;    // 122.5Hz
25
//TCCR2B = TCCR2B & B11111000 | B00000111;    // 30.6Hz

: Bearbeitet durch Moderator
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Werner schrieb:
> Eine PWM von 490 Hz liegt natürlich auch deutlich im hörbaren Bereich.
Aber 490Hz werden von deutlich mehr als 99,9% der Menschen nicht als 
"Rattern" wahrgenommen.

Sebastian R. schrieb:
> Dank Schneckgetriebe (wenn ich das richtig sehe) wird der Motor zwar
> nicht vom Pendel angetrieben, aber schnelle und abrupte Richtungswechsel
> führen meist zu hohen Induktionsspannungen und damit zu zerstörten
> Motorsteuerungen.
Wenn man den Motor richtig ansteuert, dann ist das kein Problem. Und wie 
richtig bemerkt: der Motor kann dank des blockierenden Getriebes nicht 
generatorisch wirksam werden.

von m.n. (Gast)


Lesenswert?

Sebastian R. schrieb:
> Ohne genug Kraft "rattert" der Motor auf der Stelle und da die Spulen im
> Motor mit der PWM-Frequenz gegen das Magnetfeld ankämpfen, aber keine
> Drehbewegung zustande kommt, brummt der Bums.

Dein "Narrativ" solltest Du genauer erklären.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Man könnte die PWM ja mal weglassen, die L298 Brücke ganz ohne Andruiden 
einfach mal mit fester Verdrahtung (Umschalter für definierte Pegel) 
ansteuern und schauen, ob dann immer noch der Bums brummt.

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

Vermutlich hat dieser Motor interne Entstörkondensatoren. Die sind 
kontraproduktiv, wenn man das Ding mit höherfrequenter PWM betreiben 
will. Den Fall hatten wir hier schon mehrfach. Lösung. Die PWM-Frequenz 
DEUTLICH senken, so in Richtung 50-100Hz.

Es kann natürlich auch sein, daß der OP den Motor bzw. die Steuersignale 
falsch angeschlossen hat und das Ding anstatt mit PWM in eine 
Richtung ständig mit 490 Hz vor und zurück laufen läßt ;-)

Ein Schaltplan wäre nicht verkehrt. Bezüglich der Bilder und des 
"Quelltextes", siehe Netiquette.

: Bearbeitet durch User
von Udo S. (urschmitt)


Lesenswert?

Joe H. schrieb:
> Der Motor soll kurz nach links & anschließend kurz nach rechts drehen um
> ein Pendel zu bewegen.

Ein Pendel lebt eigentlich davon dass es frei pendelt und man nur die 
Reibungsverluste ausgleichen muss.
Wie da ein recht großer Getriebemotor ins Spiel kommt ist mir nicht ganz 
klar.

Als Anregung:
Man könnte mit einer kleinen Spiralfeder und einem Servo dem Pendel 
synchronisiert regelmäßig einen Schubs geben um die Pendelbewegung zu 
erhalten.

Ähnlich kann man das auch mit einem Elektromagnet machen falls das 
Pendelgewicht magnetisch ist.
Hier z.B. schon mal behandelt:
Beitrag "Unendliches Pendel mit 2 Spulen & Transistor"

Wenn der Motor verwendet wird muss man auch prüfen ob er in beide 
Richtungen betrieben werden darf. Da er ein Schneckengetriebe hat kann 
es sein, dass das Getriebe nur in eine Richtung belastet werden 
kann/soll.

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.