STMicroelectronics-Logo

STM32 Motorsteuerung SDK 6-stufiger Firmware-Sensor ohne Parameter

STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter-Produkt
Technische Daten
  • Produktname: STM32 Motorsteuerungs-SDK – 6-stufige Firmware-Parameteroptimierung ohne Sensor
  • Modellnummer: UM3259
  • Überarbeitung: Rev. 1 – November 2023
  • Hersteller: STMicroelectronics
  • WebWebsite: www.st.com

Überview

Das Produkt ist für Motorsteuerungsanwendungen konzipiert, bei denen die Rotorposition ohne Verwendung von Sensoren bestimmt werden muss. Die Firmware optimiert die Parameter für den sensorlosen Betrieb und ermöglicht die Synchronisierung der Schrittkommutierung mit der Rotorposition.
BEMF-Nulldurchgangserkennung:
Die Wellenform der gegenelektromotorischen Kraft (BEMF) ändert sich mit der Rotorposition und -geschwindigkeit. Für die Nulldurchgangserkennung stehen zwei Strategien zur Verfügung:
Gegen-EMF-Erfassung während der PWM-AUS-Zeit: Erfassen Sie das schwebende Phasenvolumentage durch ADC, wenn kein Strom fließt, Identifizierung des Nulldurchgangs basierend auf dem Schwellenwert.
Gegen-EMF-Erfassung während der PWM-Einschaltzeit: Mitte = Abgriffslautstärketage erreicht die Hälfte der Buslautstärketage, Identifizieren des Nulldurchgangs basierend auf dem Schwellenwert (VS/2).
STM32-Motorsteuerungs-SDK – 6-stufige Firmware-Parameteroptimierung ohne Sensor

Einführung

In diesem Dokument wird beschrieben, wie die Konfigurationsparameter für einen 6-stufigen, sensorlosen Algorithmus optimiert werden. Ziel ist ein reibungsloser und schneller Startvorgang, aber auch ein stabiles Regelverhalten. Darüber hinaus wird in dem Dokument auch erläutert, wie ein ordnungsgemäßer Wechsel zwischen der Nulldurchgangserkennung der Gegen-EMF während der PWM-Ausschaltzeit und der PWM-Einschaltzeit erreicht wird, wenn der Motor mit hoher Drehzahl und einem Volumenstrom läufttage Fahrmodustechnik. Weitere Einzelheiten zum 6-stufigen Firmware-Algorithmus und zum Band finden Sie hiertagWeitere Informationen zur aktuellen Fahrtechnik finden Sie im zugehörigen Benutzerhandbuch im X-CUBE-MCSDK-Dokumentationspaket.

Akronyme und Abkürzungen

Akronym Beschreibung
MCSDK Entwicklungskit für Motorsteuerungssoftware (X-CUBE-MCSDK)
HW Hardware
IDE Integrierte Entwicklungsumgebung
MCU Mikrocontroller-Einheit
GPIO Universelle Ein-/Ausgabe
ADC Analog-Digital-Wandler
VM Bandtage-Modus
SL Sensorlos
BEMF Gegenelektromotorische Kraft
FW Firmware
ZC Nullstelle
Benutzeroberfläche Grafische Benutzeroberfläche
MC Motorsteuerung
OCP Überstromschutz
PID Proportional-Integral-Derivat (Regler)
SDK Software-Entwicklungskit
UI Benutzeroberfläche
MC-Werkbank Motorsteuerungs-Workbench-Tool, Teil von MCSDK
Motorpilot Motorpilot-Tool, Teil von MCSDK

Überview

