PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gibt es die optimale PWM-Frequenz für kleine E-Motore



oberallgeier
20.01.2008, 18:59
Hallo Alle,

in einem getrennten Thread (https://www.roboternetz.de/phpBB2/viewtopic.php?t=37392) bin ich über die Tatsache gestolpert, dass ich keine Ahnung habe, wo ungefähr die optimale Frequenz der PWM zum Ansteuern von kleinen Motoren ist.

Motor: Minimotor aus einem Servo - Duchm 6 mm, Länge ohne Achse 12mm, max 6 V, Stromaufnahme im Leerlauf 2,7 V 20 mA / 6V 27 mA, max 700 ... 800 Hz Leerlaufdrehzahl.
Istzustand: PWM + L293D - PWM-Frequenz 39 kHz (20 MHz, Prescaler 1, PWM Phase Correct, 8-bit).

Es ist stark anzuzweifeln, dass dies das Optimum ist. Da ich bei Elektromotoren froh bin, dass ich sie überhaupt ans Laufen bekomme - habe ich nicht mal ne Idee, wie ein solches Optimum aussieht - und warum. In den Threads habe ich nichts gefunden, und das Wiki (PWM, Getriebemotoren) ist da nicht sehr aussagekräftig. Im genannen Thread gabs ne Schätzung "... denke mal mit 1-10kHz liegt man auf jeden Fall im richtigen Bereich ...".

Bitte kann jemand dazu Auskunft geben oder Stellung nehmen?

Danke

MichaelM
20.01.2008, 21:06
Hallo,
einfache Antwort die für jeden Motor von 1mW bis 100MW immer passt: möglichst hoch. Je höher die Frequenz ist umso geringer ist der Stromrippel und der Motor bleibt kälter. Über 20kHz ist natürlich aauch vorteilhaft weil man dann das gepiepse nicht hört. Je höher die Pulsfrequenz ist umso größer werden jedoch die Umschltverluste und die EMV-Abstrahlung. Ganz grob gesagt ist die Frequenz im wesentlichen von der Induktivität und der Betriebsspannung abhängig. Wenn man messen möchte muss man den Strom oszillographieren. Den Motor betreibt man dazu bei kleiner Last und niedriger Drehzahl an der höchsten zu erwartenden Betriebsspannung. Der Stromrippel sollte nicht über etwa 10% betragen (alles grobe Hausnummern). Unter die genannten 39kHz dürfte man denke ich nicht gehen. Für einen Motor der Klasse 540 braucht man schließlich auch schon fast 20kHz.
Gruß,
Michael

avion23
20.01.2008, 21:12
hi oberallgeier,
je größer der motor, destso geringer die Frequenz.

Es ist günstig, den Motor im nicht lückenden betrieb zu betreiben, d.h. der Stromfluss durch die Motorwicklungen darf nicht Null werden. Dafür musst du dir die Induktivität des Motors ansehen, und auch den Sättigungsstrom. Hängt natürlich von Modell zu Modell ab, aber je mehr Eisen magnetisiert werden kann, destso größer ist auch die INduktivität.

Größere Motoren haben auch eine mechanische Trägheit. Auch die SChalterverluste beim umschalten sind wegen den größeren Strömen höher.

Also: Ich habe nur gelesen, nichts selber nachgeprüft. Anscheinend wird das mehr oder weniger experimentell überprüft, praktisch rechnet das niemand.

oberallgeier
20.01.2008, 21:31
Hallo MichaelM, hallo avion23,

danke für die Ausführungen. Es ist ja schon eine positive Auskunft, die ich herauslese, und genauer gehts nicht - das hört man(ich) gelegentlich auch ganz gern. Beruhigend zu wissen, dass ich nix falsch gemacht habe. Ok, die Schaltverluste - kann ich bei den kleinen Leistungen hinnehmen - blos - Verluste heissen ja immer Wärme :(.

Danke jedenfalls.

Manf
21.01.2008, 00:39
Ein Bisschen konkreter geht es schon. Die Motorwicklung hat eine Induktivitaet und einen Widerstand. Die bilden zusammen eine Zeitkonstante L/R mit der sich der Strom aendert.
Haeufig liegt die Zeitkonstante von Kleinmotoren bei einigen ms und eine PWM Frequenz von 2kHz ist ausreichend den Rippel klein zu halten und Luecken auszuschliessen.
Speziell Motoren mit eisenlosem Anker oder sehr kleine Motoren haben kleinere Induktivitaeten und die PWM Frequenz sollte dann auch ueber 10kHz liegen.
Es laesst sich aber mit der Zeitkonstanten L/R angeben.

oberallgeier
21.01.2008, 09:17
Ein Bisschen konkreter ... mit der Zeitkonstanten L/R ...Ahhhhhh - schön. Und ich hatte mir schon Gedanken/Sorgen gemacht, wie man in den letzten Jahr(zehnt)en beispielsweise die FU´s ausgelegt hat :) (ich weiss schon, Aufgabe und Lösung sind dabei anders, aber die Blech-Zitter-Frequenz scheint mir da nicht das einzige Kriterium zu sein).

MichaelM
21.01.2008, 15:13
Hallo,
bei den Aussagen von Manf fehlt aber noch einiges, aber mal von vorne: Von der Betriebsspannung muss man die EMK des Motors abziehen (deswegen den Stromrippel bei kleiner Drehzahl messen). Bei diesen kleinen Motoren hat auch der Spannungsabfall am Wicklungswiderstand einen Einfluss, also auch diesen abziehen (deswegen bei kleiner Last den Rippel messen). Das was übrig bleibt ist die Spannung an der Induktivität des Motors. Wenn jetzt der Transistor einschaltet liegt genau diese Spannung an der Induktivität und der Strom erhöht sich nach

dI = Ub*t/L.

Irgendwann schaltet man den Transistor wieder aus. Von nun an fließt der Strom über die (hoffentlich vorhandene) Freilaufdiode weiter. Jetzt gibt es zwei Möglichkeiten: Die Diode liegt parallel zum Motor oder sie liegt parallel zum Transistor. Für den ersten Fall Muss die Induktivität eine Selbstinduktionsspannung in Höhe von

Diodenflussspannung + EMK + Spannungsabfall an der Wicklung

aufbringen. Der Strom verringert sich also nach

dI = (Ud+EMK+Ur)*t/L

bis der Transistor wieder eingeschalten wird. Für den zweiten Fall (Diode parallel zum Transistor) wird in diesem Fall die Battterie (oder Elko) geladen. Deshalb muss in die obige Formel (in die Klammer) noch die Betriebsspannung eingetragen werden. Eine Frequenz von nur 2kHz ist für die meisten Motoren unter 2kW unbrauchbar. Einen Scheibenwischer kann man erst ab etwa 5kHz vernünftig betreiben, besser 10kHz. Wenn die Frequenz zu niedrig ist (z. B. bei einem 540er 800Hz) lückt der Strom und die Stromspitzen steigen auch sehr weit an. Früher gab es mal Drehzahlsteller mit 50Hz. Diese Dinger können bei heißem Motor sogar die Magnete abmagnetisieren und ganz nebenbei hat man sich gewundert warum der 20A-Transistor immer schon bei gemittelt 4A durchbrennt... (es fließt nämlich fast der Anlaufstrom des Motors).

Ich hoffe ich konnte weiterhelfen.

Gruß,
Michael

sigo
25.01.2008, 19:59
Hallo Oberarlgeier,

du schreibst, dass du den L293 als Endstufe bei 39kHz PWM-Frequenz verwendest. Der L293 ist aber nicht gerade der schnellste und laut Datenblatt sollte die PWM-Frequenz nicht wesentlich über 5kHz liegen. Ich denke, dass sonst die Schaltverluste zu hoch werden. Die 5kHz wären wahrscheinlich für den kleinen Motor auch ausreichend, wenngleich 15-20kHz sicher besser wären.

Versuche doch mal 5kHz PWM-Frequenz.
Frü größere PWM-Frequenzen wären Treiber wie der L6202 o.ä. besser. Diese arbeiten mit MOSFETs und können PWM-Frequenzen bis 100kHz vertragen..

Sigo

oberallgeier
25.01.2008, 21:05
Hallo sigo,

noch alles Gute im Neuen Jahr (lang nix mehr gehört von Dir).


... L293 als Endstufe bei 39kHz PWM-Frequenz verwendest. ...Ich habe die rncontrol.h verwendet, als ich meine RNControl 1.4 in Betrieb nahm. Dort hatte früher ja mal der 7,xx MHz Quarz gesteckt, und im code ist deshalb noch von 14 MHz die Rede :

/*### PWM-Routinen zur Motoransteuerung ###*/

void init_timer1(void) //Initialisierung des Timers für Erzeugung des PWM-Signals
{
/* normale 8-bit PWM aktivieren (nicht invertiert),
Das Bit WGM10 wird im Datenblatt auch als PWM10 bezeichnet */
TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10);

/* Einstellen der PWM-Frequenz auf 14 kHz ( Prescaler = 1 ) */
TCCR1B = (1<<CS10);

/* Interrupts für Timer1 deaktivieren
Achtung : Auch die Interrupts für die anderen Timer stehen in diesem Register */
TIMSK &= ~0x3c;
} . . . mittlerweile wird die RNControl mit dem 16 MHz Quarz ausgeliefert, und da sind das schon 32 kHz. Und ich habe meinem m168 den 20 MHz-Takt vorgegeben.

