Asterix
ESC
Die Aufgabe eines Electronic Speed Controller (ESC) ist es einen Motor anzusteuern. Dabei kann zur Steuerung z. Bsp. ein Drehmoment, eine Geschwindigkeit oder eine Position vorgegeben werden. Der ESC steuert den Motor so an, dass die soll Größe erreicht wird.
Generell wird zwischen zwei arten unterschieden:
- Closed loop
- Open loop
Bei closed loop controllern werden vom System gemessene Daten verwendet um den Motor anzusteuern. Gemessene Daten können beispielsweise der Strom oder die Position des Motors sein.
Bei open loop controllern werden keine Daten des Systems gemessen und die Steuerung nutzt nur ihren internen Zustand um den Motor zu steuern. Meistens führt dies dazu, dass der Motor nicht so gut gesteuert werden kann wie in einer closed loop Steuerung.
BLDC Motor
Brushless Direct Current (BLDC) Motoren sind in der Robotik viel verwendete Motoren. Vorteile sind geringer Verschleiß so wie gute regelbarkeit der Geschwindigkeit.
Konträr zum Namen können BLDC Motoren nich direkt mit Gleichstrom (Direct Current) betrieben werden. Der Name kommt von den DC Motoren, welche so genannte Bürsten (Brushes) besitzen, da BLDC Motoren immer mit einem ESC verwendet werden, welcher Gleichstrom für den Motor passend umwandelt, und die Verkabelung bis zum ESC somit sehr ähnlich zu der eines DC Motors ist. Daher können DC Motoren oft mit wenig Aufwand durch BLDC Motoren ersetzt werden.
Aufbau
Ein BLDC Motor besteht Elektrisch aus drei Spulen. Diese werden genutzt um alternierende Magneten an- bzw. ab-zustoßen.
Elektrisch werden die Spulen entweder als Stern oder als Delta verbunden:
Für die Steuerung ist die Art der Verbindung egal, da die beiden Darstellungen in einander umgewandelt werden können. Die Anschlüsse U, V und W werden auch Phasen genannt.
Der Motor kann, wie oben gezeigt, durch einfaches an und aus schalten der Spulen gedreht werden. Dies wird in der Praxis jedoch nicht gemacht, da die Steuerung damit sehr ungenau ist. Stattdessen wird für jede Phase eine Spannung erzeugt. Dadurch kann der Strom durch die Spulen fein eingestellt werden und eine genauere Steuerung realisiert werden. Die Spannung wird meistens mittels Puls Width Modulation (PWM) erzeugt. Die Frequenz dieser sollte dabei über 25kHz liegen um unangenehme geräusche durch bspw. Spulenfiepen zu vermeiden. Höhere Frequenzen führen oft zu einem effizienterem Betrieb des Motors, reduzieren aber auch das Drehmoment.
Mehr:
FOC
Field Oriented Control (FOC) ist eine Methode um den Strom durch die Spulen in zwei Komponenten zu teilen:
- q: Trägt zum Drehmoment bei
- d: Trägt nicht zum Drehmoment bei (Feldschwächung)
Zur Umwandlung werden die sogenannten Clarke und Park Transformationen verwendet. Durch die Trennung der Komponenten können das Drehmoment und die Feldschwächung separat geregelt werden. Die d-Komponente wird dabei i.d.R. auf 0 geregelt, es kann jedoch Vorteile haben den d-Anteil nicht auf 0 zu regeln um eine Feldschwächung zu erzeugen.
Damit die d- und q-Komponenten getrent werden können muss die Rotation des Motors bekannt sein. Hierfür können ein Encoder oder Hall Effekt Sensoren genutzt werden. Ersteres ist sehr genau und führt daher zu einem guten ergebnis, besonders bei langsamen bewegungen, während zweitere oft schon im Motor verbaut sind und dadurch keinen extra platz brauchen. FOC ist also eine closed loop technik.
FOC wird oft mit einer PID Regelung zu dem folgendem System kombiniert:
Die Idee von FOC ist nicht auf BLDC Motoren beschränkt. Schrittmotoren können damit genau so angesteuert werden, wobei die Clarke Transformation entfällt, da Schrittmotoren nur zwei Spulen haben. Bei DC Motoren wird die Transformation durch die Bürsten in Hardware erledigt. Allerdings Steuert die angelegte Spannung nur die q-Komponente.
Es gibt weitere Transformationen um d und q in U, V und W umzuwandeln. Ein Beispiel dafür ist die Space-Vector-Transformation.
Mehr:
Asterix
Asterix ist unsere Motor Steuerung für die erste Roboter Generation. Diese basiert auf dem TMC4671 von Trinamic. Der Integrated Circuit (IC) implementiert FOC sowie PID Regler für Drehmoment, Feldschwächung, Geschwindigkeit und Position.
Auf dem PCB ist folgendes Implementiert:
Die Verstärkung der Spannung über die Strommesswiederstände wurde versucht selbst zu Implementieren. Die Implementierung lässt allerdings zu viel von dem PWM-Signal durch, wodurch die Messung unbrauchbar ist. Dadurch ist es nicht möglich die PID-Regler für d und q zu verwenden. Da die Architektur des TMC4671 den Geschwindigkeits-PID-Regler fest mit dem q-PID-Regler verdrahtet ist es allerdings auch nicht möglich die Geschwindigkeits-Regelung zu benutzen. Als workaround werden p und q direkt vom Host gesetzt. Die Regelung wird dabei auf den Host ausgelagert und benutzt einen PID-Regler um die Geschwindigkeit direkt mit dem q-Wert zu regeln.
| aktuelle Version | Version in Arbeit | verantwortliche Person |
|---|---|---|
| [v2.4] | - | Max Känner |
Versionen
| Version | Kommentar | Bearbeiter | Bearbeitungsstand | Fertigstellung |
|---|---|---|---|---|
| [v1.0] | - | Max Känner | veraltet | - |
| [v2.0] | - | Max Känner | veraltet | - |
| [v2.1] | - | Max Känner | veraltet | - |
| [v2.2] | - | Max Känner | veraltet | - |
| [v2.3] | - | Max Känner | aktuell | - |
| [v2.4] | - | Max Känner | aktuell | - |
Features
| Version | # Regler / PCB | Regler Typ | Strom Messung |
|---|---|---|---|
| [v1.0] | 1 | TCM4671 | ✅ |
| [v2.0] | 2 | TCM4671 | ✅ |
| [v2.1] | 2 | TCM4671 | ✅ |
| [v2.2] | 2 | TCM4671 | ✅ |
| [v2.3] | 2 | TCM4671 | ✅ |
| [v2.4] | 2 | TCM4671 | ❌ |



No Comments