Im 6-stufigen, sensorlosen Fahrmodus nutzt die Firmware die in der Schwebephase erfasste elektromotorische Gegenkraft (BEMF). Die Position des Rotors wird durch die Erkennung des Nulldurchgangs der BEMF ermittelt. Dies erfolgt üblicherweise mithilfe eines ADC, wie in Abbildung 1 dargestellt. Insbesondere wenn das Magnetfeld des Rotors die High-Z-Phase kreuzt, steigt die entsprechende BEMF-Voltage ändert sein Vorzeichen (Nulldurchgang). Der BEMF voltagDank eines Widerstandsnetzwerks, das das Volumen teilt, kann es am ADC-Eingang skaliert werdentage kommt aus der Motorphase.
Da das BEMF-Signal jedoch proportional zur Drehzahl ist, kann die Rotorposition beim Start oder bei sehr niedriger Drehzahl nicht bestimmt werden. Daher muss der Motor im offenen Regelkreis beschleunigt werden, bis ein ausreichendes BEMF-Volumen erreicht isttage ist erreicht. Das BEMF voltage ermöglicht die Synchronisation der Schrittkommutierung mit der Rotorlage.
In den folgenden Abschnitten werden die Startprozedur und der Closed-Loop-Betrieb sowie die Parameter zu deren Abstimmung beschrieben.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (2)
BEMF-Nulldurchgangserkennung
Die Gegen-EMK-Wellenform eines bürstenlosen Motors ändert sich zusammen mit der Rotorposition und -geschwindigkeit und hat eine Trapezform. Abbildung 2 zeigt die Wellenform des Stroms und der Gegen-EMK für eine elektrische Periode, wobei die durchgezogene Linie den Strom darstellt (Welligkeiten werden der Einfachheit halber ignoriert), die gestrichelte Linie die elektromotorische Gegenkraft darstellt und die horizontale Koordinate die elektrische darstellt Perspektive der Motordrehung.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (3)
Die Mitte von jeweils zwei Phasenumschaltpunkten entspricht einem Punkt, dessen Polarität der gegenelektromotorischen Kraft geändert wird: dem Nulldurchgangspunkt. Sobald der Nulldurchgangspunkt identifiziert ist, wird nach einer elektrischen Verzögerung von 30° der Phasenumschaltzeitpunkt eingestellt. Um den Nulldurchgang der BEMF zu erkennen, muss der Mittelabgriff voltage muss bekannt sein. Der Mittelabgriff entspricht dem Punkt, an dem die drei Motorphasen miteinander verbunden sind. Bei einigen Motoren ist die Mittelanzapfung verfügbar. In anderen Fällen kann es anhand des Bandes rekonstruiert werdentage Phasen. Der hier beschriebene 6-Schritte-Algorithmus ist von Vorteiltage des Vorhandenseins eines BEMF-Erfassungsnetzwerks, das mit den Motorphasen verbunden ist und die Berechnung des Mittelabgriffsvolumens ermöglichttage.
  • Zur Identifizierung des Nulldurchgangspunkts stehen zwei unterschiedliche Strategien zur Verfügung
  • Gegen-EMF-Erkennung während der PWM-AUS-Zeit
  • Gegen-EMF-Erkennung während der PWM-Einschaltzeit (derzeit unterstützt in Voltagnur im e-Modus)
Während der PWM-AUS-Zeit beträgt die Floating-Phase-Voltage wird vom ADC erfasst. Da in der Floating-Phase kein Strom fließt und die anderen beiden mit der Erde verbunden sind, hat die BEMF, wenn sie in der Floating-Phase den Nullpunkt überschreitet, in den anderen Phasen die gleiche und entgegengesetzte Polarität: Die Mittelabgriffsspannungtage ist also Null. Daher wird der Nulldurchgangspunkt identifiziert, wenn die ADC-Umwandlung über einen definierten Schwellenwert steigt oder unter diesen fällt.
Andererseits ist während der PWM-Einschaltzeit eine Phase mit der Busspannung verbundentage und ein weiteres auf den Boden (Abbildung 3). In diesem Zustand ist der Mittelhahn voltage erreicht die Hälfte der Buslautstärketage-Wert, wenn die BEMF in der Floating-Phase Null ist. Wie zuvor wird der Nulldurchgangspunkt identifiziert, wenn die ADC-Wandlung über einen definierten Schwellenwert steigt (oder unter diesen fällt). Letzteres entspricht VS/2.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (4)
Design eines BEMF-Sensornetzwerks
In Abbildung 4 ist das häufig verwendete Netzwerk zur Erfassung der BEMF dargestellt. Sein Zweck besteht darin, das Motorphasenvolumen zu teilentage müssen vom ADC ordnungsgemäß erfasst werden. Die R2- und R1-Werte müssen entsprechend der Buslautstärke gewählt werdentage-Ebene. Der Benutzer muss sich darüber im Klaren sein, dass die Implementierung eines R1 / (R2 + R1)-Verhältnisses, das viel niedriger als erforderlich ist, dazu führen kann, dass das BEMF-Signal zu niedrig ist und die Steuerung nicht robust genug ist.
Andererseits würde ein höheres Verhältnis als erforderlich zu einem häufigen Ein-/Ausschalten der D1-Schutzdioden führen, deren Erholungsstrom Rauschen verursachen könnte. Der empfohlene Wert ist:
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (5)
Sehr niedrige Werte für R1 und R2 müssen vermieden werden, um den von der Motorphase abgegriffenen Strom zu begrenzen.
R1 ist manchmal mit einem GPIO statt mit GND verbunden. Dadurch kann das Netzwerk zur Laufzeit aktiviert oder deaktiviert werden.
In der 6-stufigen Firmware befindet sich der GPIO immer im Reset-Zustand und das Netzwerk ist aktiviert. Bei der Einstellung der BEMF-Schwellenwerte für die Erfassung während der PWM-Einschaltzeit muss jedoch das eventuelle Vorhandensein von D3 berücksichtigt werden: Normalerweise erhöht es den idealen Schwellenwert um 0.5–0.7 V.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (6)
C1 dient der Filterung und darf die Signalbandbreite im PWM-Frequenzbereich nicht begrenzen.
D4 und R3 dienen der schnellen Entladung des BEMF_SENSING_ADC-Knotens während der PWM-Kommutationen, insbesondere bei hoher Lautstärketage-Boards.
Die Dioden D1 und D2 sind optional und dürfen nur hinzugefügt werden, wenn die Gefahr besteht, dass die maximalen Nennwerte des BEMF-Erfassungs-ADC-Kanals verletzt werden.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (7)
Optimierung der Parameter des Regelalgorithmus
Startvorgang
Der Startvorgang besteht üblicherweise aus einer Abfolge von drei Sekundentages:
  1. Ausrichtung. Der Rotor wird an einer vorgegebenen Position ausgerichtet.
  2. Beschleunigung im offenen Regelkreis. Der BdtagDie Impulse werden in einer vorgegebenen Reihenfolge angelegt, um ein Magnetfeld zu erzeugen, das den Rotor in Rotation versetzt. Die Geschwindigkeit der Sequenz wird schrittweise erhöht, damit der Rotor eine bestimmte Geschwindigkeit erreichen kann.
  3.  Schalte um. Sobald der Rotor eine bestimmte Geschwindigkeit erreicht hat, schaltet der Algorithmus auf eine 6-stufige Regelsequenz um, um die Kontrolle über Geschwindigkeit und Richtung des Motors aufrechtzuerhalten.
