Forum: Analoge Elektronik und Schaltungstechnik BLDC Motore steuerung


von fan edy (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,

Ich möchte mich demnächst mit einem BLDC Motor beschäftigen. ich habe 
eine BLDC Motoren gekauft und den Descovry stm32f4 gekauft und ein 
Treiber Modul gebastelt.
der Grundprinzip habe ich teilweise schon verstanden.
beim googeln habe ich die folgende Seite gefunden,
https://gitorious.org/open-bldc/open-bldc/source/bf280abaabba22c2d8fd414cc2dd30d660252718:source/firmware

was mir stört der Diagramm an der Anhang das kann ich nicht verstehen.
kann jemand mir errklären was beschreibt diese Diagramm.

Ich bin für jeden Type sehr dankbar.

von Jan (Gast)


Lesenswert?

Die Diagramme beschreiben die Ansteuerung der jeweiligen 
Schalttransistoren /FET's in Blockkommutierung.

  V+           V+
  |            |
 T1            T2
  |            |
  +-----M------+
  |            |
 T3            T4
  |            |
 GND          GND

Am einfachsten lässt dich das an einer simplen H-Brücke (für einen 
Gleichstrommotor)erklären.
Um den Motor links laufen zu lassen kann man T1, T4 durchschalten. 
Rechtslauf T2, T3 die Anderen sperren jeweils.

Wenn man die Geschwindigkeit steuern will, steuert man einen der 
leitenden Transistoren mit einer PWM an.
Z.B. T1->PWM; T4 durchschalten.
Jetzt wird durch die häufigen Schaltverluste in T1 dieser aber viel 
Wärmer als T4.
Also: Einmal T1->PWM; T4 durchschalten,
beim nächsten mal: T4->PWM; T1 durchschalten.

Das prinzip jetzt auf die Blockkommutierung übertragen führt zu den 
Diagrammen.

Gruß Jan

von fan edy (Gast)


Lesenswert?

Hi Jan,
vielen dank für deine schnelle Antwort,
das heißt anhand der PWM Umstellungen kann ich die Geschwindigkeit
(Motorendrehzahl) umstellen, je höher die Periode desto dreht der Motor 
langsamer oder?

von MaWin (Gast)


Lesenswert?

fan edy schrieb:
> das heißt anhand der PWM Umstellungen kann ich die Geschwindigkeit
> (Motorendrehzahl) umstellen, je höher die Periode desto dreht der Motor
> langsamer oder?

Nein,

du hast BLDC und deren benötigte Ansteuerung noch ÜBERHAUPT nicht 
verstanden.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.10.1

Die 'Umstellungen' folgen direkt aus der Rotorposition, sie sind eine 
Folge der Drehung, nicht die Ursache der Drehung. Wie schnell er dreht, 
folgt aus der (effektiven Sinus-) Spannung die der Motor sieht. Damit er 
so schnell dreht wie man will, muss man die Drehzahl erfassen (das tut 
man wegen der Rotorposition sowieso) und die Spannung regeln.


Erfasst man die Rotorlage durch Hallsensoren, weiss man sie auch im 
Stand, kann also problemlos den Motor anlaufen lassen. Erfasst man die 
Rotorposition durch die EMK Spulengegenspannung, weiss man sie erst ab 
einer Mindestdrehzahl, muss als einen Startimpuls geben und guecken ob 
es geklappt hat. Dazu ist es gut, wenn der Motor ohne Belastung dreht 
(Propeller, Ventilator etc.) und schlecht wenn er eine hohe Last zu 
drehen hat (Antriebsrad, Getriebe).

von fan edy (Gast)


Lesenswert?

Hi
vielen Dank für deine Antwort MaWin,
Stellen wir vor, wir haben die spulen wie in der Block Kommutierung 
gesteuert. der Motor dreht sich langsam, plötzlich wollte ich den Motor 
schneller drehen lassen.
so werde ich machen "wie ich verstanden habe???", ich werde der PWM 
Signal mit einen höher Frequenz umstellen und so sollte der Motor 
schneller drehen das Gegenteil werde ich tun, wenn ich es langsamer 
laufen lasse.
was für rolle hat der Spannung ist mir noch nicht klar. aber würde ich 
sagen -> um die Drehmoment zu umstellen, klingt bei mir logisch.

von Marius P. (marius_p)


Lesenswert?

Schau dir das Open BLDC Projekt an: http://open-bldc.org/wiki/Open-BLDC
Etwas eingestaubt, aber kann genau das was du suchst.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

fan edy schrieb:
> so werde ich machen "wie ich verstanden habe???", ich werde der PWM
> Signal mit einen höher Frequenz umstellen und so sollte der Motor
> schneller drehen das Gegenteil werde ich tun, wenn ich es langsamer
> laufen lasse.

Nö. Lies dir Mawins Antwort nochmal durch. Die Geschwindigkeit des 
Motors wird nicht durch die Frequenz der PWM geändert (die Frequenz 
bleibt sowieso immer gleich), sondern durch Änderung des 
Tastverhältnisses der PWM. Eine Erhöhung des Tastverhältnisses lässt den 
Motor schneller drehen, eine Verringerung langsamer.

Es ist vergleichbar mit einem normalen Bürstenmotor, den du evtl. schon 
mal auseinander genommen hast. Auch hier wird die Weiterschaltung der 
Spulen fest durch den Kommutator vorgegeben, das Verhältnis Drehwinkel 
und Spulenweiterschaltung bleibt unabhängig von der Drehzahl fix. Wenn 
du den Motor schneller drehen lassen willst, gibst du mehr Spannung (und 
damit höheren Strom) auf die Spulen.
Genauso ist es beim Sensor-BLDC auch. Die Sensoren schalten an festen 
Punkten der Drehung auf die nächste Spule um und die Drehzahl wird durch 
den Strom in den Spulen bestimmt.
Es werden also PWM-modulierte Pakete entsprechend der Sensorposition auf 
die Spulen gegeben.

: Bearbeitet durch User
von fan edy (Gast)


Lesenswert?

ich Danke euch alle Matthias Sch,  MaWin und Jan.
jetzt sind paar Sachen mir klar geworden.

von Raimund R. (corvuscorax)


Lesenswert?

Matthias Sch. schrieb:
> fan edy schrieb:
>> so werde ich machen "wie ich verstanden habe???", ich werde der PWM
>> Signal mit einen höher Frequenz umstellen und so sollte der Motor
>> schneller drehen das Gegenteil werde ich tun, wenn ich es langsamer
>> laufen lasse.
>
> Nö. Lies dir Mawins Antwort nochmal durch. Die Geschwindigkeit des
> Motors wird nicht durch die Frequenz der PWM geändert (die Frequenz
> bleibt sowieso immer gleich), sondern durch Änderung des
> Tastverhältnisses der PWM. Eine Erhöhung des Tastverhältnisses lässt den
> Motor schneller drehen, eine Verringerung langsamer.
>
> Es ist vergleichbar mit einem normalen Bürstenmotor, den du evtl. schon
> mal auseinander genommen hast. Auch hier wird die Weiterschaltung der
> Spulen fest durch den Kommutator vorgegeben, das Verhältnis Drehwinkel
> und Spulenweiterschaltung bleibt unabhängig von der Drehzahl fix. Wenn
> du den Motor schneller drehen lassen willst, gibst du mehr Spannung (und
> damit höheren Strom) auf die Spulen.
> Genauso ist es beim Sensor-BLDC auch. Die Sensoren schalten an festen
> Punkten der Drehung auf die nächste Spule um und die Drehzahl wird durch
> den Strom in den Spulen bestimmt.
> Es werden also PWM-modulierte Pakete entsprechend der Sensorposition auf
> die Spulen gegeben.

Auweia, ich glaube - nein, eigentlich bin ich mir sogar fast sicher - 
dass auch Du das Prinzip der Ansteuerung von BLDC-Motoren noch nicht 
vollständig verstanden hast!

Der BLDC-Motor ist ein 3-Phasen-Synchron-Motor mit Permanenterregung 
durch Dauermagnete. Er ist so ähnlich aufgebaut wie ein 
3-Phasen-Wechselstrom-Motor, wo jede Phase um 120° versetzt ist. Anhand 
der Anzahl der Pole auf dem Rotor/Stator kann man dann direkt die 
Drehzahl bei gegebener Netzfrequenz errechnen.

Kernaussage ist:
Um einen BLDC-Motor mit einer bestimmten Drehzahl laufen zu lassen, gilt 
es diese drei um 120° versetzten Phasen in ihrer Frequenz (!) und 
nicht Amplitude einzustellen.

Damit man hierbei keine verlustleistungsbehaftete Linearregelung für 
jede Phase machen muss, werden die drei Anschlüsse eines BLDC-Motors an 
jeweils einer H-Brücken lediglich 'hart', d.h. nur einmal pro Periode 
mal nach [+] und nach [-] geschaltet. Das wäre jedenfalls die 
Holzhammer-Methode.
Damit der Motor nun bei niedrigeren Drehzahlen ruhiger läuft, werden die 
'Übergänge' (bzw. bestimmte zeitliche Abschnitte) durch eine 
PWM-Ansteuerung mit weniger Leistung angesteuert. Im ersten Post sieht 
man hier eine höherfrequente PWM mit 50% Tastverhältnis. Das ist schon 
nicht schlecht, kann aber durch ein variable (sehr hoch getakteten) PWM 
für jede Phase noch so weit getrieben werden, dass die sich dann 
ergebenden Phasenspannungen einen annähernd idealen sinusförmigen 
Verlauf haben.
Zur Veranschaulichung lasse man z.B. in Gedanken die Kurven im Diagramm 
des ersten Postings durch einen Integrator bzw. Tiefpassfilter laufen. 
Die drei Phasen sehen bereits hier schon, im weitesten Sinne, nach einem 
Sinus aus und die 120°-Phasenverschiebung sollte einem ebenfalls 
auffallen.

von MaWin (Gast)


Lesenswert?

Raimund Rabe schrieb:
> Kernaussage ist:
> Um einen BLDC-Motor mit einer bestimmten Drehzahl laufen zu lassen, gilt
> es diese drei um 120° versetzten Phasen in ihrer Frequenz (!) und nicht
> Amplitude einzustellen.

Diese Kernaussage ist grundfalsch und zeugt von absolut nucht 
virhanderen Kenntnis bezüglich BLDC.

Die Rotordrehung des BLDC gibt die Momente vir in denen von der 
Elektronik due Phasen umgeschaltet werden. Die Frequenz ust also 
durchszs varuabel, aber abhängig von der Drehzahl. Nicht umgekehrt.

Die Drehzahl wuederum ist von der Belastung und Kraft abhängig, also vom 
Strom und der widerum von der Länge der Zeitdauer die eine Spannung an 
euner Spule anliegt.

Um die Drehzahl zu beeinflussen, ist also die (mittlere) SPANNUNG zu 
regeln, alles andere ist beim BLDC eine Folge davon.

Übrigend genau gleich einen bürstenbehafteten Permanentmagnet 
Gleichstrommotors: Auch bei dem kannst du due Zeitpunkte der Kommutation 
nicht ändern sondern die werden durch den drehenden Rotor umgeschaltet, 
auch er wird ebenfalls durch die Spannung geregelt.

von Raimund R. (corvuscorax)


Lesenswert?

MaWin schrieb:
> Raimund Rabe schrieb:
>> Kernaussage ist:
>> Um einen BLDC-Motor mit einer bestimmten Drehzahl laufen zu lassen, gilt
>> es diese drei um 120° versetzten Phasen in ihrer Frequenz (!) und nicht
>> Amplitude einzustellen.
>
> Diese Kernaussage ist grundfalsch und zeugt von absolut nucht
> virhanderen Kenntnis bezüglich BLDC.

Das gleiche behaupte ich jetzt mal von Dir.
Erläuterung kommt gleich ...
Ich vermute es ist nicht Dein Tag heute 'MaWin' - aber solche Tage habe 
ich auch mal, nur nicht jetzt in Bezug auf BLDC-Motoren, sorry pal. ;-)

