Forum: Mikrocontroller und Digitale Elektronik FOC für BLDC ohne Motordaten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von GS (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Im Internet findet man einen Haufen Links/Appnotes etc zur FOC. Soweit 
reichen die Informationen auch aus, nur das wesentliche Problem dieser 
Quellen ist, dass immer vorausgesetzt wird alle Motokenndaten zu 
besitzen, sprich Induktivität, Widerstand, Motorkonstante etc.

Jetzt probiert man als Hobbybastler natürlich zu sparen wo es nur geht 
und kauft einen BLDC bei Hobbyking oder Ebay bei denen höchstens die KV 
und max V/I gegeben sind.

Kennt, oder hat irgendjemand Informationen wie man am verlässlichsten an 
die Motordaten kommen kann ohne sich jetzt einen haufen Labormaterial 
kaufen/ oder den Motor in seine Einzelteile zerlegen zu müssen?


-Oszi
-Multimeter
-Widerstände etc sind vorhanden

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das ist mit deinen Mitteln eigentlich kein Problem. Hatte auch einen 
unbekannten motor für eine FOC.

Widerstand:
Multimeter-Widerstand zwischen 2 Außenleitern messen
bei bedarf mal alle kombinationen probieren ob es da starke abweichungen 
gibt.

KV Zahl:
Ist ja meistens angegeben. Wenn nicht kann man diese mit dem Oszi messen
Oszi an 2 Außenleiter und den motor per hand oder bohrmaschine drehen.
Frequenz messen
Spannung (peak-peak) messen

Polpaare:
Gleichspannung am 2 Außenleiter anlegen (10% vom Nennstrom...oder soviel 
wie dein netzteil bringt)
Keinen Akku! regelbares Netzteil
Und dann den motor 360° mit der hand drehen....So oft wie der motor 
einrastet so viele Pole hat der motor
Wenn sich der motor nicht drehen lässt strom verringern, wenn er nicht 
rastet strom erhöhen


Induktivität:
Entweder dein Multimeter hat Induktivitätsmessung integriert
Oder mit dem Oszi an 2 Außenleiter
an diese beiden Leiter spannung ran mit 10% Strom...siehe oben
und dann beim anklemmen der spannung den Verlauf am oszi angucken
Zeitkonstante messen und induktivität berechnen


Alles ganz einfach.
Die Werte müssen auch nicht 100% stimmen
ich hatte Induktivitätswerte von 50µH bis 200µH und es hat bei der 
Motorregelung keinerlei unterscheid gemacht...habe dann das Mittelmaß 
genommen.
Feintuning kannst du immernoch machen

von Karl (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
test schrieb:
> Feintuning kannst du immernoch machen

Generell ist FOC bei einem BLDC (Definition: Trapezförmige 
Induktionsspannung) eh ein Witz, zumindest im Vergleich zur FOC bei 
einem Synchronmotor (Definition: Sinusförmige Induktionsspannung). Es 
ist immer lustig wenn alle welt stolz ihre Sinus-FOC präsentiert und 
damit einen BLDC ansteuern möchte (und tut, weil er dreht sich doch 
Facepalm).

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Für die FOC selbst brauchst du ja erst mal nur die Polpaarzahl. Die kann 
man, wie der Vorposter beschrieben hat, durch bestromen herausfinden. 
Manche Motoren haben aber auch so ein großes Ripple, dass man die Pole 
auch so erfühlen kann, wenn man an der Welle dreht.

Induktivität und Widerstand musst du eigentlich gar nicht mal wissen 
damit die FOC läuft, außer die Induktivität ist so niedrig, dass du 
nicht beliebig lange PWM-Pulsbreiten verwenden kannst.

Was die Leistungsdaten angeht, charakterisiert die Drehmomentkonstante 
in [Nm/A] einen BLDC ziemlich gut. Die Drehmomentkonstante kann man in 
guter Näherung aus der Spannungskonstanten berechnen. Die 
Spannungskonstante lässt sich wiederum recht einfach messen:
Motor drehen und mit dem Oszi die induzierte Spannung zwischen zwei 
Klemmen messen. Dann hast du auf dem Oszi eine Art Sinus. Mit 
Spitzenwert und Periode des Sinus kannst du dir die Spannungskonstante 
in [V/(1/s)] = [Vs] ausrechnen ("Volt pro Umdrehungen pro Sekunde" = 
"Voltsekunde") ausrechnen (Polpaarzahl berücksichtigen!).
Die Spannungskonstante in [Vs] teilst du noch durch 2*PI und du hast die 
Drehmomentkonstante in [Nm/A] und damit einen guten Eindruck, was der 
Motor "kann".

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> ist immer lustig wenn alle welt stolz ihre Sinus-FOC präsentiert und
> damit einen BLDC ansteuern möchte

Naja, der TE sprach von Hobbyking u.ä. habe dort schon BLDC Motoren 
gemessen die eigentlich PMSM waren.....
Und ich habe auch schon eine FOC an einem BLDC verwendet, weil die FOC 
besser war als die Blockkommutierung.
Allerdings waren die Anforderungen auch etwas anders als im 
Hobbybereich.

von GS (Gast)


Bewertung
0 lesenswert
nicht lesenswert
test (Gast) schrieb:
> Induktivität:
>Entweder dein Multimeter hat Induktivitätsmessung integriert
>Oder mit dem Oszi an 2 Außenleiter
>an diese beiden Leiter spannung ran mit 10% Strom...siehe oben
>und dann beim anklemmen der spannung den Verlauf am oszi angucken
>Zeitkonstante messen und induktivität berechnen

Jetzt wo ich das lese...Sind die L Angaben auf dem Datenblatt eigentlich 
Phase zu SternPunkt angegeben oder jeweils von außenleiter zu 
Außenleiter?
Nach obiger Methode bekomme ich ja die Induktivität von Außenleiter zu 
Außenleiter.

Peter schrieb:
> Induktivität und Widerstand musst du eigentlich gar nicht mal wissen
> damit die FOC läuft

Die App notes die ich bisher gesehen habe, haben ein Modell des Motors 
gehabt daher die Werte. Ob ich die Werte jetzt schlussendlich brauchen 
werde weiss ich nocht nicht. Wichtig war mir erstmal die Werte zu 
erfahren


Peter schrieb:
> Mit Spitzenwert und Periode des Sinus kannst du dir die Spannungskonstante
> in [V/(1/s)] = [Vs] ausrechnen ("Volt pro Umdrehungen pro Sekunde" =
> "Voltsekunde") ausrechnen (Polpaarzahl berücksichtigen!).

Kannst du die Polpaar berücksichtigung etwas genauer erläutern?

von Karl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
test schrieb:
> Naja, der TE sprach von Hobbyking u.ä. habe dort schon BLDC Motoren
> gemessen die eigentlich PMSM waren.....
Ok. Wusste ich nicht. Umso wertvoller ist es dann, die Konstanten und 
den Spannungsverlauf am Oszi zu prüfen. Akkuschrauber oder so für 
gleichmäßige Drehzahl.

> Und ich habe auch schon eine FOC an einem BLDC verwendet, weil die FOC
> besser war als die Blockkommutierung.
Sorry für OT, aber das ist interessant. Magst Du das ein wenig 
ausführen? Inwiefern besser? Sinus FOC am BLDC ergibt ja genau genommen 
kein konstantes Moment. Man kann ja schon FOC am BLDC machen, aber 
meiner Erfahrung nach ist klassisches Clarke (anscheinend meistens) 
nicht das Mittel der Wahl wenn das Drehmoment auch positionsunabhängig 
halbwegs stimmen soll. Und Feldschwächung kann man auch mit 
Blockkommutiuerung machen...

> Allerdings waren die Anforderungen auch etwas anders als im
> Hobbybereich.
Glaub ich gerne, kenne ich ;-)

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
>> Und ich habe auch schon eine FOC an einem BLDC verwendet, weil die FOC
>> besser war als die Blockkommutierung.
> Sorry für OT, aber das ist interessant. Magst Du das ein wenig
> ausführen? Inwiefern besser? Sinus FOC am BLDC ergibt ja genau genommen
> kein konstantes Moment. Man kann ja schon FOC am BLDC machen, aber
> meiner Erfahrung nach ist klassisches Clarke (anscheinend meistens)
> nicht das Mittel der Wahl wenn das Drehmoment auch positionsunabhängig
> halbwegs stimmen soll. Und Feldschwächung kann man auch mit
> Blockkommutiuerung machen...

Ich schreibe meine Masterarbeit grade darüber. Die vorhandene 
Blockkommutierung soll gegen eine FOC ersetzt werden.
Der Motor darf nicht verändert werden und ist definitiv BLDC

Ziel:
geringere Drehzahlschwankung...im bereich +/- 3RPM
Lautstärke minimieren

Der Motor dreht mit 600 bis 6000 RPM

in beiden fällen hatte die FOC bessere resultate erzielt.
Die Frage die jetzt im Raum steht ist ob die Blockkommutierung mit einem 
moderne MC (wie bei der FOC) nicht noch besser wäre.

von Michael B. (laberkopp)


Bewertung
-2 lesenswert
nicht lesenswert
GS schrieb:
> nur das wesentliche Problem dieser
> Quellen ist, dass immer vorausgesetzt wird alle Motokenndaten zu
> besitzen, sprich Induktivität, Widerstand, Motorkonstante etc.

Die Motorkonstante ist es abhängig von dem was an der Motorwelle 
angeschlossen ist.

Induktivität und Widerstand kann man einfach messen.

test schrieb:
> Ich schreibe meine Masterarbeit grade darüber. Die vorhandene
> Blockkommutierung soll gegen eine FOC ersetzt werden.

Dafür kann man heutzutage einen Master bekommen ?

von Karl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
test schrieb:
> Die Frage die jetzt im Raum steht ist ob die Blockkommutierung mit einem
> moderne MC (wie bei der FOC) nicht noch besser wäre.

- Drehzahlregelung als Kaskadenregelung, also mit Stellgröße Drehmoment, 
das dann von der inneren Schleife geregelt wird?
- Drehzahl wie gemessen? Die Hall-Sensoren sind manchmal auch fragwürdig 
bzgl. Genauigkeit des Umschaltzeitpunktes
- Akustik kann ich mir schon vorstellen. Blockkommutierung schaltet ja 
mehr oder weniger hart um, und hat somit Anregungen in vielen 
Frequenzen. Sinus-FOC beim BLDC macht in der Nähe des 
Umschaltzeitpunktes den größten Fehler im Drehmoment und schwächt das 
evtl. ab.

Michael B. schrieb:
> Die Motorkonstante ist es abhängig von dem was an der Motorwelle
> angeschlossen ist.
Mechanische Zeitkonstante schon, aber die für eine FOC relevanten Größen 
nicht. Fail.

> test schrieb:
>> Ich schreibe meine Masterarbeit grade darüber. Die vorhandene
>> Blockkommutierung soll gegen eine FOC ersetzt werden.
>
> Dafür kann man heutzutage einen Master bekommen ?
Na Du anscheinend nicht. Was soll die Pöbelei.

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> - Drehzahlregelung als Kaskadenregelung, also mit Stellgröße Drehmoment,
> das dann von der inneren Schleife geregelt wird?
> - Drehzahl wie gemessen? Die Hall-Sensoren sind manchmal auch fragwürdig
> bzgl. Genauigkeit des Umschaltzeitpunktes

Jup, Die Drehzahlregelung ist der inneren FOC Regelung übergeordnet.
Die Drehzahl wird über Hallsensoren gemessen.
Und genau damit kommt die Alte Regelung nicht klar weil die Polpaare 
unterschiedliche Winkel zueinander haben.
Die FOC berücksichtigt das bereits.
Der Endgültige sensorlose test steht noch aus. Aber bisher sah es danach 
aus das die sensorlose Regelung um einiges Schlechter regelt.
Ausserdem hat der Sensorlose Betrieb große schwierigkeiten mit den 
600RPM bei Lastwechsel

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
GS schrieb:
> Kannst du die Polpaar berücksichtigung etwas genauer erläutern?

Für die Spannungskonstante ist die mechanische Drehzahl der Welle 
entscheidend.
Angenommen dein Sinus im Oszi hat eine Frequenz von 1Hz (eine 
"elektrische Umdrehung" pro Sekunde) und dein Motor hat eine Polpaarzahl 
von 3, dann hat sich die Welle mit 1/3 Hz gedreht (eine drittel 
"mechanische Umdrehung" pro Sekunde).

Die Spannungskonstante ist einfach induzierte Spannung geteilt durch die 
mechanische Drehzahl.

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Die Spannungskonstante ist einfach induzierte Spannung geteilt durch die
> mechanische Drehzahl.

???

Die induzierte elektirsche Drehzahl (Frequenz) ist die mechanische 
Drehzahl (frequenz) geteilt durch die Polpaarzahl

mech=elektrisch/Polpaare

1Polpaar=2Pole

Drehzahlkonstante bezieht sich immer auf die mech. Drehzahl (Frequenz)

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
test schrieb:
> Die induzierte elektirsche Drehzahl (Frequenz) ist die mechanische
> Drehzahl (frequenz) geteilt durch die Polpaarzahl

Ungekehrt natürlich...siehe Formel

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
test schrieb:
> ???

Ich meine es so wie es dasteht :)

