Hallo
Ich verwende folgenden Motor
https://www.getfpv.com/lumenier-rx2206-11-2350kv-motor.html
Dieser hat 12Nuten und 14Pole (7Polpaare). Mich interessiert nun, wie
schnell ich kommutieren muss um eine Drehzahl von 20000U/min zu
erhalten.
Da habe ich mir folgendes überlegt:
20000U/min sind umgerechnet ca. 333U/sec.
Ein gewöhnlicher Motor hat 3 Phasen und 6 Nuten. Ausgehend von einem
Polpaar beinhaltet hier eine elektrische Umdrehung 6 Kommutierungen.
Der obige Motor hat 12 Nuten und 14 Pole.
Pro Kommutierungsschritt erreiche ich eine mechanische Drehung von ca.
25.71°. Bei 14 Polen muss also nach 14 Kommutierungen eine volle
mechanische Umdrehung erfolgt sein. Das wäre gerade mal etwas über 2
elektrische Umdrehungen.
Um die 333U/sec zu erreichen muss ich nun 14x333Umdr./sec = ca. 4667
Kommutierungen/sec ausführen, was dazu führt, dass ich ca. alle
t_kommut=214us kommutieren muss. Wenn man nun die notwendige Frequenz
berechnet 1/214us sind es ja genau die 4667Hz, die für diese Aufgabe
benötigt werden.
Ich frage mich nun, warum manchmal zu lesen ist, dass ein uC zu langsam
sein könnte, um einen BLDC zu steuern. Das packt ja ein 8MHz uC ja
allemal oder übersehe ich da etwas in meiner Rechnung?
Bernd schrieb:> Pro Kommutierungsschritt erreiche ich eine mechanische Drehung von ca.> 25.71°. Bei 14 Polen muss also nach 14 Kommutierungen eine volle> mechanische Umdrehung erfolgt sein.
Das verstehe ich nicht. Der Motor hat doch drei elektrische Phasen? Also
sollte sich der Rotor nach 6 Kommutierungen, d.h. nach einer
elektrischen Periode, genau um zwei Polteilungen, also um 1/7 Umdrehung
bewegt haben.
Grüßle
Volker
P.S.: Auf meiner Homepage habe ich die Felderregerkurven einiger
Drehstrommotoren dargestellt.
https://www.dr-bosch.com/dienstleistung_schulung_felderregerkurven.php
Deine Konfiguration habe ich leider nicht dargestellt aber einen
dreiphasigen BLDC-Motor mit einer Einzelzahnwicklung in 9 Statornuten
und 10 Rotorpolen. Das vierte Bild von oben auf der rechten Seiten
anklicken, dann sollte ein animiertes GIF in einem neuen Fenster
starten.
Hans schrieb:> Nicht zu vergessen auch die Verzögerungen durch die Software die> die> Kommutierung steuert.
Hallo Hans
Vielen Dank für deinen Kommentar, aber ich verstehe nicht ganz, warum
die errechnete Frequenz nun mit der PWM Frequenz multipliziert werden
muss.
Wenn ich zB eine PWM der Frequenz 20kHz verwende würde das ja bedeuten,
dass dieser mir den Mosfet der Halbbrücken alle 50us ein bzw.
ausschaltet. Bis zum nächsten Kommutierungszeitpunkt, also das Schalten
von einer Halbbrücke zur nächsten soll erst alle 214us passieren, damit
ich die gewünschte Umdrehung erreiche.
Was hat die PWM nun für einen Einfluss auf die Drehzahl?
> Wenn ich zB eine PWM der Frequenz 20kHz verwende würde das ja bedeuten,> dass dieser mir den Mosfet der Halbbrücken alle 50us ein bzw.> ausschaltet. Bis zum nächsten Kommutierungszeitpunkt, also das Schalten> von einer Halbbrücke zur nächsten soll erst alle 214us passieren, damit> ich die gewünschte Umdrehung erreiche.> Was hat die PWM nun für einen Einfluss auf die Drehzahl?
Es gibt Mikrocontroller, welche schon Hardware für BLDC on-chip haben,
da ist der Prozessor schon deutlich weniger gefordert, da wird die PWM
Frequenz nicht softwaremässig gesteuert, nur noch wenige Takte werden
für das Erfassen der Hallgeber (oder die Rückmeldung des back EMF) und
das Umsetzen der nächsten Kommutierung.
Ein normaler Mikrocontroller ohne BLDC-Hardware muss so ziemlich alles
über die Software erledigen(ausser vielleicht die Pulsweitenregelung,
die kann mittlerweile fast jeder Timer im MC).
Gruss Hans
Bernd schrieb:> Ich verwende folgenden Motor
Wenn du den Motor daliegen hast, einfach mal eine Spannung anlegen. Dann
bewegt sich der Motor in eine Rastposition. Dann den Motor von Hand eine
Umdrehung bewegen und du wirst 7 Rastpositionen feststellen. Also Mal 6
sind 42 Kommutierungen pro Umdrehung. (Ich hab grad selber einen
12N14P-BLDC auf dem Tisch liegen).
Bei 20'000U/min= 333,3U/s finden (333,3U/s * 42Komm/U = 14'000Komm/s)
also 14'000 Kommutierungen statt.
Maxe schrieb:> Bernd schrieb:>>> Ich verwende folgenden Motor>> Wenn du den Motor daliegen hast, einfach mal eine Spannung anlegen. Dann> bewegt sich der Motor in eine Rastposition. Dann den Motor von Hand eine> Umdrehung bewegen und du wirst 7 Rastpositionen feststellen. Also Mal 6> sind 42 Kommutierungen pro Umdrehung. (Ich hab grad selber einen> 12N14P-BLDC auf dem Tisch liegen).> Bei 20'000U/min= 333,3U/s finden (333,3U/s * 42Komm/U = 14'000Komm/s)> also 14'000 Kommutierungen statt.Maxe schrieb:> Bernd schrieb:>>> Ich verwende folgenden Motor>> Wenn du den Motor daliegen hast, einfach mal eine Spannung anlegen. Dann> bewegt sich der Motor in eine Rastposition. Dann den Motor von Hand eine> Umdrehung bewegen und du wirst 7 Rastpositionen feststellen. Also Mal 6> sind 42 Kommutierungen pro Umdrehung. (Ich hab grad selber einen> 12N14P-BLDC auf dem Tisch liegen).> Bei 20'000U/min= 333,3U/s finden (333,3U/s * 42Komm/U = 14'000Komm/s)> also 14'000 Kommutierungen statt.
Habe ich gemacht, das ist richtig. 7 Rastpositionen. Dann komme ich so
auch auf 14000 Kommutierungen/sec was die Kommutierungsfrequenz
darstellt. Das sind 14kHz.
Was die Rechnerleistung betrifft ist das ja weit unter 8MHz. Das ist ja
eine Mega Reserve übrig, auch wenn dich der uC andere Dinge
währenddessen erledigen muss. Das sollte dieser doch herkriegen oder ist
es dann eher eine andere Peripherie zB der ADC der Probleme macht?
14000 Komm. heisst dann, dass alle 71.5 us kommutiert werden muss. Wenn
der ADC natürlich schon 80us braucht wirds schwierig.
Was immer noch nicht geklärt ist, ist das mit der PWM. Man wir den Motor
natürlich jetzt nicht mit kontinuierlichem Signal (am Mosfet) ansteuern,
sondern moduliert mit PWM. Mit dem stelle ich jetzt ein, wie schnell der
Motor auf seine Drehzahl kommen soll oder besser gesagt, wie schnell der
Rotor die nächste Polteilung erreichen soll (in anderen Worten also
regelt man damit die Geschwindigkeit). Es muss das jeweilige
Tastverhälznis eingestellt werden, sodass ich meine Endgeschwindigkeit
20000 U/min, was 14000 Kommutierungen pro sec entspricht, erreiche.
Mit dieser Rechnung kann man so also abschätzen welche uC man am Besten
nimmt. Aber wie schnell der UC sein muss sagst dies nicht darüber aus.
14k muss ich halt noch mit minimum der doppelten Frequenz abtasten.
Sagen wir 30kHz, wenn ich das jetzt auch noch gescheit auflösen will
sagen wir 8 bit sinds 256 und ich komme auf 8 MHz. Wieso ist das zu
gering? Sind das Erfahrungswerte von euch oder gibt es da Faustregeln?