Wie in Abbildung 5 dargestellt, kann der Benutzer die Startparameter in der MC-Workbench anpassen, bevor er den Code generiert. Es stehen zwei verschiedene Fahrmodi zur Verfügung:
  • Bandtage-Modus. Der Algorithmus steuert die Geschwindigkeit, indem er das Tastverhältnis der auf die Motorphasen angewendeten PWM variiert: ein Ziel-Phasenvolumentage ist für jedes Segment des Startup Pro definiertfile
  • Aktueller Modus. Der Algorithmus steuert die Geschwindigkeit, indem er den Strom variiert, der in den Motorphasen fließt: Für jedes Segment des Startup Pro wird ein Stromziel definiertfile
Abbildung 5. Startparameter in der MC-Workbench
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (8)
Ausrichtung
In Abbildung 5 entspricht Phase 1 immer dem Ausrichtungsschritt. Der Rotor wird auf die 6-Stufen-Position ausgerichtet, die dem „Anfänglichen elektrischen Winkel“ am nächsten kommt.
Es ist wichtig zu beachten, dass die Dauer der Phase 1 standardmäßig 200 ms beträgt. Während dieses Schritts wird der Arbeitszyklus linear erhöht, um das Zielphasenvolumen zu erreichentage (Phasenstrom, wenn der aktuelle Fahrmodus ausgewählt ist). Bei sperrigen Motoren oder im Falle einer hohen Trägheit kann jedoch die empfohlene Dauer oder sogar die angestrebte Phasenvoltage/Strom reicht möglicherweise nicht aus, um die Rotation ordnungsgemäß zu starten.
In Abbildung 6 ist ein Vergleich zwischen einer falschen und einer korrekten Ausrichtungsbedingung dargestellt.
Wenn der Zielwert oder die Dauer der Phase 1 nicht ausreichen, um den Rotor in die Ausgangsposition zu zwingen, kann der Benutzer beobachten, wie der Motor vibriert, ohne zu rotieren. Mittlerweile nimmt die Stromaufnahme zu. Während der ersten Phase des Anlaufvorgangs steigt der Strom an, das Drehmoment reicht jedoch nicht aus, um die Trägheit des Motors zu überwinden. Oben in Abbildung 6 (A) kann der Benutzer sehen, wie der Strom ansteigt. Es gibt jedoch keine Hinweise auf BEMF: Der Motor wird dann abgewürgt. Sobald der Beschleunigungsschritt gestartet wird, verhindert die unsichere Position des Rotors, dass der Algorithmus den Startvorgang abschließen und den Motor laufen lassen kann.
Vol. erhöhentage/current-Phase während Phase 1 kann das Problem beheben.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (9)
In Bdtage-Modus, die Ziellautstärketage während des Startvorgangs kann mit dem Motor Pilot angepasst werden, ohne dass der Code neu generiert werden muss. Im Motor Pilot, im Hochdrehbereich, derselbe Beschleunigungsprofifile von Abbildung 1 wird berichtet (siehe Abbildung 7). Beachten Sie, dass hier der BdtagDie Phase kann als der im Timer-Register (S16A-Einheit) eingestellte Impuls oder entsprechend der Ausgangslautstärke angezeigt werdentage (Vrms-Einheit).
Sobald der Benutzer die richtigen Werte gefunden hat, die am besten zum Motor passen, können diese Werte in das MC-Workbench-Projekt implementiert werden. Es ermöglicht die Neugenerierung des Codes, um den Standardwert anzuwenden. Die folgende Formel erklärt die Korrelation zwischen Voltage-Phase in Vrms- und S16A-Einheiten.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (10)
Im Strommodus wird in der Motor Pilot GUI der Zielstrom nur in S16A angezeigt. Seine Umwandlung in ampDies hängt vom Shunt-Wert und dem ab ampVerstärkung, die in der Strombegrenzerschaltung verwendet wird.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (11)
Beschleunigung im offenen Regelkreis
In Abbildung 5 entspricht die Phase 2 der Beschleunigungsphase. Die 6-Schritt-Sequenz dient dazu, den Motor im offenen Regelkreis zu beschleunigen, daher ist die Rotorposition nicht mit der 6-Schritt-Sequenz synchronisiert. Die Stromphasen sind dann höher als optimal und das Drehmoment geringer.
In der MC-Workbench (Abbildung 5) kann der Benutzer ein oder mehrere Beschleunigungssegmente definieren. Insbesondere bei einem sperrigen Motor empfiehlt es sich, ihn mit einer langsameren Drehzahl zu beschleunigenamp um die Trägheit zu überwinden, bevor eine steilere Kurve ausgeführt wirdamp. Während jedes Segments wird der Arbeitszyklus linear erhöht, um das endgültige Ziel des Volumens zu erreichentage/aktuelle Phase dieses Segments. Dadurch wird die Phasenumschaltung mit der entsprechenden Geschwindigkeit erzwungen, die in derselben Konfigurationstabelle angegeben ist.
In Abbildung 8 ist ein Vergleich zwischen einer Beschleunigung und einem Vol. zu sehentagDie Phase (A) ist zu niedrig und es wird eine geeignete Phase (B) bereitgestellt.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (12)
Wenn das ZielvolumentagWenn der E/Strom einer Phase oder ihre Dauer nicht ausreicht, um dem Motor die entsprechende Geschwindigkeit zu ermöglichen, kann der Benutzer sehen, dass der Motor aufhört zu rotieren und zu vibrieren beginnt. Oben in Abbildung 8 steigt der Strom plötzlich an, wenn der Motor blockiert, während der Strom bei richtiger Beschleunigung ohne Unterbrechungen ansteigt. Sobald der Motor stoppt, schlägt der Startvorgang fehl.
Vol. erhöhentagDie e/current-Phase kann das Problem möglicherweise beheben.
Wenn andererseits der BdtagWenn die definierte e/Stromphase zu hoch ist, kann der Strom ansteigen und den Überstrom erreichen, da der Motor im offenen Regelkreis ineffizient läuft. Der Motor stoppt plötzlich und der Motorpilot zeigt einen Überstromalarm an. Das Verhalten des Stroms ist in Abbildung 9 dargestellt.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (13)
Verringern der LautstärketagDie e/current-Phase kann das Problem möglicherweise beheben.
Wie der Ausrichtungsschritt ist das Zielvolumentage/current kann während des Startvorgangs mit dem Motor Pilot zur Laufzeit angepasst werden, ohne dass der Code neu generiert werden muss. Anschließend kann es in das MC-Workbench-Projekt implementiert werden, wenn die richtige Einstellung identifiziert ist.
Schalte um
Der letzte Schritt der Inbetriebnahmeprozedur ist die Umschaltung. Während dieses Schritts nutzt der Algorithmus die erfasste BEMF, um die 6-Schritte-Sequenz mit der Rotorposition zu synchronisieren. Die Umschaltung beginnt in dem Segment, das im in Abbildung 10 unterstrichenen Parameter angegeben ist. Sie kann im sensorlosen Startparameterbereich der MC-Workbench konfiguriert werden.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (14)
Nach einem gültigen BEMF-Nulldurchgangserkennungssignal (zur Erfüllung dieser Bedingung siehe Abschnitt 2.1) schaltet der Algorithmus auf einen Closed-Loop-Betrieb um. Der Umschaltschritt kann aus folgenden Gründen fehlschlagen:
  • Umschaltgeschwindigkeit ist nicht richtig konfiguriert
  • Die PI-Verstärkungen des Geschwindigkeitsregelkreises sind zu hoch
  • Die Schwellenwerte zur Erkennung des BEMF-Nulldurchgangsereignisses sind nicht richtig eingestellt