> Die Rotordrehung des BLDC gibt die Momente vir in denen von der
> Elektronik due Phasen umgeschaltet werden. Die Frequenz ust also
> durchszs varuabel, aber abhängig von der Drehzahl. Nicht umgekehrt.

Hä?! Wir sind hier nicht im Generator-Modus, sondern im Motor-Modus - 
oder wie soll man Deine Aussage hier jetzt interpretieren?!? Irgendwie 
bist Du mit "Ursache und Wirkung " durcheinander gekommen habe ich so 
den Eindruck ...

Man möchte den Rotor in Drehbewegung versetzen, da sind wir uns doch 
alle einig?! Dafür müssen wir beim BLDC-Motor (elektronisch) ein 
Drehfeld erzeugen.
Die H-Brücken in Verbindung mit der Steuer- bzw. Regelelektronik geben, 
unter Einbeziehung der aktuellen Position und Geschwindigkeit des 
Rotors, die Steuer/-Regelgröße bzw. Signale für die H-Brücken vor. Da 
der BLDC-Motor ein Synchron(!)-Motor ist, wird das Drehfeld leicht 
voreilen müssen (natürlich leicht drehmoment- und drehzahlabhängig) und 
ist für eine gewollte Drehzahl direkt proportional zu dieser.

> Die Drehzahl wuederum ist von der Belastung und Kraft abhängig, also vom
> Strom und der widerum von der Länge der Zeitdauer die eine Spannung an
> euner Spule anliegt.

