Hi! Ich habe ein paar Fragen bzgl. Der Ansteuerung von BLDC Motoren mit/ohne Hallsensoren. Ich bin kein Profi der Elektrotechnik, es sind nur (evtl. erweiterte) Grundkenntnisse vorhanden. Studiere etwas, das mit der Elektrotechnik nicht so viel zu tun hat, ist eher ein Hobby. Wie genau komme ich auf meine "Stellgrößen", die ich zur Ansteuerung benötige? Ich habe ja in meinem Controller u.a. folgende Daten: - aktuelle Position des Rotors (von den Hallsensoren, bzw. durch "Back EMF Sensing. Anderes Thema...") - aktuelle Drehzahl - "Gasstellung" (externes Signal, etc.) Woher weiss ich jetzt, welches Feld an welche Spule? Sind folgende Annahmen korrekt? Dazu brauche ich ja: - Lage des "Feldvektors". Kann ich da einfach die aktuelle Position nehmen und in Drehrichtung 90° draufschlagen? Meine mich zu erinnern, dass 90° ideal für eine maximale Leistungsentfaltung ist. Macht ja auch Sinn... Oder lieber ein bisschen weniger als 90°? Nicht dass der Motor ausrastet? - Länge des Feldvektors. Entspricht dieser meiner aktuellen Gasstellung? So stelle ich mir das zumindest vor. Nun kann ich ja über die Trigonometrie mit dem Vektor schonmal bestimmen, ob die jeweilige Phase ein positive oder negatives Signal braucht, damit kann ich dann entscheiden, welchen Teil der halben H-Brücke (heisst das so?) ich ansteuern muss. Woher weiss ich jetzt, welchen PWM DutyCycle ich für die jeweilige Phase einstellen muss? Dieser hängt ja sowohl von der Länge als auch der Lage des "zukünftigen" Feldvektors ab. Kann ich mir das mathematisch einfach als Vektor in einer Ebene vorstellen, und das dann trigonometrisch errechnen? Nach oben angedachter Ansteuerung würde ich ja alle drei Phasen gleichzeitig mit sinusförmigen Spannungen ansteuern. Jetzt habe ich allerdings in diversen Appnotes gesehen, dass oftmals nur zwei Wicklungen gleichzeitig mit Rechtecksignalen angesteuert werden. Macht man das nur bei der Back EMF Sensing Technik so? Noch eine Frage zu den Hallsensoren: Mit diesem möchte ich ja die Lage des Rotors bestimmen. Aber messe ich nicht irgendwie auch neben dem Magnetfeld des Rotors auch das Magnetfeld durch meine Wicklungen mit? Noch eine letzte Frage zur Rekuperation: Wenn ich den Motor drehe kann ich ja die drei Phasen einfach an einen diodengleichrichter hängen und den Strom z.B. in einen Kondensator/Akkumulator zurückspeisen. Wie kann ich den Grad der Rekuperierung steuern? Also quasi die Bremswirkung bzw. den Ladestrom des Akkumulators begrenzen. Wie funktioniert das mit der Rekuperierung, wenn an dem Motor noch die H-brücke von weiter oben hängt? Dann funktioniert die einfache Lösung mit dem Diodengleichrichter ja nichtmehr? Der Beitrag ist jetzt etwas länger geworden. Ich hoffe meine Fragen sind halbwegs verständlich gestellt ;-) Danke schonmal für eure Antworten!
Ein BLDC ist eine Synchronmaschine. Zum Rekuperieren lässt Du das Feld etwas nacheilen (Polradwinkel), dadurch wird der Motor zum Generator. Die Spannungserhöhung erreichst Du, indem Du die Spulen kurze Zeit kurzschließt. Beim anschließenden Öffnen ergibt sich (auch durch die parasitäre Induktivität) eine Spannungserhöhung (StepUp-Prinzip, Boost-Converter). > Wie kann ich den Grad der Rekuperierung steuern? Also quasi > die Bremswirkung bzw. den Ladestrom des Akkumulators begrenzen. Durch die Länge des Kurzschließens. Die 3 H-Brücken sind durch die 3 intrinsic Bodydioden automatisch eine Gleichrichterbrücke. Geschickterweise nutzt man jedoch aktive Gleichrichtung (geringere Verluste).
Hi! Danke für die Antwort! Okay, das mit dem Nacheilen klingt logisch, ist dann ja so ähnlich wie bei der Asynchronmaschine. Zum Kurzschließen der Spulen: eine einzelne Wicklung kann ich ja nicht kurzschließen. Heisst das dann, dass ich alle Phasen auf GND oder VCC lege? Fließt während dieser Zeit nicht ein enormer Strom durch meine MosFets? Aktive Gleichrichtung und Bodydioden sagen mir erstmal garnichts. Bodydioden sind wohl die antiparalellen Dioden in den Mosfets? Hast du noch eine kurze Erklärung zur aktiven Gleichrichtung? Was jetzt noch an Fragen bleibt wären die obigen Fragen zur Messung des Feldes mit den Hallsensoren ("Wieso wird das Feld meiner Spulen nicht mitgemessen?"), sowie die Geschichte mit dem Feldvektor und wie ich daraus den DutyCycle für die PWM bestimme. Grüße!
Niemand eine Ahnung? Die Frage, wieso ich mit den Hallsensoren nur das Feld meiner Magneten messe, und nicht das Feld, dass durch den Stromfluß meiner Spulen entsteht, würden mich interessieren. Habe dazu mit den gängigen Suchmaschinen nix gefunden... Bzgl. der aktiven Gleichrichtung habe ich mich ein bisschen umgehört, bin mir aber noch nicht 100% sicher. Kann ich die 6 MOSFETs der 3 halben H-Brücken für das aktive Gleichrichten verwenden? Grüße!
Mit den Hall-Sensoren misst Du die aktuelle Position des Rotors. > Zum Kurzschließen der Spulen: > eine einzelne Wicklung kann ich ja nicht kurzschließen. Macht nichts, sobald zwei Phasen auf selben Level sind, ist sie praktisch kurzgeschlossen. Es gibt 3^3=27 States: P1 P2 P3 1 L L L 2 L L H 3 L L Z 4 L H L 5 L H H 6 L H Z 7 L Z L 8 L Z H 9 L Z Z 10 H L L 11 H L H 12 H L Z 13 H H L 14 H H H 15 H H Z 16 H Z L 17 H Z H 18 H Z Z 19 Z L L 20 Z L H 21 Z L Z 22 Z H L 23 Z H H 24 Z H Z 25 Z Z L 26 Z Z H 27 Z Z Z L L-Fet on H H-Fet on Z beide Fets off > Bodydioden sind wohl die antiparalellen Dioden in den Mosfets? Ja. > Kann ich die 6 MOSFETs der 3 halben H-Brücken für das > aktive Gleichrichten verwenden? Ja, wenn du sicher weißt, dass eine Bodydiode leitend ist, setze das Gate des FETs auf high. Du musst das Gate dann auf low setzen, wenn der Strom beginnt, in die andere Richtung fließen zu wollen. Da man das manchmal nicht genau weiß, schaltet man den Fet lieber zu bald aus und läßt den Reststrom durch die BodyDiode decayen. > Hast du noch eine kurze Erklärung zur aktiven Gleichrichtung? Kannst Du eine Suchmaschine bedienen, speziell die "unseres" Forums hier? http://www.mikrocontroller.net/search Im Datenblatt des L6208 fand ich es ganz schön beschrieben. www.st.com/st-web-ui/static/active/en/resource/technical/document/datash eet/CD00002294.pdf
Danke für deine Antwort! eProfi schrieb: > Mit den Hall-Sensoren misst Du die aktuelle Position des Rotors. Das ist das Ziel. Eigentlich messe ich ja nur die Richtung des Magnetfeldes. Aber ist das Magnetfeld nicht eigentlich die Summe aus Magneten und Magnetfeld der Spulen? Datenblatt des L6208 werde ich mir mal anschauen! Grüße!
Nein. Die Hallsensoren bringt man natürlich so an, dass sie vom Feld der Wicklungen nicht beeinflusst werden. Mit freundlichen Grüßen Thorsten Ostermann
Student schrieb: > - Lage des "Feldvektors". Kann ich da einfach die aktuelle Position > nehmen und in Drehrichtung 90° draufschlagen? Meine mich zu erinnern, > dass 90° ideal für eine maximale Leistungsentfaltung ist. Macht ja auch > Sinn... > > Oder lieber ein bisschen weniger als 90°? Nicht dass der Motor > ausrastet? > > - Länge des Feldvektors. Entspricht dieser meiner aktuellen Gasstellung? > So stelle ich mir das zumindest vor. > > Nun kann ich ja über die Trigonometrie mit dem Vektor schonmal > bestimmen, ob die jeweilige Phase ein positive oder negatives Signal > braucht, damit kann ich dann entscheiden, welchen Teil der halben > H-Brücke (heisst das so?) ich ansteuern muss. > > Woher weiss ich jetzt, welchen PWM DutyCycle ich für die jeweilige Phase > einstellen muss? Dieser hängt ja sowohl von der Länge als auch der Lage > des "zukünftigen" Feldvektors ab. > > Kann ich mir das mathematisch einfach als Vektor in einer Ebene > vorstellen, und das dann trigonometrisch errechnen? Um auf die 1.Frage einzugehen: So in der Art funktioniert eine Raumzeigermodulation,da findest bestimmt im Internet wo was dazu. Macht aber bei kleinen Motoren relativ wenig Sinn, weil es doch ein bisschen aufwändiger ist. In der 1.Phase der Entwicklung ist es sicher besser wenn du das nicht verwendest, da kommen noch ganz andere Probleme ;) Meistens schaltet man einfach 2 Phasen mit Pwm und sieht sich an der dritten die Bemf an (sensorless), wie du schon richtig bemerkt hast. Die Drehzahl steuerst du über den duty Cycle, die Kommutierungszeitpunkte ergeben sich von selbst durch messen. Da gibt es hier auch einen guten Artikel dazu, falls dich diese Art interessiert: http://www.mikrocontroller.net/articles/Brushless-Controller_f%C3%BCr_Modellbaumotoren Außerdem gibt es gute aplication notes zur konkreten Realisierung, z.B. von Microchip.
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.