Umschaltgeschwindigkeit nicht richtig konfiguriert
Die Geschwindigkeit, mit der die Umschaltung beginnt, ist standardmäßig dieselbe wie die anfängliche Zielgeschwindigkeit, die im Abschnitt „Antriebseinstellungen“ der MC-Workbench konfiguriert werden kann. Der Anwender muss sich darüber im Klaren sein, dass sobald der Drehzahlregelkreis geschlossen wird, der Motor schlagartig von der Umschaltdrehzahl auf die Zieldrehzahl beschleunigt wird. Liegen diese beiden Werte sehr weit auseinander, kann es zu einem Überstromausfall kommen.
PI-Verstärkungen des Geschwindigkeitsregelkreises zu hoch
Beim Umschalten geht der Algorithmus von der Erzwingung einer vordefinierten Sequenz zur Geschwindigkeitsmessung und entsprechenden Berechnung der Ausgangswerte über. Somit kompensiert es die tatsächliche Geschwindigkeit, die sich aus der Beschleunigung im offenen Regelkreis ergibt. Wenn die PI-Verstärkungen zu hoch sind, kann es zu einer vorübergehenden Instabilität kommen, bei übertriebener Übersteuerung kann es jedoch zu einem Überstromausfall kommen.
Abbildung 11 zeigt ein BeispielampDies kann zu einer Instabilität beim Übergang vom Open-Loop- zum Closed-Loop-Betrieb führen.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (15)
Falsche BEMF-Schwellenwerte
  • Wenn die falschen BEMF-Schwellenwerte eingestellt sind, wird der Nulldurchgang entweder früher oder später erkannt. Dies hat zwei Haupteffekte zur Folge:
  • Die Wellenformen sind asymmetrisch und die Steuerung ineffizient, was zu hohen Drehmomentschwankungen führt (Abbildung 12).
  • Der Drehzahlregelkreis wird instabil, wenn versucht wird, die Drehmomentschwankungen auszugleichen
  • Der Benutzer würde eine instabile Drehzahlregelung und im schlimmsten Fall eine Desynchronisation des Motorantriebs mit der Regelung erleben, was zu einem Überstromereignis führen würde.
  • Die richtige Einstellung der BEMF-Schwellenwerte ist entscheidend für eine gute Leistung des Algorithmus. Schwellenwerte hängen auch von der Buslautstärke abtagDer Wert und das Sensornetzwerk. Es wird empfohlen, Abschnitt 2.1 zu Rate zu ziehen, um zu überprüfen, wie die Bände ausgerichtet werdentage-Niveaus auf den in der MC-Workbench eingestellten Nominalpegel.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (16)