Ja, jedenfalls bei einem konventionellen DC-Motor mit Bürsten bei dem 
die Rotorwicklungen entsprechend des Drehwinkels entsprechend 
(um-)gepolt werden müssen!
Wird jedoch eine BLDC-Motor bei gegebener Drehzahl im Drehmoment 
überlastet, kann er sich 'verschlucken' und sogar stehenbleiben, wie man 
es beim 'überfahren' von Schrittmotoren kennt, wenn man sie versucht 
entweder mit zu hoher Drehzahl oder zu hohem Drehmoment zu fahren.
Was beim BLDC-Motor in diesem Fall genau passieren wird, hängt dann 
stark von der ('Qualität' der) Regelelektronik ab.

> Um die Drehzahl zu beeinflussen, ist also die (mittlere) SPANNUNG zu
> regeln, alles andere ist beim BLDC eine Folge davon.

Genau da liegst Du leider falsch! Denn das ist ja DER Unterschied eines 
BLDC- zu einem bürstenbehafteten DC-Motor - man möchte die 
verschleissbehaftete Kommutierung über Bürsten mit ihrem Abbrand und 
Abnutzung vermeiden.
Die Drehzahl hängt von der elektronischen Kommutierung, d.h. der 
Generierung des Drehfelds ab und nicht von der Spannung. Sie bestimmt 
zwar über den Strom das erreichbare Drehmoment aber hat ledier nichts 
mit der Drehzahl zu tun.
Zugegeben, bei niedrigen Drehzahlen wird die Phasenspannung (zumindest 
bei PWM-modulierten Phasen, wo dies auch möglich ist) herabgesetzt, um 
den Motor nicht zu überlasten, da die Kühlung z.B. durch ein auf der 
Achse sitzendes Lüfterrad, unzureichend wird. Bei Modellbaumotoren die 
einen Luftpropeller in einem Flieger antreiben ist das eher nicht nötig 
und damit i.d.R. auch nie anzutreffen. :-)