Vielen Dank für Deinen Hinweis, ich werde mich daran machen und den Takt runternehmen - eben den Vorteiler raufsetzen - scheint dann von Vorteil zu sein. Du hast ja dankenswerter Weise gleich nach-/vorgerechnet, dass ich mit dem 8er Vorteiler auf die 5 MHz (4,88..) komme. Der nächste Vorteiler macht wohl wenig Sinn - da komme ich auf 600 Hz. Der Motor macht maximal rund 750 Hz - und ich weiss nicht, was sich tut, wenn dann mal Drehzahl und PWM in Resonanz sind ? ? ?

Danke sigo, danke Allen für die Beiträge und schönen Abend

sigo
25.01.2008, 22:42
Danke Joe, dir auch ein tolles 2008!

Ich war in den letzten Tagen/Wochen auch mit Motorendstufen beschäftigt, die ich auch mit 32kHZ PWM-Frequenz @ 16MHZ Qzuarzfrequenz an einem ATtiny2313 betreibe; siehe hier:

https://www.roboternetz.de/phpBB2/viewtopic.php?p=346255#346255
(ggf. weiter oben anfangen zu lesen)

Ich verwende den L6205 (2 Vollbrücken zu je 2,8A, die man in dieser Anwendung per Jumper parallelschalten kann) und als Motoren MAXON REmax 24mm mit 11W Nennleistung @ 12V.

