Hallo zusammen, ich habe einen Motorcontroller für 3Phasen Synchronmotoren/PMSM/etc. entwickelt. Läuft super und ich kann Stromregelung und Sinuskommutierung machen. Essentiell ist dafür natürlich die Erkennung der Rotorposition, das mache ich im Moment über einen Encoder. Ich würde bei höheren Drehzahlen gerne auf sensorlose Positionserkennung gehen, einfach weil ich keine Effizienz verliere, wenn der Encoder nicht 100% linear ist oder Offset hat. Stand der Technik ist ja, dafür die Phasenspannungen zu messen, da sich daraus die Position genauer bestimmen lässt. Wie kann ich aber die Phasenspannungen messen, wenn jede Phase durch die PWM entweder "HIGH" (auf Batteriespannung) oder "LOW" (Ground) ist? => Im Gegensatz zur Blockkommutierung, bei der immer eine Phase floatet, brauche ich ja für FOC immer einen Strom durch jede Phase. Der altbekannte Spannungsteiler zwischen Phasen und einem virtuellen Sternpunkt misst ja dann "mist". Bin dankbar für jeden Input! Jakob
Es gibt da Möglichkeiten. Eine wäre ein Spannungsteiler, der einen Kondensator speist, um die PWM wegzufiltern. Also RC-Glied mit R nach Thevenin. Eine andere wäre, davon auszugehen, dass die Stromregler ihre Sache schon gut machen. Die Ausgangsspannung lässt sich nach der Clarke-Inversen, also direkt bevor die Modulation berechnet wird, abgreifen. Ich schlage jetzt die Spannungsvektor-zu-Pulsweite-Berechnung (Teilen durch Zwischenkreisspannung) dem Modulator zu. mfg mf
Hallo, ich bin zwar überhaupt noch nicht soweit, einen FOC-Controller ganz zu begreifen, aber ich denke, dass die Rotorposition ab einer bestimmten Drehzahl mit back-EMF bestimmt werden kann. Das Prinzip dazu gibt es in zahlreichen Beispielen von Microchip, Ti und andere. Gruss Jan
:
Bearbeitet durch User
Achim M. schrieb: > Eine wäre ein Spannungsteiler, der einen Kondensator speist, um die PWM > wegzufiltern. Also RC-Glied mit R nach Thevenin. Aber das wird nicht funktionieren. Das was ich nach dem Filter rausbekomme ist genau das Duty Cycle der PWM. Diese kenne ich bereits (da ich sie ja in der SOftware berechne und mein PWM Register damit speise). Achim M. schrieb: > Die Ausgangsspannung lässt sich nach der > Clarke-Inversen, also direkt bevor die Modulation berechnet wird, > abgreifen. Für die inverse Park Transformation brauche ich aber den Winkel. Und den versuche ich ja zu berechnen. Da beisst sich die Katze in den Schwanz. Oder übersehe ich da was? Jan S. schrieb: > aber ich denke, dass die Rotorposition mit back-EMF bestimmt > werden kann. Das ist genau das, was ich machen will. Geht auch. Aber wenn du zu jeder Zeit eine Spannung an den Phasen vorgibts, kannst du die Phasenspannung nicht messen. Meine Frage ist daher, ob es einen anderen Weg gibt, diese zu berechnen, oder ob ich meine PWM bspw. so umbauen muss, dass es doch einen Zeitpunkt gibt, an dem ich messen kann.
Trotz meinen bescheidenen Kentnissen denke ich, dass die Induktivität der Statorspulen die Höhen und Tiefen der Spannung durch PWM etwas zu glätten vermag. Bitte korrigieren wenn falsch. Gruss Jan
Jakob K. schrieb: > Meine Frage ist daher, ob es einen anderen Weg gibt, diese zu berechnen, > oder ob ich meine PWM bspw. so umbauen muss, dass es doch einen > Zeitpunkt gibt, an dem ich messen kann. Der Witz ist: Weder, noch. Es gibt nämlich, sozusagen von Hause aus, immer einen Phasenwinkel, in dem es (mindestens) eine Spule gibt, die nicht "bestromt" wird. Genau genommen passiert das mindestens 3 Mal pro voller Umdrehung. Hängt halt von der Anzahl der Spulen ab. Tipp: Es genügt, eine davon zu messen. Jedenfalls nach Ablauf des feedbacklosen Startup. Natürlich: nur, wenn der nicht scheitert. Wenn du das Konzept der Ansteuerung wirklich begriffen hättest, wäre dir das alles klar. Und somit natürlich auch klar, wo und wie gemessen werden muß. Bei den frei verfügbaren Sourcen aus 'zig verschiedenen Lösungen wird auch genau das bereits umgesetzt. Auch daraus hätte man das natürlich entnehmen können. Wenn man halt einfach nur das Konzept der Sache verstanden hätte...
Ob S. schrieb: > Es gibt nämlich, sozusagen von Hause aus, immer einen Phasenwinkel, in > dem es (mindestens) eine Spule gibt, die nicht "bestromt" wird. Genau > genommen passiert das mindestens 3 Mal pro voller Umdrehung. Hängt halt > von der Anzahl der Spulen ab. Tipp: Es genügt, eine davon zu messen. > Jedenfalls nach Ablauf des feedbacklosen Startup. Natürlich: nur, wenn > der nicht scheitert. Danke für den Input. Ja das ist mir durchaus klar. Wenn man sich den Sinusförmigen Strom anschaut, gibt es immer wieder mal Stellen wo kein Strom fließt. => Das heisst aber nicht, dass dort dann die PWM nicht aktiv ist! Siehe Bild im Anhang aus Renesas App-Note 78F0714, dort ist sehr deutlich dargestellt, dass auch bei 0A Phasenstrom die PWM Aktiv ist und zwar mit genau 50% Duty Cycle. Bist du dir sicher, dass wir vom gleichen Ansteuerungsprinzip sprechen? Bei Normaler BLDC Block-Kommutierung stimme ich dir zu. Ob S. schrieb: > Bei den frei verfügbaren Sourcen aus 'zig verschiedenen Lösungen wird > auch genau das bereits umgesetzt. Auch daraus hätte man das natürlich > entnehmen können. Ja dann hau doch mal her ;-)
Schau mal bei Benjamin Fedder vom VESC-Projekt nach. Er hat auch ein paar Videos zu sensorlosem FOC bei 0RPM mittels HFI (high-frequency-injection).
:
Bearbeitet durch User
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.