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,
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
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
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
!!!!!!
> 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.
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?
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...
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
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.'
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
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.)
> 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.
@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