Die Maxonmotoren brauchen wegen der eisenlosen Wicklung eine recht hohe PWM-Frequenz und außerdem hat es Vorteile, wenn die PWM-Frequenz außerhalb des Hörbereichs liegt - besonders für die Ohren..

Gruß Sigo

PS: Du kannst die PWM-freuquenz auch halbieren bzw vierteln indem du die PWM auf 9 oder 10 Bit einstellst. Du musst dann nur die Register des AVR entsprechend füttern...siehe Datenblatt..

Falls du eine Endstufe, wie den L6202 mit Bootstrap- Kondensatoren benutzt, musst du beachten, dass die PWM nie 100% wird. Hier wäre z.B. ein max. PWM-Wert von ca. 240/255 sinnvoll.

Besserwessi
02.02.2008, 22:38
Wenn die Motorinduktivität zu klein ist, kann man auch eine kleine extra Induktivität in Reihe schalten um die PWM Frequenz niedrig (bei ca. 20 kHz) zu halten. Bei Motoren mit Eisen gibt es bei hohen Frequenzen mehr Wirbelstromverluste und die extra Induktivität hält die ganz hohen Frequenzen vom Motor fern.

MichaelM
03.02.2008, 16:30
Hallo,
eine Induktivität in Reihe zu schalten ist zwar möglich aber bei den kleinen Motoren eher "unüblich". Die Verluste im Eisen steigen nicht durch die höhere PWM-Frequenz (der Stromrippel wird ja kleiner) sondern nur bei höherer Drehzahl (höhere Drehfrequenz). Eine höhere PWM-Frequenz bringt bei jedem Motor immer eine niedrigere Erwärmung mit sich. Die zusätzliche Induktivität würde zwar auch helfen den Stromrippel klein zu halten, Miniaturinduktivitäten haben aber auch einen erheblichen ohmschen Widerstand. Hier bleibt zwar dann der Motor kalt aber dafür heizt die Drossel.
Gruß,
Michael

Sebastian_F
28.02.2008, 13:28
Hallo zusammen,


ich hab hier grad eure Kommentare gelesen und glaube bei euch an der Richtigen Adresse zu sein.

Ich möchte an einem Motor Winkelabhängig ein Moment erzeugen.

z.B alle 3,6° ein Moment von 10Ncm dazwischen kann der Verlauf beliebig sein. z.B Sinus förmig.
Die Positionserfassung ist kein Problem.
Mein ausgewählter Motor bringt das gewünschte Moment bei 3A 24V.
Nun möchte ich den Motor über eine PWM ansteuern.
Wie lege ich die PWM Frequenz aus. Mein Stromrippel soll unter 1% liegen.

Kannst du mir da weiterhelfen?

Brauchst du noch daten hierfür?
mech. Zeitkonstante 5,4ms
L= 550µH
R= 5,4Ohm
max Drehzahl 1200U/min

Vielen Dank

Grüsse
Sebastian

Brantiko
28.02.2008, 23:15
Moin,
Motoren in der Baugröße betreibe ich mit ca. 120Hz.
Damit habe ich die besten Erfahrungen gemacht, gerade im unteren Drehzahlberech. Damit der Motor nicht zu sehr Vibriert empfiehlt sich ein Kondensator parallel zum Motor.

