Hi Leute, im Moment befasse ich mich damit, BLDC-Motoren sensorlos anzusteuern. Um das zu testen, habe ich eine H-Brücke sowie einen Mikrocontroller genommen, und eine konventionelle BLDC-Steuerung basierend auf Hallsensoren gemacht. Gleichzeitig habe ich aber nun auch die Schaltung zur Messung der BEMF aufgebaut, so kann ich gut die einzelnen Signale mit den Hallsensor-Signalen vergleichen (später fallen die Hallsensoren dann natürlich weg, und es soll eine Schaltung entwickelt werden, die 3 Eingänge hat zum Messen der BEMF und 3 Ausgänge, welche exakt dieselben Signale liefern wie Hallsensoren). Nun meine Frage. Ihr seht das angehängte Bild. Rosa ist die Spannung der Phase A gegen Masse. Die "schrägen" Flanken sind ja bekanntlich die BEMF-Spannungen. Blau sehr ihr den Ausgang des zugehörigen Hallsensors. Soweit so gut! Nun habe ich einen Komparator mittels LM393 aufgebaut, welcher die halbe Zwischenkreisspannung (in meinem Fall 6 Volt) mit der Spannung an der Phase A vergleicht. Das Ausgangssignal des Komparators seht ihr in Gelb. Frage: ist die Sache soweit schon mal korrekt? Woher kommen die beiden Spikes an der Phase A, welche natürlich auch den Komparator zum Umschalten bewegen? Ist meine folgende Annahme richtig: Um den Motor korrekt zu kommutieren, muss ich nach dem Ausschalten des Highside-FETs der Phase A die Zeit messen, bis der Komparator eine negative Flanke liefert (denn dann ist die BEMF = 1/2 der Zwischenkreisspannung), und dann nochmals so lange warten, und dann den Lowside-FET einschalten. Ist das richtig?
Nun kommt noch die PWM ins Spiel. In meinem Fall lasse ich den Highside-FET dauernd an, und takte nur den Lowside-FET, was zu den Signalen führt, welche ihr im Anhang seht. Aufgrund der PWM ist natürlich auch die BEMF-Spannung ver"rauscht", und der Komparator liefert kein schönes Signal mehr, sondern schaltet ständig um. Ist meine Idee richtig, dass ich den Ausgang des Komparators auf ein D-Flipflop führen könnte, dessen Clock mit der PWM verbunden ist? dann müsste das Flipflop ja eigentlich immer dann, wenn der lowside-FET eingeschaltet ist, das vom Komparator gelieferte Signal übernehmen, und ich hätte die PWM zuverlässig ausgeblendet. Funktioniert sowas? Ich habe leider kein D-FF zur Hand, um das jetzt ausprobieren zu können, deshalb die Frage. Gruss Tobias
Die Spikes entstehen während der Kommutierungsphase. Es gibt einen Zeitpunkt, wo kein MOSFET in der Halbbrücke leitet. Da arbeitet die Induktivität des Motors im Freilauf und induziert eine Spannung. Ist aber relativ normal. Man sieht ja auch, dass die Spikes nie größer als VCC oder kleiner als GND werden, was den parasitären Dioden in den MOSFETs zu verdanken ist. Das wird übrigens als "commutation noise" bezeichnet. Wenn man die Spikes nicht herausfiltert (was ja eine Verzögerung in die Regelschleife bringt), dann muss man schauen, dass man erst kurz nach den Spikes den Komparator, bzw. dessen Auswertung "scharf" schaltet. http://atmel.com/dyn/resources/prod_documents/doc8012.pdf siehe Seite 8. Tobias Plüss schrieb: > Ist meine folgende Annahme richtig: > Um den Motor korrekt zu kommutieren, muss ich nach dem Ausschalten des > Highside-FETs der Phase A die Zeit messen, bis der Komparator eine > negative Flanke liefert (denn dann ist die BEMF = 1/2 der > Zwischenkreisspannung), und dann nochmals so lange warten, und dann den > Lowside-FET einschalten. Ist das richtig? Das ist der Algorithmus, den man am häufigsten sieht, ja. Schau mal die ganzen App Notes durch: http://atmel.com/dyn/products/app_notes.asp?family_id=607 (Strg+F und dann nach "brushless" suchen). Da findeste ne Menge dazu, wann, wie, warum und wieso nicht anders kommutiert wird.
Zu der Sensorless Kommutierung ohne Filter (um die PWM herauszufiltern) siehe: http://scholar.lib.vt.edu/theses/available/etd-09152003-171904/unrestricted/T.pdf
Hallo Leute, danke für eure Posts! Also bin ich offenbar doch nicht ganz auf dem Holzweg. Jetzt noch eine Frage: ich habe beim Lesen verschiedener AppNotes folgendes gelesen: Normalerweise wird für die PWM eine Phase fest nach + geschaltet, und der lowside-FET der anderen Phase wird getaktet. Man kann aber einen sogenannten "aktiven Freilauf" machen, indem man abwechslungsweise den lowside- und den Highside-FET einschaltet. Als Beispiel: Phase A liegt zuerst auf Masse, Phase B auf + Anschliessend wird (natürlich PWM-mässig) Phase A auf + und Phase B auf - gelegt. Dadurch soll die BEMF angeblich besser messbar sein. Beim "normalen" Verfahren, wo nur der lowside-FET getaktet wird, springt die Spannung an der nicht bestromten Phase (wo ja die BEMF gemessen werden soll) zwischen U_BEMF und VCC hin- und her, da ja beim Ausschalten des lowside-FETs eine Selbstinduktionsspannung in der Wicklung induziert wird, welche über die Bodydiode des oberen FET abfliessen kann. Bei der "verbesserten" Methode, wo beide FETs getaktet werden, und beide Phasen immer entweder mit + oder Masse verbunden sind, kann die BEMF-Spannung aber nicht irgendwo hin- und her springen, sondern sie ist mehr oder weniger glatt. Was ist nun das bessere Verfahren? takten von beiden FETs, oder nur von einem? Des weiteren würde ich gerne ein D-Flipflop zum Synchronisieren der Komparator-Ausgangsspannung mit der PWM verwenden. Jedoch gibt es ja den Commutation Noise (also die beiden recht hohen Spikes, welche jeweils beim Ausschalten einer Phase entstehen und immer da sind), und dieser bringt den Komparator ja wie ihr auch auf dem ersten Bild sehen könnt jeweils auch kurz zum Umschalten. Würde zufälligerweise genau zu diesem Zeitpunkt eine PWM-Flanke auftreten, dann würde das Flipflop den (falschen) Zustand des Komparators übernehmen, und es würde (wenn auch nur kurzzeitig) ein falsches Kommutierungssignal geliefert. Wie könnte man das elegant umgehen?
> Woher kommen die beiden Spikes an der Phase A, Deine H-Brücke schaltet erst den leitenden Transistor aus, und dann den neuen ein. Dabei entsteht der Effekt, daß der Strom, der durch die Motorspule floss (auch und vor allem durch die wohl etwas lange Zuleitung) gerne weiterfliessen will, was sich in einem Spannungsanstieg aka "Zündfunke" äussert, bis die Paralleldiode des jeweils anderen Transistors leitet. Diese Spikes versauen dir deine ganze Messung. Du solltest H-Brücken mit weniger dead time nehmen, und viel kürzere Leitungen zum Motor. > Aufgrund der PWM ist natürlich auch die BEMF-Spannung ver"rauscht", Nein, die ist nicht auf Grund der PWM verrauscht, das müsste nämlich mit der Motorinduktivität ein sauberes dreieckiges Signal kleiner Amplitude ergeben, sondern sie ist durch deine Spikes verrauscht, bis zur Unbrauchbarkeit verrauscht, man sieht nur SPikes und gar keinen Spulenstrom. Führe dein Signal zum Komparator (der eine kleine Hysterese haben sollte) durch ein RC-Glied.
Hi MaWin, > Deine H-Brücke schaltet erst den leitenden Transistor aus, > und dann den neuen ein. Das ist absolut richtig, und auch gewollt so. Ich habe da eine hardwaremässige Verriegelung drin, sodass niemals zwei Transistoren im gleichen Zweig eingeschaltet sein können (dead-time). > > Aufgrund der PWM ist natürlich auch die BEMF-Spannung ver"rauscht", > Nein, die ist nicht auf Grund der PWM verrauscht, das müsste nämlich mit > der Motorinduktivität ein sauberes dreieckiges Signal kleiner Amplitude > ergeben, sondern sie ist durch deine Spikes verrauscht, bis zur > Unbrauchbarkeit verrauscht, man sieht nur SPikes und gar keinen > Spulenstrom. Mag sein, aber ich behaupte mal, dass niemals ein sauberes Signal rauskommen wird. Die BEMF-Spannung addiert sich ja zu der Spannung am Sternpunkt, und der Sternpunkt "wackelt" immer hin- und her, wenn der highside-FET eingeschaltet bleibt, und der lowside-FET taktet. Ist der lowside-FET eingeschaltet, dann ist der Sternpunkt schön in der Mitte, und die Spannung am nicht bestromten Motoranschluss ist 1/2 VCC + U_BEMF. Sobald der lowside-FET ausschaltet, ist der Sternpunkt doch nicht mehr in der Mitte der Versorgungsspannung - er hängt ja dann quasi über eine einzelne Wicklung an VCC, während die beiden anderen Anschlüsse in der Luft hängen. Die gemessene Spannung an der freien Phase wäre dann VCC + U_BEMF; die im FET integrierte Diode begrenzt diese Spannung aber auf max. VCC. Ich behaupte, dass dies der Grund ist, warum man die PWM in der Ausgangsspannung sieht. Das lässt sich auch nicht vermeiden.
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.