> Übrigend genau gleich einen bürstenbehafteten Permanentmagnet
> Gleichstrommotors: Auch bei dem kannst du due Zeitpunkte der Kommutation
> nicht ändern sondern die werden durch den drehenden Rotor umgeschaltet,
> auch er wird ebenfalls durch die Spannung geregelt.

Da liegst Du tatsächlich mal richtig.

Übrigens:
Der BLDC-Motor ist noch am ehesten mit einem Schrittmotor vergleichbar, 
nur das man dort nicht nur 2 Phasen hat sondern eben derlei 3 davon.

von MaWin (Gast)


Lesenswert?

Bist du wirklich zu blöd, einfach mal nachzuschlagen, bevor du Humbug 
schreibst, und dich damit lächerlich machst?

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

ich bin hier aber auch bei MaWin: man bestromt den motor, und verscuht 
trickreich den richtigen moment der Kommutierung zu finden. Frequenz 
ergibt sich, aber gesteuert wird über den Strom.

Wie soll denn das auch anders gehen: Du gibts von jetzt auf gleich 
Vollgas, und je nachdem was am motor an last dranhängt, wird er früher 
oder später die Solldrehzahl erreicht haben. Wenn er langsam hochdreht, 
musst du auch langsamer kommutieren.

Der Vergleich mit einem Schrittmotor hinkt genau aus diesem Grund.

von ich (Gast)


Lesenswert?

Hallo Raimund,