Betrieb im geschlossenen Regelkreis
Wenn der Motor die Beschleunigungsphase abschließt, wird der BEMF-Nulldurchgang erkannt. Der Rotor wird mit der 6-Schritte-Sequenz synchronisiert und es entsteht ein geschlossener Regelkreis. Es können jedoch weitere Parameteroptimierungen durchgeführt werden, um die Leistungen zu verbessern.
Wie beispielsweise im vorherigen Abschnitt 3.1.3 („Falsche BEMF-Schwellenwerte“) beschrieben, kann der Geschwindigkeitsregelkreis, selbst wenn er funktioniert, instabil erscheinen und die BEMF-Schwellenwerte müssen möglicherweise etwas verfeinert werden.
Darüber hinaus müssen die folgenden Aspekte berücksichtigt werden, wenn ein Motor mit hoher Drehzahl arbeiten oder mit einem hohen PWM-Tastverhältnis betrieben werden soll:
PWM-Frequenz
  • Geschwindigkeitsregelkreis-PI-Verstärkungen
  • Phase der Austastperiode der Entmagnetisierung
  • Verzögerung zwischen Nulldurchgang und Schrittkommutierung
  • Wechseln Sie zwischen der Erfassung der PWM-Ausschaltzeit und der Einschaltzeit
