Forum: Mikrocontroller und Digitale Elektronik BLDC - nur eine kurze Frage zur Ansteuerung


von Hans (Gast)


Lesenswert?

Hi Leute,

Ich habe mir eine Ansteuerung für  einen Festplattenmotor gebaut und 
möchte ihn zum Drehen bringen. Das geht theoretisch auch schon, aber er 
kommt schnell aus dem Trit, da ich momentan nur das Drehfeld regle, ohne 
PWM - daran wird es wohl liegen, oder was meint ihr? Er bekommt halt die 
volle Spannung, zieht auch sehr viel Strom und wird recht warm...aber 
kommt nicht wirklich auf Drehzahl.

Später will ich ihn mittels BEMF richtig kommutieren, aber dafür muss er 
sich ja erstmal so gescheit drehen.

Daher die Frage: Ist es generell richtig, erstmal ein Drehfeld 
vorzugeben und dabei einen kleinen Duty-Cycle zu wählen? Der Motor sieht 
dadurch ja eine kleinere Spannung, aber seine Drehzahl ist ja von dieser 
abhängig und gleichzeitig gebe ich ja auch erstmal ein Drehfeld vor.

In welchem Verhältnis steht PWM und Drehfeldvorgabe? Und vor allem 
welche PWM-Frequenz? Frei wählbar?

Bitte helft mir mal.

Danke euch,

von Norbert S. (norberts)


Lesenswert?

Hi,

die PWM-Frequenz ist unkritisch, solange sie deutlich über der des 
Drehfeldes liegt. Ein paar kHz sollten es tun.
Begrenze den Strom per PWM auf einen sinnvollen Wert, gib das Drehfeld 
fest mit steigender Frequenz vor und ab einer bestimmten Drehzahl 
schaltest Du auf BEMF um.

Gruß,
Norbert

von Alex S. (thor368)


Lesenswert?

Tach Hans,

Norbert hat eingentlich schon alles wichtige gesagt. Kritisch sind halt 
die ersten paar Schritte des Motors. In dieser Zeit gibt man 
normalerweise ordentlich Stoff auf die Phasen. Wenn deine BEMF Schaltung 
sensibel genug und gut gefiltert ist sollte schon nach den ersten paar 
Schritten ein verwertbares Signal kommen. Dann schaltest du auf 
Nennstrombegrenzung um und kannst BEMF Kommutieren.

Thor

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Ein BLDC-Motor kann nicht "hart" angesteuert werden.

Nur die feste Folge des Drehfeldes anhand der Sensorpositonen (oder 
sensorless per BEMF) führt zum Erfolg !!!!!!!!!!
Will man die Drehzahl regeln, so regelt man die Spannung/Strom per PWM, 
aber die Kommutierung geschieht immer fest (stumpf) anhand der Position 
!!!!!!

von Norbert S. (norberts)


Lesenswert?

Bernd musste noch nie einen sensorlosen BLDC starten, sonst hätte er 
vermutlich nicht so einen Blödsinn geschrieben.

von MaWin (Gast)


Lesenswert?

> Nur die feste Folge des Drehfeldes anhand der Sensorpositonen (oder
> sensorless per BEMF) führt zum Erfolg !!!!!!!!!!
> Will man die Drehzahl regeln, so regelt man die Spannung/Strom per PWM,
> aber die Kommutierung geschieht immer fest (stumpf) anhand der Position
> !!!!!!

Keine Festplatte würde sich drehen.

Was Festplattenmotore allerdings machen ist:

Wenn sie noch stehen oder ganz langsam drehen ist die Induktivität der 
Spule zu geringe um den Strom im Zaum zu halten, es fliesst voller Strom 
nur gebrenst durch den (niedrigen) ohm'schen Wicklungswiderstand.

Wenn man die Spannung (oder gar durch einen Vorwiderstand die 
Leistungsaufnahme) nun auf dieses Spannung im langsamen Betrieb 
reduziert, hat man ein Problem wenn der Motor schneller dreht, weil dann 
der Strom in den Wicklungen durch die Induktivität nicht mehr so hoch 
steigen kann, bei noch recht geringen Drehzahlen ist Schluss.