hier muß ich MaWin beipflichten. Wir hatten erst kürzlich eine heiße 
Diskussion, wo es genau um dieses Thema ging. Und zwar, ob man einen 
BLDC durch ein unabhängig generiertes Drehfeld laufen lassen kann. Dort 
waren wir dann verschiedener Meinung, er sagt, das geht gar nicht, aber 
verschiedene Leute haben das gemacht. Wo wir uns auf jeden Fall einig 
sind, und jetzt kommen wir zu dem Punkt, wo du unrecht hast, man kann 
den Motor nicht (oder kaum) belasten. Dann bleibt er sofort stehen, wenn 
er außer Tritt kommt. Der BLDC braucht eine Kommutierung, die vom 
momentanen Rotationswinkel gesteuert wird. Genau wie beim 
bürstenbehafteten Motor, nur daß beim BLDC die Bürstenkommutation durch 
eine elektronische Kommutation ersetzt wird. Entweder duch Hallsensoren 
oder durch die Auswertung der Back-EMF. Aber du kannst einen BLDC 
niemals unter Belastung nur durch ein extern angelegtes Drehfeld laufen 
lassen. Unbelastet und ganz vorsichtig ja, aber niemals als 
ernstzunehmenden Antrieb. Und genau wie beim Bürstenmotor wird die 
Drehgeschwindigkeit beim BLDC auch durch die Gleichspannung (bzw. den 
Mittelwert der PWM) gesteuert und nicht durch das Drehfeld.
Selbst bei Raumzeigermodulation wird sich das dort erzeugte Drehfeld 
nach der aktuellen Rotorposition richten, die fortlaufend von der 
Steuerelektronik gemessen wird. Deswegen gilt deine Annahme für einen 
Asynchronmotor, aber nicht für einen BLDC.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Michael Reinelt schrieb:
> ich bin hier aber auch bei MaWin: man bestromt den motor, und verscuht
> trickreich den richtigen moment der Kommutierung zu finden. Frequenz
> ergibt sich, aber gesteuert wird über den Strom.
>
> Wie soll denn das auch anders gehen: Du gibts von jetzt auf gleich
> Vollgas, und je nachdem was am motor an last dranhängt, wird er früher
> oder später die Solldrehzahl erreicht haben. Wenn er langsam hochdreht,
> musst du auch langsamer kommutieren.
>
> Der Vergleich mit einem Schrittmotor hinkt genau aus diesem Grund.