Gruss

Alex

Besserwessi
28.02.2008, 23:56
Einen Kondensator paralell zum Motor sollte man nur mit extra Induktivität in Reihe, sonst fließt beim Einschalten der Brücke eine sehr großer Strom der nur zum erwärmen der Brücke beiträgt.
Für 1% Strom-rippel muß die Frequenz deutlich größer werden. Die Ausphase sollte höchstens 1% der Zeitkonstante sein, also ungefähr 50us ms. Man wird also eine PWM Frequenz von mindestens 20 kHz nehmen müssen. Da wäre man dann auch schon über ger Höhrgrenze. Bei so hohen Frequenzen wird man aber kaum einen so kleinen Rippel brauchen, denn die Trägheit des Motors dämpft zusätzlich.

Brantiko
29.02.2008, 13:43
Wo nach wird eigentlich gesucht? Nach dem max. Wirkungsgrad oder nach der besten Regelbarkeit?

Gruss

Alex

harry3
05.04.2008, 19:40
Welchen Vorteil bringt es eigentlich dass man versucht keinen lückenden Strom zu haben? Mechanisch gesehen ist es ja egal weil ein Motor viel zu träge ist.

avion23
05.04.2008, 19:52
P = I² * R
D.h. wenn man lückenden Stromfluß hat, muss der Strom in der On-Phase stärker werden, damit er in der Off-Phase aus sein kann. Damit ist die übertragene Leistung gleich (Gedanklich Integral über den Kurvenverlauf bilden).
Da die ohmschen Verluste aber im Quadrat mit dem Strom steigen, steigen auch die Verluste quadratisch ---> extrem viel unnütz verplemperte Leistung. Diese fällt ab
- am Schalter (mosfet, normaler transistor)
- motorwicklungen (wärmeabgabe des motors ist meistens leistungsbeschränkend)

Es ist also wirklich nicht wünschenswert. Dazu kommt noch die Sättigung des Kernmaterials/Spule, so dass nur noch der ohmsche Widerstand wirkt und der Strom extrem ansteigt.


Alles nur meine Meinung / Vorstellung, also wer eine bessere Version hat, immer her damit.

Manf
05.04.2008, 20:31
Ja, so ist es, das mittlere Moment ist proportional dem Mittelwert des Stoms, die mittlere Leistung ist proportional dem Mittelwert des Stroms zum Quadrat.
Ein gleichmäßiger Strom erbringt damit Moment bei minimaler Leistung.

harry3
05.04.2008, 20:47
OK das hört sich verständlich an.

Bleibt noch eine Frage: Es müsste doch immer ein Strom durch den Motor fließen solange sich dieser dreht, da er quasi als Generator arbeitet in der Off Phase. Somit dürfte der Strom eigentlich nie lecken!?

Manf
06.04.2008, 11:09
(Betrachtest Du dabei auch die Stromrichtung?)

Es geht doch um einen annähernd gleichmäßigen Strom und nicht um die Vermeidung irgendeinen Nullpunktes. Es wäre für die Betrachtung eher interessant, sich die Leistungsaufnahme bei geichem mittleren Moment in Abhängigkeit von der Stromänderung anzusehen.

harry3
06.04.2008, 12:34
Achso, es geht um die Gleichmäßigkeit und nicht um einen evtl. Nullpunkt - jetzt ist alles klar!
Danke für Eure Hilfe!

oberallgeier
07.10.2009, 11:55
Hier wurde mehrfach nach dem Optimierungsziel der optimalen P WM-Frequenz gefragt.

Bei meinen Bemühungen über gute Regelbarkeit von Kleinstmotoren (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=463986&sid=b729b62988e74f9457ed2ea3557636f2#463986) mittels P WM bin ich darüber gestolpert, dass die P WM-Frequenz auf die Regelgüte einen Einfluss haben kann. Bei größerer Zyklusdauer = P WM-Zyklen von einigen Millisekunden und länger - kann die Übernahme des Stellwertes so lange dauern, dass die Regelung erheblich verschlechtert wird. P WM-Steuerwerte ähnlich OCRnx werden häufig am BOTTOM oder am TOP des zugehörigen Zählers übernommen. Langsame P WM-Frequenz bedeutet hier also eine Verzögerung, deren Dauer aber nicht konstant und daher nicht absehbar ist. Nicht absehbar, weil die P WM-Frequenz typischerweise nicht die gleiche ist wie die Regelungsfrequenz, sodass die Werteübernahme durch die P WM "irgendwann" nach der Übergabe erfolgt.