Guten Tag zusammen,
ich möchte diesen Thread nutzen, um diverse Fragen zu meinem Projekt
elektrisch unterstützter Fahrradanhänger zu stellen. Ich hoffe das ist
in Ordnung in der Rubik Projekte. Dann brauche ich nicht unnötig viele
Threads aufmachen. Ich weiß, dass es schon Threads über BLDC in diesem
Forum gibt. Dort haben mich aber widersprüchliche Aussagen und
Streitgespräche immer wieder verwirrt.
Stand der Dinge: Ich habe einen BLDC-Controller gebaut und einen
Fahrradanhänger mit einem Motor und Zahnriemengetriebe ausgerüstet. Es
funktioniert prinzipiell und ich mache gerade Messungen für ein Kennfeld
Strom=f(Geschwindigkeit,PWM).
Dabei ist mir aufgefallen, dass ich das Thema PWM nicht so umgesetzt
habe, wie es eigentlich üblich ist. Leider gibt es zu unipolarer und
bipolarer PWM viele unvollständige oder widersprüchliche Darstellungen.
Deshalb möchte ich hier als erstes kurz zusammenfassen, was ich jetzt
unter bipolarer PWM für BLDC-Motoren verstehe. Dazu habe ich eine
Zustandstabelle zusammengetragen (siehe Bild):
Links die 6 Schritte der Kommutierung, rechts alle 12 Kombinationen
Kommutierungsschritt+PWM-Zustand
X,Y,Z - Signal der Hallsensoren
A,B,C - Zustand der Motorphasen
- PWM -> in der HIGH-Phase der PWM ist der High-Side Transistor
leitend, in der LOW-Phase ist der Low-Side-Transistor leitend
- ~PWM -> umgekehrt
- - -> beide Transistoren sind nicht leitend
EnaA,B,C - Enable-Signal der Halbbrückentreiber
DirA,B,C - Direction-Signal der Halbbrückentreiber
- PWM -> PWM-Signal
- ~PWM -> invertiertes PWM-Signal
- - -> egal, weil Ena nicht aktiv (rechts gelb markiert)
A,B,C-High,-Low - Zustand der 6 Transistoren
Zusammenfassung:
Zu jedem Zeitpunkt ist eine Motorphase offen, eine ist mit Batterie+
verbunden und eine mit Batterie-. In der Low-Phase der PWM wird die
Polarität umgekehrt.
Das heißt, bei 50% PWM ist die über die PWM-Phasen gemittelte Spannung
an den beiden aktiven Motorphasen gleich 50% Batteriespannung und es
fließt bei stehendem Motor kein Strom aus der Batterie. Bei 100% PWM
läuft der Motor mit maximaler Drehzahl (wenn keine mechanische Last
anliegt) bzw. mit maximaler Leistung (wenn Last anliegt). Jedes
PWM-Verhältnis zwischen 50% und 100% ist einer Leerlaufdrehzahl
zugeordnet. Ist die tatsächliche Drehzahl niedriger, wird angetrieben,
wenn sie höher ist, wird gebremst.
---------------------------------------------------------
So. Jetzt wie ich das bisher umgesetzt habe, weil ich es nicht besser
wusste:
Ich lege das PWM-Signal auf die Enable-Eingänge der aktiven
Halbbrücken-Treiber und eine 0 oder 1 auf die Direction-Eingänge (siehe
Tabelle).
In der aktiven PWM-Phase entspricht das dem oben beschriebenen.
In der inaktiven PWM-Phase wird aber nicht umgepolt, sondern alle
Transistoren sind offen (nicht leitend).
Das hat zur Folge, dass der Aus-Zustand (kein Strom bei stehendem Motor)
bei 0% PWM erreicht wird. 100% PWM entsprechen der oben beschriebenen
Lösung.
Die Abhängigkeit Strom=f(PWM) ist stark nicht-linear (erst flach, dann
steil) und von der Geschwindigkeit abhängig (niedrige Geschwindigkeit
verschiebt die Kurve nach links: mehr Strom bei gleichem PWM).
---------------------------------------------------------
Ich möchte nochmal mindestes eine neue Revision meiner Platine
erstellen. Jetzt frage ich mich, ob ich direkt auf die "richtige" Lösung
umstelle. Dann muss ich die HW und die SW ändern und die Messungen
wiederholen. Deshalb sollte das konkrete Vorteile für mich haben.
Deshalb meine Fragen:
Frage 1: Hat meine aktuelle Lösung außer der geänderten Kennlinie
prinzipiell Probleme wie z.B. dass irgendwo sinnlos Energie verbraten
wird, dass manche Bauteile unnötig belastet werden etc. ?
Frage 2: Die oben beschriebene bipolare PWM kann im Gegensatz zu meiner
Lösung bremsen. Wenn ich damit bremse indem ich das PWM-Verhältnis
absenke, wird dann automatisch Energie in die Batterie zurückgespeist
oder muss dazu der Winkel der Kommutierung verändert werden ? In anderen
Threads gibt es leider widersprüchliche Aussagen dazu.
Frage 3: Welche Wirkung haben PWM-Verhältnisse zwischen 0% und 50% ?
Dreht der Motor dann rückwärts oder müsste man dazu auch den
Kommutierungswinkel ändern ?
Frage 4: Verständnisfrage: Die beiden aktiven Motorphasen werden bei der
bipolaren PWM regelmäßig umgepolt. Dabei wird aber nicht zwischendurch
gebremst oder Energie unnötig in Wärme umgewandelt, richtig ? Ich stelle
mir das so vor, dass ein Teil der Energie zwischen der Motorwicklung und
dem Kondensator hin- und her-pendelt und (Wirkungsgrad <1 mal ignoriert)
nur der Teil, der in mechanische Energie umgewandelt wird, wird
kontinuierlich aus der Batterie entnommen. Ist diese Vorstellung richtig
?
Frage 5: Falls mein bisheriges Verständnis richtig ist, muss man für
einen Leerlauf wo weder angetrieben noch gebremst werden soll, das
PWM-Verhältnis auf den korrekten Wert f(Drehzahl) stellen oder regeln,
sodass der Strom Null wird. Ist es für solche Zwecke üblich, einen
speziellen Leerlaufmodus (z.B. alle Transistoren offen) zu verwenden ?
Sven G. schrieb: > Bei 100% PWM läuft der Motor mit maximaler Drehzahl (wenn keine > mechanische Last anliegt) bzw. mit maximaler Leistung (wenn Last > anliegt). Jedes PWM-Verhältnis zwischen 50% und 100% ist einer > Leerlaufdrehzahl zugeordnet. Ist die tatsächliche Drehzahl niedriger, > wird angetrieben, wenn sie höher ist, wird gebremst Hmm, bevor wir zur PWM kommen: Drehzahl und ob bremsen oder antreiben hängt beim BLDC nicht von der Spannung oder dem Unterschied zwischen Ansteuerdrehzahl und Antriebsdrehzahl ab, sondern deine Hallsensoren geben vor, wie kommutiert werden muss. Und willst du vorwärts, muss deine Kommutierung etwas (manche sagen 30 Grad) vorher erfolgen, willst du rückwärts (oder bremsen) muss sie etwas später erfolgen Und WIE dieser Phasenversatz erreicht wird, mit dem die Hallsensoren deine Kommutierung steuern, ob durch relativ zu den Magnetpolen verdrehten Hallsensoren oder zeitliche Interpolation der Steuerung, ist (uns) unbekannt.
Wenn man vernünftige Antworten will, dann hilft wohl nur eins: Aufbauen, Ausprobieren, Messen. Für den Fall, das hier künftige Bastler mit ähnlichen Ambitionen vorbei kommen, veröffentliche ich meine Ergebnisse. Die konkreten Zahlen sind vielleicht nicht sonderlich hilfreich. Aber die Diagramme zeigen prinzipielle Zusammenhänge, die man evtl. wissen möchte. Außerdem hilft mir die Aufbereitung für die Veröffentlichung selbst, es vernünftig zu dokumentieren. Versuchsaufbau: - eine BLDC-Controller-Schaltung, die das oben als "bipolare PWM" beschriebene Kommutierungsschema realisiert - brushless sensored motor, wie er für Skateboards etc. angeboten wird: KV=270 prm/V, 42 Komm.schritte/Umdrehung, 0,064 Ohm, P-Max.1820W - 4s-LiPo-Akku (16,8V Leerlaufspannung wenn voll) - Zahnriemengetriebe und 20''-Rad an einem Fahrradanhänger - Leerlaufmessungen mit Getriebe und Rad ohne Bodenkontakt mit 2 Ladezuständen der Batterie Die Geschwindigkeit in km/h mag für einen Elektromotor eine seltsame Einheit sein, aber für meine Zwecke passt das so. Steckt halt Getriebeübersetzung und Raddurchmesser schon drin. Bild1: Strom, Spannung, Geschwindigkeit, Leistung über PWM duty cycle bei voller Batterie Bild2: das gleiche bei fast leerer Batterie Bild3: Wenn der Wirkungsgrad bei voller und leerer Batterie gleich ist, sollte die Kurve Leistung über Geschwindigkeit für beide Ladezustände ungefähr gleich sein. Passt für mittlere und höhere Geschwindigkeiten ganz gut. Bild4: Für den realen Einsatz am Fahrrad möchte ich als Basis-PWM-Wert den Leerlaufwert passend zur aktuellen Geschwindigkeit nehmen und einen Offset je nach gewünschter Unterstützung addieren. Der Basiswert ergibt sich aus der folgenden Darstellung und ist erfreulich linear von der Geschwindigkeit abhängig. Für den Offset will ich im Realbetrieb ein Kennfeld I=f(PWM,v) (U erstmal konstant) vermessen. Das wird eine Weile dauern. Wenn alles gut geht, melde ich mich mit den Ergebnissen. Überlegung zur Auslegung: Die max. Geschwindigkeit mag sehr hoch erscheinen. Man muss allerdings berücksichtigen, dass der Motor bei der max. Leerlaufdrehzahl kein praktisch nutzbares Drehmoment mehr abgibt. Trotzdem überlege ich, für die endgültige Version einen Motor mit kV=170rpm/V statt 270 zu kaufen. Eine kürzere Getriebeauslegung mit einer Stufe ist aus Platzgründen nicht möglich und eine 2.Stufe möchte ich nicht benutzen. Ist schon so alles komplex genug. Aber vor dem Neukauf erstmal weiter Testen....
Wie gesagt, gibt es ja unterschiedliche Darstellungen über die Details bei der Kommutierung im Netz. Nenne meinen ersten Ansatz hier "naiv", bin mir nicht ganz sicher, ob das einer unipolaren PWM entspricht. Bei den Messungen mit der bipolaren PWM ist mir aufgefallen, dass der Motor deutlich lauter war als mit der "naiven" Kommutierung. Die bipolare polt ja die Phasen synchron zum PWM um, während die naive K. die Transistoren bei PWM=low komplett öffnet. Damit bremst die bipolare, wenn die Geschwindigkeit zu hoch ist, während die naive einfach laufen lässt. Daher nehme ich an, dass Geschwindigkeitsschwingungen von der pipolaren agressiver beantwortet werden, während die naive entspannter ist. Daher die das laute Surren. Ich habe also das Board mit der naiven K. nochmal vermessen (siehe Bild). Man sieht, es dreht sich ab ca. 1/3 PWM duty cycle und die Geschwindigkeit steigt dann auch wieder gut linear. Der Punkt 100% duty cycle muss identisch zur bipolaren PWM sein, da sich da beide gleich verhalten und er ist es in den Messungen auch. Jetzt ein Wirkungsgradvergleich: Ich kann den Wirkungsgrad nicht direkt messen, aber gleicher Wirkungsgrad heißt gleiche Leistung bei gleicher Geschwindigkeit. Es zeigt sich, dass bei der bipolaren PWM schon am Stand ein Strom fließt, während er bei der naiven vernachlässigbar ist. Bei höchsten Drehzahlen überholt die naive. Das Board mit der naiven Kommutierung hat keine Hardwarefilter für Strom- und Spannungsmessung, daher ist die Kurve zappelig. Im oberen Bereich gab es Fehler beim Auswerten der Hall-Sensoren, daher die großen Zacken oben. Fazit: Die naive K. ist wirkungsgradtechnisch nicht schlechter als die Bipolare. Zudem stellt die bipolare einen Stromregler vor ein Problem: Die Abhängigkeit Strom=f(PWM) ist nicht linear, sondern hat ein Miminum, wenn das PWM duty cycle zur aktuellen Drehzahl passt, darunter bremst der Motor und der Strom steigt wieder. Also möchte ich aktuell Ansatz 1 weiter verfolgen. PS: Mir ist gerade aufgefallen, die rechte Achse ist ungünstig skaliert, beginnt bei -2.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.