Da ich schon müde bin: bitte Strom und Spannung eventuell vertauschen 
:-(

oder auch nicht. Was weiss ich. ich mach mir jetzt ein Bier auf. 
Vielelciht krieg ich ja auch noch ein Drehfeld...

: Bearbeitet durch User
von ich (Gast)


Lesenswert?

Michael Reinelt schrieb:
> ich mach mir jetzt ein Bier auf.

Na denn Prost! Nich lang schnacken, Kopp in' Nacken :-)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Raimund Rabe schrieb:
> Die Drehzahl hängt von der elektronischen Kommutierung, d.h. der
> Generierung des Drehfelds ab und nicht von der Spannung. Sie bestimmt
> zwar über den Strom das erreichbare Drehmoment aber hat ledier nichts
> mit der Drehzahl zu tun.

Tue dir selber mal den Gefallen und lies Application Note 447 und das 
Software Paket zum MC100 von Atmel. Du bist auf dem völlig falschen 
Dampfer und verwechselt Drehstrommotore und sensorbehaftete BLDC.
Ich hatte schon mal (im Elektroroller Thread?) geschrieben, das man den 
'Anstellwinkel' des Drehfeldes auf Basis der Sensoren evtl. mal ein 
wenig voreilen lassen kann (kann sinnvoll zur Geräuschminderung sein). 
Die eigentliche Stellgrösse für die Motorkraft und -geschwindigkeit ist 
aber der Strom durch die Spulen, während die Sensoren stur das Feld 
weiterschalten.

: Bearbeitet durch User
von Raimund R. (corvuscorax)


Lesenswert?

Ich führe nur ungern dieses heiß diskutierte Thema weiter, aber es gibt 
wohl einige Dinge über die ich die mitlesenden Forenteilnehmen evtl. mal 
unterrichten sollte, denn bei vielen, wenn nicht sogar allen, steht man 
im Unklaren wie weit es mit Ihrer Vorbildung/Erfahrung/... gediehen ist.
Ich gehe schon stark auf die 50 zu und bin Support-Ingenieur in einer 
Firma, deren Steckenpferd schnelle digitale Regelungen bis in den 
MHz-Bereich hinein sind. Aus der Hardware-Entwicklung bin ich (zumindest 
beruflich) schon seit gut 15 Jahren raus, und mache derzeitig 
überwiegend Software-Applikationen, Kalibrierungen, und Telefon-Support 
bei Hard- und Software-Fragen zu unseren Produkten. Aufgrund meiner 
Ausbildung und Erfahrung kann ich schon behaupten die Funktionsweise 
eines BLDC-Motors in vollem Umfang verstanden zu haben. Deshalb finde 
ich es hier im Forum manchmal schon recht arg wie hier Leute (zum Bsp. 
von MaWin, aber es gibt da noch ein paar andere Kandidaten) diffamiert 
werden, die Versuchen Anderen die Funktionsweise mit Ihren eigenen 
Worten näher zu bringen. Ich habe nicht behauptet den BLDC-Motor von 
allen Seiten und in allen Steuerungs-/Regelungs-Möglichkeiten beleuchtet 
zu haben - würde auch das Forum hier sprengen - aber ich habe mich auf 
die Diagramme im ersten Posting bezogen, und da ist keine Änderung der 
Versorgungsspannung der H-Brücken aufgezeigt worden, sondern nur die 
über den Winkel aufgetragenen Ausgangsspannungen der drei H-Brücken.

Nach Rücksprache mit einem Kollegen, und da komme ich gleich noch auf 
sein sehr interessantes Projekt zurück, hat er mich in meiner Meinung 
über die Funktionsweise eines BLDC-Motors bekräftigt und auch was die 
Steuerung/Regelung anbetrifft.
Darum kommen wir deshalb zu dem Projekt, das er für einen Kunden gemacht 
hat:
Dabei ging es darum einen Capstan-Motor, der, wie sollte es auch anders 
sein, ein BLDC-Motor ist, der einen sehr hoch auflösenden 
Inkremental-Sensor (65536 Schritte pro Umdrehung) auf der Achse hat. Die 
hohe Auflösung reicht gerade um die extrem hohen Anforderungen an die 
Gleichlaufschwankung in Verbindung mit der Regelung zu erreichen. Die 
Aufgabe dieses Capstan-Motors ist es eine Filmrolle (von 8mm bis zu 50mm 
Kinofilmformaten) mit konstanter Geschwindigkeit an einem einzeiligen 
CCD-Sensor vorbei zu bewegen. Ziel ist es damit alle alten (analogen) 
Filme zu digitalisieren, da es für viele (alte) Formate schon keine 
Abspielgeräte mehr gibt. Das Datenvolumen beläuft sich bei den breiten 
Formaten auf bis zu mehrere 100 MByte/s (!!!) das dann von mehreren 
parallel arbeiten Hochleistungs-Servern weiter verarbeitet wird, d.h. 
Komprimierung, Video von Audio trennen (ja, auch die Tonspuren sind bei 
bestimmten Filmformaten optisch aufgebracht), usw.

Aber zurück zur Steuerung/Regelung des BLDC-Motors:
Zunächst einmal sei gesagt, dass dieser Motor an seinen drei Anschlüssen 
nicht(!) digital 'gefahren' wird, sondern analog durch selbstentwickelte 
Leistungs-OpAmps. Weiterhin laufen parallel mehrere 
Regelungen/Steuerungen, die für die hohen Gleichlaufanforderungen 
entscheidend sind. Darunter z.B. eine, die den zuvor vermessenen Motor, 
per Vorsteuerung soweit korrigiert, dass er bei jeder Rotorposition das 
exakt gleiche Drehmoment aufbringt. Diese Vorsteuerung mit dem Rest der 
Regelung ist sogar als Patent angemeldet.
Bei sehr langsamen Geschwindigkeiten wird 'blind' das Drehfeld erzeugt 
und der Rotor bewegt sich synchron mit, dabei läuft im Hintergrund eine 
Regelung, die den Strangstrom anpasst, damit der Rotor nicht über das 
'Ziel' hinausschießt.

{{{ ANMERKUNG:
Die Anpassung des Strangstroms ist vmtl. DER Umstand, was die meisten 
hier bezüglich der Ansteuerung meinten, denn indirekt ist damit die sich 
ergebende Spannung über der Wicklung verändert worden. Dumm nur, dass 
bei den ganz simplen BLDC-Motor-Ansteuerungen - die eben z.B. keine 
höher-frequente PWM-Steuerung verwenden - keine(!) Möglichkeit besteht 
die Strang-Spannung der H-Brücke zu variieren. Diese Treiber können halt 
nur (positionsabhängig) das Drehfeld im 'full-power'-Modus erzeugen, 
indem sie auf die drei BLDC-Motoranschlüsse 'hart' +Ubrücke oder eben 
GND schalten (asymmetrische Versorgung mal vorausgesetzt).
Viele haben es an der Uni in den letzten Jahren evtl. anders 
gelernt/aufgefasst/erläutert) bekommen, das man einen BLDC-Motor über 
seine Strangspannungen in der Drehzahl steuert.
Aber hey, wenn ich eine Solldrehzahl haben will, fange ich nicht zuerst 
an einen beliebigen Strangstrom/-spannung einzustellen, schaue dabei 
nach welche Drehzahl sich daraufhin ergibt und fahre dann die Spannung 
nach. Kann man zwar auch so machen, halte ich aber für ungeschickt.
}}}