PWM-Frequenz
Der sensorlose 6-Stufen-Algorithmus führt in jedem PWM-Zyklus eine Erfassung der BEMF durch. Um das Nulldurchgangsereignis richtig zu erkennen, ist eine ausreichende Anzahl von Erfassungen erforderlich. Als Faustregel gilt für einen ordnungsgemäßen Betrieb, dass mindestens 10 Aufnahmen über 60 elektrische Winkel eine gute und stabile Rotorsynchronisation gewährleisten.
daher
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (17)
Geschwindigkeitsregelkreis-PI-Verstärkungen
Die PI-Verstärkungen des Geschwindigkeitsregelkreises beeinflussen die Reaktionsfähigkeit des Motors auf jeden Beschleunigungs- oder Verzögerungsbefehl. Eine theoretische Beschreibung der Funktionsweise eines PID-Reglers würde den Rahmen dieses Dokuments sprengen. Der Benutzer muss sich jedoch darüber im Klaren sein, dass die Verstärkungen des Geschwindigkeitsregelkreisreglers während der Laufzeit über den Motorpilot geändert und nach Wunsch angepasst werden können.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (18)
Phase der Austastperiode der Entmagnetisierung
Die Entmagnetisierung der schwebenden Phase ist ein Zeitraum nach dem Wechsel der Phasenerregung, in dem aufgrund der Stromentladung (Abbildung 14) der Messwert der Gegen-EMK nicht zuverlässig ist. Daher muss der Algorithmus das Signal ignorieren, bevor es abgelaufen ist. Dieser Zeitraum wird in der MC-Workbench in Prozent definierttage eines Schritts (60 elektrische Grad) und kann über den Motor Pilot wie in Abbildung 15 dargestellt in der Laufzeit geändert werden. Je höher die Motorgeschwindigkeit, desto schneller die Entmagnetisierungsperiode. Die Entmagnetisierung erreicht standardmäßig einen unteren Grenzwert, der auf drei PWM-Zyklen bei 2/3 der maximalen Nenngeschwindigkeit eingestellt ist. Wenn die Induktivitätsphase des Motors niedrig ist und nicht viel Zeit zum Entmagnetisieren benötigt, kann der Benutzer die Maskierungsperiode oder die Geschwindigkeit reduzieren, auf die die Mindestperiode eingestellt ist. Es wird jedoch nicht empfohlen, die Maskierungsperiode auf unter 2 – 3 PWM-Zyklen zu senken, da es bei der Schrittkommutierung zu plötzlicher Instabilität der Steuerung kommen kann.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (19)
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (20)
Verzögerung zwischen BEMF-Nulldurchgang und Schrittkommutierung
Sobald das BEMF-Nulldurchgangsereignis erkannt wurde, wartet der Algorithmus normalerweise 30 elektrische Grad bis zu einer Schrittsequenzkommutierung (Abbildung 16). Auf diese Weise wird der Nulldurchgang in der Mitte der Stufe positioniert, um die maximale Effizienz anzustreben.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (21)
Da die Genauigkeit der Nulldurchgangserkennung von der Anzahl der Erfassungen und damit von der PWM-Frequenz abhängt (siehe Abschnitt 3.2.1), kann die Genauigkeit ihrer Erkennung bei hoher Geschwindigkeit relevant werden. Es entsteht dann eine offensichtliche Asymmetrie der Wellenformen und eine Verzerrung des Stroms (siehe Abbildung 17). Dies kann durch eine Verringerung der Verzögerung zwischen Nulldurchgangserkennung und Schrittkommutierung ausgeglichen werden. Die Nulldurchgangsverzögerung kann vom Benutzer über den Motorpilot geändert werden, wie in Abbildung 18 dargestellt.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (22)
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (23)
Wechseln Sie zwischen der Erfassung der PWM-Ausschaltzeit und der Einschaltzeit
Bei Erhöhung der Drehzahl bzw. des Laststroms (also des Motorausgangsdrehmoments) erhöht sich das Tastverhältnis der PWM-Ansteuerung. Somit ist die Zeit für sampDie Belastung der BEMF während der OFF-Zeit wird reduziert. Um 100 % des Arbeitszyklus zu erreichen, wird die ADC-Umwandlung während der Einschaltzeit der PWM ausgelöst, wodurch von der BEMF-Erfassung während der PWM-Ausschaltzeit auf die PWM-Einschaltzeit umgeschaltet wird.
Eine falsche Konfiguration der BEMF-Schwellenwerte während der Einschaltzeit führt zu den gleichen Problemen wie in Abschnitt 3.1.3 („Falsche BEMF-Schwellenwerte“) beschrieben.
Standardmäßig sind die Schwellenwerte für die BEMF-EIN-Erkennung auf die Hälfte der Buslautstärke eingestellttage (siehe Abschnitt 2.1). Der Benutzer muss berücksichtigen, dass die tatsächlichen Schwellenwerte von der Buslautstärke abhängentagDas Werte- und Wahrnehmungsnetzwerk. Befolgen Sie die Anweisungen in Abschnitt 2.1 und stellen Sie sicher, dass die Lautstärke richtig ausgerichtet isttagStellen Sie den Pegel auf den in der MC-Workbench eingestellten Nennwert ein.
Die Werte der Schwellenwerte und des PWM-Arbeitszyklus, bei denen der Algorithmus zwischen AUS- und EIN-Erkennung wechselt, sind zur Laufzeit über den Motor Pilot konfigurierbar (Abbildung 19) und in Vol. XNUMX verfügbartagNur Fahren im E-Modus.
STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (24)

Fehlerbehebung

