Brushless-Regler


Die Antriebe des MikroKopters sind Bürstenlose Gleichstrommotoren; sog. Brushless-Motoren.
Sie sind von der Technik mit Synchron- oder Schrittmotoren zu vergleichen.


Die Vorteile dieser Motoren sind:
  • Hohe Leistungsdichte (Leistung zu Gewicht)
  • Verschleissfrei, weil keine Bürsten oder Getriebe
  • von verschiedenen Herstellern in unterschiedlichen Leistungsklassen erhältlich

Allerdings benötigt man eine Elektronik (Brushless-Treiber), die das synchrone Drehfeld der Motoren erzeugen und mit denen man die Drehzahl stellen oder regeln kann.
Zwar gibt es auf dem Markt bereits diverse BL-Regler aber leider kann keiner dieser Regler unsere speziellen Anforderungen erfüllen.
Wir benötigen einen Brushless-Regler, der einen neuen Sollwert sehr schnell (<0,5ms) annehmen und einstellen kann. Ausserdem sollte er über eine I2C-Bus Schnittstelle verfügen.

So haben wir einfach einen eigenen preisgünstigen selbstbau Brushless Regler entwickelt

Brushless Treiber


Anleitung zum Nachbau, Schaltplan, Software und Stückliste im Downloadbereich...
Die unbestückte Leiterkarte ist in unserem Shop erhältlich

Wir betreiben diesen Regler z.B. zusammen mit ROBBE ROXXY 2815 oder ROBBE ROXXY 2824-34.

Technische Daten

  • Abmessungen 20 * 43mm
  • Bestückt mit sechs 30A MosFets
  • Dauerbelastung ca. 55W (bei schlechter Kühlung)
  • Spitzenbelastung ca. 120W (kurzzeitig)
  • Controller: ATMEGA8 von Atmel
  • Strommessung und -begrenzung auf der Gleichtromseite
  • zwei LEDs (z.B. Okay und Error)
  • Batteriespannungsmessung mit Unterspannungserkennung
  • Die Software ist komplett in C und mit Quellcode verfügbar
  • diverse Schnittstellen zur Sollwerteingabe
  • Ein Empfänger kann von den 5V versorgt werden (max. 50mA)

Als Schnittstellen sind möglich:

  • Asynchrone Serielle Schnittstelle (zum Ansteuern oder Debuggen)
  • I2C (zur schnellen Sollwertvorgabe)
  • PPM-Signal (als Standard-Eingang vom Empfänger)


Funktionsweise

Die Ansteuerung erfolgt dreiphasig in Impulsgruppen mit überlagerter PWM.
Die PWM bestimmt die Höhe der Phasenspannung (genauer: der Arithmetische Mittelwert der Spannung).
Die Phasenspannung am Motor (also die PWM) ist eine Stellgröße für die Drehzahl, weil:
Ein Motor erzeugt durch seine Drehung eine Gegenspannung (wie ein Generator), die der angelegten Spannung entgegenwirkt.
Es stellt sich eine Drehzahl ein, bei der die Differenz von angelegter Spannung und Gegenspannung einen
Strom erzeugt, der dem abgenommen Drehmoment entspricht.
Es sind immer 2 der sechs MOSFETSs in Betrieb, um die Motorwicklungen zu bestromen.


Der Zeitpunkt der Kommutierung (heißt: es muss auf die nächste Phase geschaltet werden), wird durch Spannungsmessung
(genauer: Vergleich) an der nicht-bestromten Phase bestimmt.
Dazu wird der im Atmega8 vorhandene Analogkomperator verwendet.
Der Strom wird über den Spannungsabfall an einer definierten Leiterbahn bestimmt. Das Verfahren ist für eine Überstromabschaltung
genau genug.

 

Mosfet Endstufen

 

Mosfet

Die Leistungsstufe besteht aus einem N-Kanal und einem P-Kanal MosFet pro Phase.

 

Der P-Kanal Mosfet benötigt einen vorgeschalteten Transistor, um das Gatepotential über eoinen Controllerportpin schalten zu können.

 

Rotorlageerkennung

 

Kommutierungserkennung

Dieser Schaltungsteil wirkt unscheinbar, hat es aber in sich.
Hier wird aus den Spannungen der Motorphasen ein virtueller Sternpunkt gebildet (Mittel)
Der Controller vergleicht nun die gefilterten Spannungen der Phasen (NULL_x) mit dem Mittelpunkt und bestimmt anhand dessen den Zeitpunkt für die Kommutierung.
Unter "Kommutierung" versteht man das Umschalten der Leistungsendstufe auf die nächste Phase.

Strommessung

Shunt

 

Auf der Leiterkarte befindet sich eine Masseleiterbahn, die absichtlich etwas verlängert wurde.
Anhand des Spannungsfalls über der Leiterbahn bestimmt der Controller den aufgenommenen Strom und drosselt den Regler etwas bei Überstrom.
Es wird nicht plötzlich abgeschaltet, sondern der Strom wird langsam gesenkt. Dadurch fällt der Flieger nicht vom Himmel, wenn ein Regler an die Strombegrenzung kommt.

 

Controller

ATMEGA8

Als Controller kommt ein AtMega8 von Atmel zum Einsatz.

Er besitzt ein für unsere Anwendung wichtiges Feature: Ein Analogcomperator mit Multiplexer

Der Atmel ist sehr preisgünstig (<2EUR), einfach zu programmieren, benötigt minimale Peripherie und ist für unsere Drehzahlbereiche schnell genug.

 

Debuggen

Man kann sich im laufenden Betrieb die wichtigsten Signale über die Serielle Schnittstelle ansehen:

Debugging

Hier im Beispiel:
Grün (unten Eckig): Solldrehzahl
Blau (unten auf der Grünen): Istdrehzahl
Gelb: PWM
Rot: Strom


Hier habe ich das Verhalten von Soll- und Istdrehzahl verglichen und dabei Strom und PWM betrachtet.

Als Debugger-Software verwenden wir das Downloader und Debugger-Tool für unsere MicroSPS

Ggf. muss man sich in der Quelle der Software die Daten in nur in die DebugOut.Analog[x]-Variablen eintragen.

 

Schub über Strom-Kennlinie

eines Robbe-Roxxy-2824-34 Motors mit EPP1045-Propeller

Schubkennlinie

Anhand der Kennlinie kann man leich abschätzen, wie viel Strom das Modell bei seinem Gewicht brauchen wird.


z.B. Wenn das Modell 800g wiegt, braucht es ca. 8A, weil vier Motoren sich das Gewicht teilen und jeder dann knapp 2A braucht.

Ein 2Ah Akku reicht für die 800g dann etwa: 2[Ah] * 60min / 8A = 15min

 

Motordaten simulieren

Mit diesem kleinen Programm kann man die Motordaten simulieren.

Die Daten werden auf der seriellen Schnittstelle im Format gesendet:
0xF5 aa bb cc dd
(aa = Motor 1, bb = Motor 2, usw.)

Üblicherweise mit einer Baudrate von 38400Baud.

 


Der Anschluss an den Motorregler ist einfach.

Als Schnittstelle eignet sich hervorragend unser serieller Konverter (SerCon) oder ein einfacher Transisror-Inverter:

Es werden dann lediglich 1 NPN-Transistor (z.B. BC337 o.ä.) und zwei 10k-Widerstände benötigt:

Das PC-Programm befindet sich im Downloadbereich...