Weiterhin teilte mir dann meine Kollege mit, dass, sobald der Motor dann 
eine gewisse Drehzahl erreicht hat, als Hauptregelung tatsächlich nur 
eine Geschwindigkeitsregelung läuft, die das Drehfeld vorgibt und 
Abhängig davon, werden als zweite Regelung (unter Einbeziehung der 
Vorsteuerung) die Strangströme durch den BLDC nachgeführt, die natürlich 
auch abhängig vom aufzubringenden Drehmoment sind.

So wie MaWin und viele andere es erklären möchten/würden, ist meiner 
Meinung nach deshalb nur ein anderer Ansatz, analog zur Frage nach dem 
was zuerst da war, das Huhn oder das Ei.
Unter Einbeziehung der Diagramme vom ersten Post, wird der BLDC-Motor in 
der Drehzahl definitiv nicht über die Strangspannung bzw. -Strom 
geregelt (weil gar nicht einstellbar), sondern hier ist lediglich die 
Verlangsamung/Beschleunigung des Drehfeldes möglich, bzw. der Ablauf des 
fest vorgegebenen Patterns für die Ansteuerung der H-Brücke mit der 
Teil-PWM (über 120°). Und die Ansteuerung funktioniert auch auf diese 
Art, das kann ich aus meiner eigenen Erfahrung bei der (sehr simplen) 
Ansteuerungen bestätigen. Zwar machen die so angesteuerten Motore etwas 
mehr akustisch von sich bemerkbar und sind bei niedrigen Drehzahlen und 
aufzubringenden Momenten etwas 'unruhig'.

In der Hoffnung etwas mehr Klarheit über die verschiedenen 
Haranführungsweisen unterschiedlicher Forenteilnehmer gesagt zu haben.
A' gutes Nächtle. ;-)

von Klaus (Gast)


Lesenswert?

Raimund Rabe schrieb:
> Ich gehe schon stark auf die 50 ...

Ist kein Verdienst, ist mir auch schon passiert.

Raimund Rabe schrieb:
> Dumm nur, dass
> bei den ganz simplen BLDC-Motor-Ansteuerungen - die eben z.B. keine
> höher-frequente PWM-Steuerung verwenden - keine(!) Möglichkeit besteht
> die Strang-Spannung der H-Brücke zu variieren. Diese Treiber können halt
> nur (positionsabhängig) das Drehfeld im 'full-power'-Modus erzeugen,
> indem sie auf die drei BLDC-Motoranschlüsse 'hart' +Ubrücke oder eben
> GND schalten (asymmetrische Versorgung mal vorausgesetzt).

Wie kommst du auf dieses schmale Brett? Natürlich kann jeder chinesische 
billigst Brushless Controler mit seiner PWM die Strang-Spannung 
variieren.
Statt einen Kollegen zu fragen, solltest du mal ein Scope benutzen. Du 
kannst natürlich auch mal die ungezählten Applicationsschriften diverser 
Hersteller bemühen, für die es kein Problem ist, PWM Frequenzen im 
zweistelligen Kiloherzbereich mit simplen Schaltungen zu erzeugen.

MfG Klaus

von Raimund R. (corvuscorax)


Lesenswert?

Klaus schrieb:
> Raimund Rabe schrieb:
>> Ich gehe schon stark auf die 50 ...
>
> Ist kein Verdienst, ist mir auch schon passiert.
>
> Raimund Rabe schrieb:
>> Dumm nur, dass
>> bei den ganz simplen BLDC-Motor-Ansteuerungen - die eben z.B. keine
>> höher-frequente PWM-Steuerung verwenden - keine(!) Möglichkeit besteht
>> die Strang-Spannung der H-Brücke zu variieren. Diese Treiber können halt
>> nur (positionsabhängig) das Drehfeld im 'full-power'-Modus erzeugen,
>> indem sie auf die drei BLDC-Motoranschlüsse 'hart' +Ubrücke oder eben
>> GND schalten (asymmetrische Versorgung mal vorausgesetzt).
>
> Wie kommst du auf dieses schmale Brett? Natürlich kann jeder chinesische
> billigst Brushless Controler mit seiner PWM die Strang-Spannung
> variieren.
> Statt einen Kollegen zu fragen, solltest du mal ein Scope benutzen. Du
> kannst natürlich auch mal die ungezählten Applicationsschriften diverser
> Hersteller bemühen, für die es kein Problem ist, PWM Frequenzen im
> zweistelligen Kiloherzbereich mit simplen Schaltungen zu erzeugen.
>
> MfG Klaus

Oh man(n), geht DAS schon WIEDER los. Wieder einer der einen nur 
'ankacken' oder was zum 'Besten' geben will aber den Fokus nicht 
(mehr?!) auf die Anfrage des Original-Posters hat. Wir sind halt alle 
schon etwas von der Original-Anfrage abgewichen ...

Aber um auf Deine Vorwürfe zurück zu kommen:
- NATÜRLICH kann das mittlerweile jede billige BLDC-Steuerung/-Regelung 
aus Fernost oder sonst woher - aber was interessiert das den 
Original-Poster?!?
- Und NATÜRLICH musste ich nicht erst den Kollegen fragen wie der 
BLDC-Motor grundsätzlich funzt, sondern wie wir es in dieser reellen 
Anwendung gemacht haben und auf was wirklich geregelt wird - aber was 
interessiert das den Original-Poster?!?
- NATÜRLICH habe ich mir auch schon die Steuersignale von diversen 
Steuerungen/Regelungen auf dem O-Scope angeschaut und diverse App.-Notes 
dazu durchgelesen - aber was interessiert das den Original-Poster?!?
- JEDER macht es eben auf die Ihm ganz eigene und mehr oder weniger 
angenehme Art und Weise und was die/seine Zielanforderung ist - aber was 
interessiert das den Original-Poster?!?

Er hatte konkret die Frage, wie er das angegebene Diagramm in Einklang 
mit einer BLDC-Steuerung/-Regelung bringen kann - mehr nicht.

von Marc P. (marcvonwindscooting)


Lesenswert?

Raimund Rabe schrieb:
> Ich führe nur ungern dieses heiß diskutierte Thema weiter,

Raimund Rabe schrieb:
> was zuerst da war, das Huhn oder das Ei.

Raimund, ich finde Du hast es gut zusammengefasst in deinem langen 
Beitrag, thumbs up!

Meine Sichtweise hat sich durch die (nur scheinbar) sehr weit 
auseinanderliegenden Standpunkte auch veraendert und ich moechte sogar 
soweit gehen zu sagen, dass ich an mindestens einer Software einer 
Motorsteuerung DESHALB eine Aenderung machen werde, weil's eben auch 
besser geht.

Bei der ganzen Streiterei ueber die 'richtige' Ansteuerung eines BLDC 
wird aneinander vorbeigeredet, weil ganz unterschiedliche Zielsetzungen 
explizit oder implizit angenommen werden:

- energie-effizienter Antrieb des Motors
- phasengenauer Betrieb
- einfache Ansteuerung (Hardware)
- einfache Ansteuerung (Software)
- a) Sensor oder b) sensorless mit BEMF oder c) ganz ohne 'Sensoren'.

Der blutigste Schlagabtausch findet/fand anscheinend zwischen den 
Vertretern der ersten beiden Punkte statt ;-)

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.