Spannungskonstante = induzierte Spannung / mech. Drehzahl

von test (Gast)


Bewertung
0 lesenswert
nicht lesenswert
stimmt....manchmal sieht man den Wald vor lauter bäumen nicht :(

von Jedi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
test schrieb:
> Induktivität:
> Entweder dein Multimeter hat Induktivitätsmessung integriert
> Oder mit dem Oszi an 2 Außenleiter
> an diese beiden Leiter spannung ran mit 10% Strom...siehe oben
> und dann beim anklemmen der spannung den Verlauf am oszi angucken
> Zeitkonstante messen und induktivität berechnen


wird grob vielleicht so funktionieren wenn der Innenwiderstand des 
netzteils nicht zu groß ist. Bei einem Motoerwiderstand von ca 150m Ohm 
macht das schon gewaltig was aus wenn das Netzteil z.B 50m Ohm hat

von HP (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@GS
weitere Antworten zu deinen Fragen findest du auch hier, google doch mal 
nach "en.STM32PMSMFOCSDK_getting Started". Du solltest www.st.com.... 
gleich als eines der ersten Ergebnisse finden. Ab Folie 61 wird es für 
dich interessant.

Hoffe war informativ und hat weiteres Interesse an bereits vorhandenen 
Lösungen geweckt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.