Daher steuern Chips die Festplattenmotore mit Stromregelung, denn die 
Leistung des Motors richtet sich nach dem Strom durch die Spulen. Bei 
langsamer Rotation greift also ein Chopper ein und schaltet PWM immer 
wieder aus, wenn der Strom den Maximalwert erreicht hat. Bei Voller 
Drehzahl wird der maximale Strom gar nicht mehr erreicht, der Chopper 
ist inaktiv.

Beispiel L6232

Hat man so eine Stromregelung, kann man den Motor einfach anfahren in 
dem man langsam das Magnetfeld wechseln lässt und immer schneller werden 
lässt. das funktioniert aber nur, weil der Motor bei steigender Drehzahl 
immer kräftiger gebremst wird, bei der Festplatte durch die Platten, 
nost möglichst durch einen Propeller eines Lüfters oder so. Hat der 
Motor hingegen eine Last zu bewegen, die unregelmässig ist, kommt er bei 
dieser Ansteuerung aus dem Tritt. Das passiert nicht so leicht, wenn die 
Anterung durch den Stromchopper in nahezu Sinus erfolgt (aus 
Schrittmotorsicht also Microstep), ist aber trotzdem ein Problem. Dann 
hilft nur Positionserkennung durch Hallsensoren oder BackEMF.

von Hans (Gast)


Lesenswert?

Guten Morgen und schonmal danke für die Rückmeldungen!

Also ich werde das nachher mal probieren. Ich werde dann erstmal eine 
PWM-Frequenz im unhörbaren Bereich nehmen, denke so 40-50kHz.

Jetzt noch meine Frage an die, die auch schonmal einen BLDC angesteuert 
haben: Welche Methode zur BEMF-Erfassung hat sich bei euch bewährt?

- Messung durch den ADC?
- Erfassung durch Komparatoren mit Hilfe des virtuellen Nullpunktes?

Wenn ich die Spannung beispielsweise mit drei Komparatoren erfassen 
will, so vergleiche ich ja die Mittenspannung der drei Wicklungen mit 
dem gerade nicht betromten Zweig, richtig? Aber dies muss doch 
geschehen, während die PWM gerade an ist, also darauf muss ich 
zusätzlich triiggern, oder sehe ich das falsch?

von Bernd Rüter (Gast)


Lesenswert?

Norbert S. schrieb:
> Bernd musste noch nie einen sensorlosen BLDC starten, sonst hätte er
> vermutlich nicht so einen Blödsinn geschrieben.

Sorry,
Anlauf ausgenommen !!!

Da fährt man eine Rampe, bis die BEMF greifen kann.

TO hat den Motor ja mit einem aufgezwungenen Drehfeld betrieben und 
wunderte sich über den Stromverbrauch...

von Alex S. (thor368)


Lesenswert?

Mhh, jetzt muss ich ja nochmal meinen Senf dazugeben.

Es wurde grade davon gesprochen, dass die Motorinduktivität bei geringer 
Drehzahl klein ist. Sprich die Motorinduktivität ist abhängig von der 
Drehzahl.
Die Motorinduktiviät ist natürlich immer gleich. Nur die BEMF verursacht 
eine zur Drehzahl proportionale Spannung auf den Phasen, die sich von 
der Betriebsspannung subtrahiert, sodass bei höherer Drehzahl ein 
geringerer Strom fließt. Aber das meinte der Schreibende sicher.

Außerdem um den unrunden Lauf des Motors im stepping Betrieb näher zu 
beleuchten: Prinzipiell stellt sich zu jeder Speisespannung eine ideale 
Schrittfrequenz also Drehzahl ein. Ideal heißt in dem Falle, dass die 
Phasenlage genau zur Rotorlage passt. Der stepping Modus zeichnet sich 
aber dadruch aus, dass man die Rotorpossition nicht kennt. Dadurch wird 
der Rotor bei einem Schrittwechsel erst auf die neue Position 
beschleunigt und dann, weil das timing nicht stimmt, wieder abgebrennst, 
bis der nächste SChritt erfolgt. Daher kommen die Vibrationen. Das geht 
schnell so weit, dass es erst zu unrundem Laufverhalten kommt und dann 
die Kommutierung ganz versagt, obwohl man nur ein paar Prozent neben der 
Phase liegt. Das liegt daran, dass der Rotor beim erreichen des nächsten 
Schrittpunktes nicht einfach stehen bleibt, sondern überschwingt und 
sich dort erst einpendeln muss. Das heißt, dass der Motor uU noch 
pendelt, wenn der nächste Schritt kommt. Das führt zu instabilen 
Startbedinungen für den nächsten Schritt und kann den Motor in Summe bei 
passendem timing aus dem Tritt bringen.