Worauf muss ich achten, um einen Motor mit einem sensorlosen 6-Stufen-Algorithmus richtig drehen zu lassen? Das Drehen eines Motors mit einem sensorlosen 6-Stufen-Algorithmus setzt voraus, dass ich in der Lage bin, das BEMF-Signal richtig zu erkennen, den Motor zu beschleunigen und Synchronisieren Sie den Rotor mit dem Steueralgorithmus. Die ordnungsgemäße Messung der BEMF-Signale liegt in der effektiven Gestaltung des BEMF-Sensornetzwerks (siehe Abschnitt 2.1). Das Zielvolumentage (Bdtage-Modus-Fahren) oder Strom (Strommodus-Fahren) während der Startsequenz hängt von den Motorparametern ab. Die Definition (und schließlich die Dauer) des Bandestage/Stromphase während der Ausrichtung, Beschleunigung und Umschaltschritte sind entscheidend für einen erfolgreichen Ablauf (siehe Abschnitt 3).
Letztendlich hängt die Synchronisierung des Rotors und die Fähigkeit, die Drehzahl des Motors auf die Nenndrehzahl zu erhöhen, von der Optimierung der PWM-Frequenz, der BEMF-Schwellenwerte, der Entmagnetisierungsperiode und der Verzögerung zwischen Nulldurchgangserkennung und Schrittkommutierung ab, wie in beschrieben Abschnitt 3.2.
Was ist der richtige Wert des BEMF-Widerstandsteilers?
Der Benutzer muss sich darüber im Klaren sein, dass ein falscher BEMF-Widerstandsteilerwert jede Chance auf einen ordnungsgemäßen Antrieb des Motors zunichte machen kann. Weitere Einzelheiten zum Entwurf des BEMF-Sensornetzwerks finden Sie in Abschnitt 2.1.
Wie konfiguriere ich den Startvorgang?
  • Um den Startvorgang zu optimieren, empfiehlt es sich, die Dauer jedes Schritts der Hochdrehphase auf mehrere Sekunden zu erhöhen. Es lässt sich dann nachvollziehen, ob der Motor richtig beschleunigt, oder bei welcher Drehzahl/Schritt des Open-Loop-Verfahrens er ausfällt.
  • Es ist nicht ratsam, einen Motor mit hohem Trägheitsmoment mit einem zu steilen r zu beschleunigenamp.
  • Wenn die konfigurierte LautstärketagWenn die Phase oder der Phasenstrom zu niedrig ist, bleibt der Motor stehen. Ist er zu hoch, wird der Überstrom ausgelöst. Allmähliche Erhöhung der Lautstärketage Phase (Bdtage-Modus-Fahren) oder Strom (Strommodus-Fahren) während der Ausrichtungs- und Beschleunigungsschritte ermöglichen es dem Benutzer, den Arbeitsbereich des Motors zu verstehen. Tatsächlich hilft es, das Optimum zu finden.
  • Bei der Umstellung auf einen Closed-Loop-Betrieb müssen zunächst die Verstärkungen des PI reduziert werden, um auszuschließen, dass ein Kontrollverlust oder eine Instabilität auf den Drehzahlregelkreis zurückzuführen ist. An diesem Punkt ist es von entscheidender Bedeutung, sicherzustellen, dass das BEMF-Erkennungsnetzwerk ordnungsgemäß ausgelegt ist (siehe Abschnitt 2.1) und das BEMF-Signal ordnungsgemäß erfasst wird. Der Benutzer kann auf den Messwert des BEMF zugreifen und ihn im Motor Pilot grafisch darstellen (siehe Abbildung 20), indem er die verfügbaren Register BEMF_U, BEMF_V und BEMF_U im Abschnitt ASYNC-Plot des Tools auswählt. Sobald sich der Motor im Betriebszustand befindet, können die Verstärkungen des Drehzahlregelkreises optimiert werden. Für weitere Details oder Parameteroptimierung siehe Abschnitt 3 und Abschnitt 3.2.
    STMicroelectronics-STM32-Motor-Control-SDK-6-Step-Firmware-Sensor-Less-Parameter- (1)
 Was kann ich tun, wenn sich der Motor beim Start nicht bewegt?
  • Beim Start entsteht ein linear steigendes Volumentage (BdtagDen Motorphasen wird Strom (Antrieb im e-Modus) oder Strom (Antrieb im Strommodus) zugeführt. Ziel ist es, es an einer bekannten und vordefinierten Position auszurichten. Wenn der BdtagIst e nicht groß genug (besonders bei Motoren mit hoher Trägheitskonstante), bewegt sich der Motor nicht und der Vorgang schlägt fehl. Weitere Informationen zu möglichen Lösungen finden Sie in Abschnitt 3.1.1.

Was kann ich tun, wenn der Motor die Beschleunigungsphase nicht abschließt?
Wie in der Ausrichtungsphase wird der Motor im offenen Regelkreis durch Anlegen einer linear ansteigenden Lautstärke beschleunigttage (Bdtage-Modus-Fahren) oder Strom (Strommodus-Fahren) zu den Motorphasen. Die Standardwerte berücksichtigen keine eventuell auftretende mechanische Belastung, oder die Motorkonstanten sind nicht genau und/oder bekannt. Daher kann der Beschleunigungsvorgang aufgrund eines Motorstillstands oder eines Überstromereignisses fehlschlagen. Weitere Informationen zu möglichen Lösungen finden Sie in Abschnitt 3.1.2.

Warum schaltet der Motor nicht in den geschlossenen Drehzahlregelkreis um?
Wenn der Motor ordnungsgemäß auf die Zielgeschwindigkeit beschleunigt, aber plötzlich stoppt, stimmt möglicherweise etwas mit der Konfiguration des BEMF-Schwellenwerts nicht oder die PI-Reglerverstärkungen. Weitere Einzelheiten finden Sie in Abschnitt 3.1.3.

Warum sieht die Geschwindigkeitsschleife instabil aus?
Es wird erwartet, dass das Rauschen der Messung mit der Geschwindigkeit zunimmt, da die Anzahl der BEMF umso geringer ist, je höher die Geschwindigkeit istampfür die Nulldurchgangserkennung und damit für die Genauigkeit seiner Berechnung. Eine übermäßige Instabilität des Geschwindigkeitsregelkreises kann jedoch auch ein Symptom für einen falschen BEMF-Schwellenwert oder nicht ordnungsgemäß konfigurierte PI-Verstärkungen sein, wie in Abschnitt 3.1.3 hervorgehoben.

  • Wie kann ich die maximal erreichbare Geschwindigkeit erhöhen?

Die maximal erreichbare Geschwindigkeit wird normalerweise durch mehrere Faktoren begrenzt: PWM-Frequenz, Verlust der Synchronisation (aufgrund einer übermäßigen Entmagnetisierungsdauer oder einer falschen Verzögerung zwischen Nulldurchgangserkennung und Schrittkommutierung), ungenaue BEMF-Schwellenwerte. Weitere Einzelheiten zur Optimierung dieser Elemente finden Sie in Abschnitt 3.2.1, Abschnitt 3.2.3, Abschnitt 3.2.4 und Abschnitt 3.2.5.

Warum stoppt der Motor ab einer bestimmten Drehzahl plötzlich?
Dies ist wahrscheinlich auf eine ungenaue Konfiguration des BEMF-Schwellenwerts bei der PWM-Einschaltung zurückzuführen. Weitere Einzelheiten finden Sie in Abschnitt 3.2.5.

Versionsgeschichte
Tabelle 2. Revisionsverlauf des Dokuments
Datum Version Änderungen
24. November 2023 1 Erstveröffentlichung.

WICHTIGER HINWEIS – SORGFÄLTIG LESEN

STMicroelectronics NV und seine Tochtergesellschaften („ST“) behalten sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen, Korrekturen, Erweiterungen, Modifikationen und Verbesserungen an ST-Produkten und/oder diesem Dokument vorzunehmen. Käufer sollten sich vor der Bestellung die neuesten relevanten Informationen zu ST-Produkten besorgen. ST-Produkte werden gemäß den zum Zeitpunkt der Auftragsbestätigung gültigen Verkaufsbedingungen von ST verkauft.
Die alleinige Verantwortung für die Auswahl und Verwendung von ST-Produkten liegt beim Käufer. ST übernimmt keine Haftung für Anwendungsunterstützung oder das Design der Produkte des Käufers.
ST gewährt hiermit keine ausdrückliche oder stillschweigende Lizenz an geistigen Eigentumsrechten.
Der Weiterverkauf von ST-Produkten unter anderen als den hier aufgeführten Bedingungen führt zum Erlöschen jeglicher von ST für das jeweilige Produkt gewährter Garantie.
ST und das ST-Logo sind Marken von ST. Weitere Informationen zu ST-Marken finden Sie unter www.st.com/trademarkS. Alle anderen Produkt- oder Dienstleistungsnamen sind Eigentum ihrer jeweiligen Inhaber.
Die Informationen in diesem Dokument ersetzen alle zuvor in früheren Versionen dieses Dokuments enthaltenen Informationen.
© 2023 STMicroelectronics – Alle Rechte vorbehalten

Dokumente / Ressourcen

STMicroelectronics STM32 Motorsteuerungs-SDK, 6-stufiger Firmware-Sensor ohne Parameter [pdf] Benutzerhandbuch
STM32 Motorsteuerungs-SDK 6-stufiger Firmware-Sensor ohne Parameter, Motorsteuerungs-SDK 6-stufiger Firmware-Sensor ohne Parameter, Schritt-Firmware-Sensor ohne Parameter, Firmware-Sensor ohne Parameter, sensorloser Parameter, weniger Parameter, Parameter

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *