BLDC-Geschwindigkeit und -Position von Gegen-EMK

Ich versuche, meinen eigenen sensorlosen Geschwindigkeitsregler zu bauen, und ich muss die Geschwindigkeit und die Position kennen.

Was sind die grundlegenden Techniken, die verwendet werden, um die Geschwindigkeit und Position eines BLDC-Motors aus der Back-EMF zu bestimmen?

Antworten (1)

Zusätzlich zu den von @suha bereitgestellten Links in der Antwort auf die von @Scott Winder verlinkte Frage sowie meiner eigenen hervorragenden Antwort auf dieselbe Frage (schamloser Selbststecker) ist das folgende Freescale-Papier ebenfalls lesenswert, da es speziell darauf verweist Positionserfassung:

AN1913 3-Phasen-BLDC-Motorsteuerung mit sensorloser Gegen-EMF-ADC-Nulldurchgangserkennung unter Verwendung von 56F80x

Kurz gesagt, es kommt darauf an, die Anzahl der Nulldurchgänge zu zählen und das Timing zwischen ihnen zu messen. Bei einem 3-phasigen BLDC-Motor ist eine Phase Hochspannung, eine Phase Niederspannung und eine Phase ausgeschaltet. Sie werden wissen, was was ist, weil Sie es bereitstellen werden. Sie werden auch wissen, wie viele Pole der Motor hat. Kombinieren Sie diese Informationen mit Ihrer Messung, wann die Aus-Phase den Mittelpunkt zwischen der hohen und der niedrigen Phase (dem Nulldurchgang) kreuzt, können Sie Geschwindigkeit und Position bestimmen.

Indem Sie sich jeden Phasenzustand ansehen, können Sie Ihren elektrischen Winkel bestimmen:

Elektrischer Winkel

Den elektrischen Winkel kannst du dann unter Berücksichtigung der Zahlenpole mit folgender Gleichung in einen mechanischen Winkel umrechnen:

θ e l e C T R ich C A l = P 2 θ M e C H A N ich C A l

Wo: P = Anzahl der Stangen

elektrisch zu mechanisch

Dann können Sie durch Messen und Zählen der Anzahl der Nulldurchgänge bestimmen, wie lange es dauert, um eine mechanische Drehung von 360 ° abzuschließen, die dann in eine Geschwindigkeit in U / min umgewandelt werden kann.

Hallo, danke, hier ist, was ich verstanden habe: Wenn ich den Motor auf 10 U / min drehen möchte, muss ich die Kombinationen der Kommutierungen während 10 * 2 / p Minute wiederholen, und wenn ich 20 U / min möchte, wiederholen Sie sie für 20 * 2 / p Minuten in offene Schleife, und wenn ich es in einem Feedback haben möchte, messe ich die Bemf mit den sensorlosen Methoden, habe ich recht?
@BerrimaHadjtahar Das ist richtig. Normalerweise schreibe ich eine Step-Routine, die den Zustand auf Befehl oder Tastendruck ändert. Schreiben Sie dann eine Open-Loop-Routine, die diese Schrittfunktion wiederholt in einem einstellbaren Zeitintervall aufruft. Sobald Sie das Zeitintervall auf eine halbglatte Kommutierung eingestellt haben, können Sie die Rückkopplungsschleife für einen viel glatteren Betrieb schließen.
aber warum das Signal in jedem Schritt (1-0) statt nur 1 (bis zum nächsten Schritt) ist, ist es so, als hätte jede Kommutierung eine Frequenz, und dann gibt es eine Frequenz des gesamten Prozesses
@BerrimaHadjtahar Das ist auch richtig. Die Frequenz des gesamten Prozesses ist Ihre Drehzahl. Die Pulsweitenmodulation (PWM) des Signals wird zur Steuerung des Stroms verwendet. Wenn sich ein Rotorpol zwischen 2 Statorspulen befindet, wird im Stator mehr Strom benötigt, um den Rotorpol auf ihn zu und von der vorherigen Spule weg zu ziehen. Wenn der Rotorpol und die Statorspule ausgerichtet sind, wird weniger Strom benötigt. So wird das Signal, während es hoch oder niedrig und nicht aus ist, variiert, um den Strom zu modulieren und die Anziehungskraft zu steuern.