Wenn es um das Gewinnen der BEMF Spannungen geht würde ich(ausgehend von 
einem AVR) die Komperator Mehthode empfehlen. Die ADCs sind 
erfahrungsgemäß nicht schnell und genau genug. Die Komperatoren sind bei 
gutem design gut genug um schon nach einem kräftigen Schritt ein 
verwertbares Signal zu liefern. Bei ADCs mit 12bit und um die 100kS/s 
ist diese Auswertung natürlich eleganter, besonders weil sie eine 
zuverlässige Sinuskommutierung ermöglicht.

Ich stimme übrigens zu, dass das filtern des PWMs eine nicht ganz 
triviale Angelegenheit ist. Das Resümee meiner Tests ist, was die PWM f 
an geht: Um so höher um so besser. Scheiß auf die Umschaltverluste, denn 
du musst entweder einen riesen Aufwand für das timing machen und im 
richtigen Moment die BEMF Auswertung abschalten um nicht auf das eigene 
PWM zu triggern oder man muss einen Tiefpass vorschalten. Das Problem 
beim Tiefpass ist aber, dass er auch einen Phasenversatz mit sich 
bringt, den man berücksichtigen muss. Daher: Um so höher die Differenz 
zwischen Schrittfrequenz und PWM-Frequenz um so höher kann der Tiefpass 
angesetzt werden und um so kleiner ist auch der verursachte 
Phasenversatz.

Thor

von Rolf M. (rmagnus)


Lesenswert?

Bernd Rüter schrieb:
> sensorless per BEMF) führt zum Erfolg !!!!!!!!!!

Norbert S. schrieb:
> Bernd musste noch nie einen sensorlosen BLDC starten, sonst hätte er
> vermutlich nicht so einen Blödsinn geschrieben.

Naja, wie sagte Terry Pratchett noch gleich?
'Multiple exclamation marks are a sure sign of a diseased mind.'

von Norbert S. (norberts)


Lesenswert?

Hi,

nochwas: Das mit den Komparatoren ist nur halb so wild. Man muß die PWM 
nicht komplett wegfiltern, eine Zeitkonstante in der Größe der PWM 
reicht da schon vollkommen.
Dann schaut man nur nach dem Komparatorsignal in der Mitte des States 
weil gerade nach dem Schalten das Signal der freien Phase lustige Sachen 
macht.

Gruß,
Norbert

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Ich melde mich von diesem Thread hier einfach mal ab.

Die Leute finden mich persönlich einfach nur *****,
das Problem des TO interessiert ja eher am Rande.

To the Admin: Darf hier immer noch jeder schreiben ?????


(plenken ist bei mir biologisch einprogrammiert, mehrfache Verwendung 
von Ausrufe- oder Fragezeichen sollen die Wertigkeit der Aussage bzw. 
Frage erhöhen.)

von MaWin (Gast)


Lesenswert?

> Es wurde grade davon gesprochen, dass die Motorinduktivität
> bei geringer Drehzahl klein ist.

Nein.

Lies dein Beitrag noch mal, den du nicht verstanden hast.


> Außerdem um den unrunden Lauf des Motors im stepping Betrieb
> näher zu beleuchten...

Die Ausführungen sind richtig.

von Alex S. (thor368)


Lesenswert?

@MaWin
> Lies dein Beitrag noch mal, den du nicht verstanden hast.

Ich hab mir deine Passage nochmal durchgelesen und du hast recht. Wie 
ich schon sagte: Du meintest das richtige und hast es nur 
grenzverständlich geschrieben. Sorry, war schon spät.

Thor

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.