Antriebselektronik

BLDC-Motorsteuerung mit ARM Cortex-M3

Seite: 3/3

Anbieter zum Thema

Diese Zeitpunkte werden durch die Hallsensoren signalisiert. Dabei ist jedem gültigen Hallzustand eine bestimmte Schaltung der Ausgangssignale und somit ein spezifisches Magnetfeld zugeordnet. So kann z.B. ein aktives Signal des Hallsensors A die Ausgangssignale für „Low-Side FET 1“ und „High-Side FET 2“ aktiv setzen. Die Kommutierung wird meist als Lookup-Tabelle hinterlegt. Dies spart Rechenzeit, braucht allerdings mehr Speicherplatz.

Beim Design der Tabelle muss bedacht werden, dass der Motor rechts oder links laufen kann. Außerdem können Spezialzustände wie das Bremsen oder Ausschalten des Motors auftreten. In diesen Fällen werden statt der nächsten Kommutierung statische Zustände angelegt oder gar keine FETs geschaltet. Außerdem sollte auch im Falle eines ungültigen Hallzustandes eine Reaktion eingeleitet werden.

Fertige Firmware und geringe Latenzzeiten

Die hier beschriebene Steuerung übernimmt eine MCU. Die Konfiguration der Peripherie ist dank einer vorgefertigten, freien Firmware von ST schnell erledigt. Durch die Cortex-Architektur sind kaum Latenzzeiten bei den Interrupts zu erkennen. Das ist wichtig für eine verzögerungsfreie Ausgabe der Gatesignale.

Die Hallsignale werden im Standard-Timer ausgewertet. Die zum Timer gehörenden Capture-/Compare-Einheiten können über eine spezielle Einstellung durch eine XOR-Verknüpfung verbunden werden. Bei jeder Änderung an einem der Hallsignale toggelt das so entstandene Triggersignal. Die Flanken des Triggersignals werden genutzt, um den Kommutierungsinterrupt des Motorcontrol-Timers auszulösen.

(ID:316282)