- LiFePO4 Speicher Test         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Rotorposition bei BLDC Motoren im Stillstand bestimmen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.10.2007
    Ort
    Ismaning
    Beiträge
    19

    Rotorposition bei BLDC Motoren im Stillstand bestimmen

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    folgende Frage richtet sich eher an Motorspezialisten:

    ich bin gerade dabei, die Rotorposition im Stillstand eines BLDC Motors
    zu bestimmen. Dieser ist 3 phasig im Stern gewickelt und besitzt eingebettetebOberflächenmagneten auf dem Rotor.
    Dabei greife ich auf die Induktivitäten der einzelnen Phasen zurück,
    welche ihren absoluten Wert je nach Rotorstellung verändern. (Zeigt die
    Flussachse der Rotors auch eine Wicklung, so wird die Induktivität
    kleiner. siehe def. Zylinderspule: L=N^2/Rm. Rm ist hier der magnetische
    Widerstand)

    Diesen Effekt kann auch sehr gut rausmessen, allerdings habe ich
    das Problem, dass ich eben nicht sagen kann, ob der Nord-, oder der
    Südpol gerade auf den Pol schaut und erhalte somit eine Unbestimmtheit
    der Position um (elektrisch) 180°.

    Ich wäre über Hilfe sehr dankbar, auch über andere Anregungen, wie man
    sensorlos im Stillstand auf die Position des Rotors schließen kann.

    Grüße
    Robert

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Such mal nach VirtuHall

    Es wird der Motot selber als Sensor verwendet, GMR/Hall-Sensoren entfallen. Folgendes Dokument ist zwar nur ne Präsentation, aber Nord-Süd-Problematik wird angeschnitten.

    http://www.elektroniknet.de/fileadmi...Strothmann.pdf

    Dazu gibt's auch Hardware von http://www.elmos.de
    Disclaimer: none. Sue me.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.10.2007
    Ort
    Ismaning
    Beiträge
    19
    Schon mal vielen Dank für den Link. Hier ist die Problematik ja schön anschaulich dargestellt.
    Leider ist aber nicht ersichtlich, wie man nun an das Problem rangehen soll.
    Auch bei enderer Recherche habe ich bisher keine eindeutigen Lösungen zu dieser 180° Problematik gefunden.
    Ein Verfahren, welches allerdichgs für mich unverständlich ist lautet:

    "
    Dieses Verfahren nutzt die Änderung des Sättigungsgrads der Maschine bei steigendem Statorstrom, um die absolute Rotorposition direkt zu bestimmen. Dafür werden die mit einem Pulswechselrichter erzeugten
    sechs möglichen Spannungsvektoren jeweils für eine bestimmte kurze Zeit der Maschine aufgeschaltet. Bei jedem Spannungsimpuls wird der Endwert des hervorgerufenen Stromes in jeder Phase erfasst. Die Differenz zwischen den Stromwerten für den positiven bzw. den negativen Spannungsimpuls jeder Phase wird gebildet. Diese Differenz
    ist maximal für den Fall, dass die Rotorflussachse auf die magnetische Achse der entsprechenden Phasenwicklung ausgerichtet ist. Ob es sich um ein positives oder ein negatives Maximum handelt hängt von der relativen Polarität der Achsen ab.
    Haben die beiden Achsen gleiche bzw. inverse Polarität, ergibt sich ein positives bzw. negatives Maximum. Wenn die Achsen senkrecht zueinander sind, ist die Differenz gleich Null.
    So weist die Differenz jeder Phase in Abhängigkeit von der Rotorposition einen um 120° versetzen näherungsweise sinusförmigen Verlauf auf.
    Die drei Differenzen werden in einem komplexen Differenzvektor kombiniert, dessen Argument direkt die absolute Rotorlage liefert
    "

    Grüße

    Joachim

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2006
    Beiträge
    734
    Hallo slaughter,
    kannst du nicht über die Zeit als zusätzlichen parameter gehen? Du weißt ja die Abfolge und kannst sozusagen in Software die Schritte nachverfolgen.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Wesentlich ist das Vorhandensein einer Hysterese, d.h. man betreibt den Motor bis in den Bereich, an dem die B/H-Kurve eine merkliche Krümmung hat. Je nachdem, wie bestromt wird, läuft man auf der Hysterese hoch bzw. runter.

    Interne Infos zu verwenden ist nicht gut, etwa bei starken Lastwechseln besteht dann die Gefahr daß der Motor kippt, also plötzlich in die falsche Richtung dreht -- recht unangenehm. Zudem muss man sich erst mal bei stehendem Motor Positionen besorgen, damits ohne zu rucken und zu haken los gehen kann.
    Disclaimer: none. Sue me.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    Ein Verfahren, welches allerdichgs für mich unverständlich ist lautet:

    "
    Dieses Verfahren nutzt die Änderung des Sättigungsgrads der Maschine bei steigendem Statorstrom, um die absolute Rotorposition direkt zu bestimmen. Dafür werden die mit einem Pulswechselrichter erzeugten
    sechs möglichen Spannungsvektoren jeweils für eine bestimmte kurze Zeit der Maschine aufgeschaltet. Bei jedem Spannungsimpuls wird der Endwert des hervorgerufenen Stromes in jeder Phase erfasst. Die Differenz zwischen den Stromwerten für den positiven bzw. den negativen Spannungsimpuls jeder Phase wird gebildet. Diese Differenz
    ist maximal für den Fall, dass die Rotorflussachse auf die magnetische Achse der entsprechenden Phasenwicklung ausgerichtet ist. Ob es sich um ein positives oder ein negatives Maximum handelt hängt von der relativen Polarität der Achsen ab.
    Haben die beiden Achsen gleiche bzw. inverse Polarität, ergibt sich ein positives bzw. negatives Maximum. Wenn die Achsen senkrecht zueinander sind, ist die Differenz gleich Null.
    So weist die Differenz jeder Phase in Abhängigkeit von der Rotorposition einen um 120° versetzen näherungsweise sinusförmigen Verlauf auf.
    Die drei Differenzen werden in einem komplexen Differenzvektor kombiniert, dessen Argument direkt die absolute Rotorlage liefert
    "
    Ich versuche mal zu einzudeutschen (zumindest das, was ich glaube, davon verstanden zu haben):

    Auf eine Statorspule werden nacheinander 2 identische Spannungsimpulse, aber in umgekehrter Stromrichtung gegeben. Am Ende des Spannungsimpulses wird der Strom gemessen und ausgewertet. Es handelt sich im Prinzip also um eine Induktivitätsmessung, an einer Spule 2 Mal in umgekehrter Stromrichtung. Wenn der Eisenkern um die Spule nicht durch einen Permanentmagnet des Rotors vormagnetisiert ist, dann wird man für beide Stromflußrichtungen einer Spule den selben Strom messen. Wenn eine Vormagnetisierung besteht, dann überlagert sich das Magnetfeld durch die Vormagnetisierung (Rotormagnet) mit dem Magnetfeld durch den Strom zu einem resultierenden Magnetfeld im Eisenkern.
    Sind die beiden Magnetfelder gleichgerichtet, dann wird der Eisenkern früher in Sättigung gehen als ohne Vormagnetisierung, der gemessene Strom wird also größer (die scheinbare Induktivität der Spule geringer). Sind die Magnetfelder entgegengerichtet, dann wird die Sättigung des Eisens später eintreten, der gemessene Strom wird kleiner sein.
    Damit läßt sich die Stärke und die Richtung des Rotorfelds in dem von der Spule umwickelten Statorzahn abschätzen.
    Das ganze Verfahren wird für alle 3 Spulen durchgeführt und aus den insgesamt 6 Meßwerten die Statorposition ermittelt.



    Etwas kritisch an dem Verfahren sind möglicherweise die relativ hohen Ströme durch die Rotorwicklung, man muß ja bis an die Sättigung des Eisens gehen. Da wird schon der Meßvorgang eine Rotordrehung auslösen.

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Im Falle von Testpulsen muss natürlich so bestromt werden, daß kein zusätzliches Drehmoment resultiert. Recht unangenehm bei Testpulsen kann ein Pfeifen sein, dass dadurch ausgelöst wird.

    Alternativ kann das Sternpunkt-Potential beobachtet werden. Dazu wird das *-Potential vor und nach Zu-/Abschalten eines Stranges gemessen, und zwar vor dem Schalten und nach dem Stabilisieren (Einschwingphase). Dadurch entfallen Testpulse, man braucht aber einen flotten ADC, den man mit der 3-Phasen-PWM synchronisieren muss.

    Im Stillstand wird mit einem (positionsunabhängigen) Null-Muster bestromt.
    Disclaimer: none. Sue me.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    04.10.2007
    Ort
    Ismaning
    Beiträge
    19
    Also geht man mal z.B. von einer Maschine mit einer Polpaarzahl von 1, mit Einzahnwicklung, also 120° versetzte Spulen und einem Rotormagneten, der 180° Nord- und 180° Süd-magnetisiert ist. (siehe Anhang)

    So wäre das Eisen vom Pol A "nord-gesättigt".
    Bestromt man nun diesen Pol in einer festgelegten Zeit so, dass er einen Nordpol bildet, so wird entlang der Magnetisierungskennlinie schnell der gesättigte Zustand erreicht und der Strom steigt schneller an.
    Würde man den Pol so bestromen, dass er einen Südpol ausbildet, muss das Eisen erst ummagnetisiert werden und man kommt (wenn überhaupt) erst später in den gesättigten Zustand und der Strom steigt demnach auf einen geringeren Wert an.

    Somit müsste "nur" noch der Strom nach der festegelegten Zeit gemessen werden und man kann somit sagen, unter welchem Pol die positive (nord), bzw. negative (süd) Achse des Rotors liegt.

    Habe ich das soweit richtig verstanden ?

    Vielen Dank übrigens für die hilfreichen Antworten.

    Grüße
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken bldc.jpg  

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    26.05.2008
    Alter
    72
    Beiträge
    35
    Meine Erfahrung: man kann sich das Leben einfach machen und sucht nach solchen Motoren, die Hallsensoren eingebaut haben. Dann muss man lediglich entsprechend dem Hallsignal mehr oder weniger Strom auf die Phasen geben und das Ding läuft problemlos. Oder aber, man strebt nach den höheren Weihen, dann wird es hart. Es geht, aber es ist nicht einfach und der Aufwand ist beträchtlich. Wobei man sagen muss: Nummer sicher heißt Hallsensor!

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    04.10.2007
    Ort
    Ismaning
    Beiträge
    19
    Hallo,

    ich habe jetzt eine Möglichkeit gefunden um die Rotorposition im Stillstand und vielleicht auch bei niedrigen Drehzahlen zu bestimmen:

    Dazu werden mit der, zum Kommutierung verwendeten B6 Brücke die 6 möglichen Spannungspulse auf den Motor geschalten. Diese sind demenstsprechend so lang zu wählen, dass sich der Magnetisierungszustand der Pole ändert. (bei meinem Motor sind dazu Peakströme von bis zu 60A nötig, welche sich aufgrund der Zeitkonstante nach etwas 100us einstellen).
    Den Strom kann man recht einfach ohne Verstärkung mit einem schnellen ADC über den Spannungsabfall eines Shunts messen.
    Ein Spannungsvektor ruft hierbei je nach Rotorstellung einen Strom hervor, der deutlich größer wird als bei den anderen B6-Zuständen. Dies ist dann charakteristisch für die Position der Rotors.
    Im Anhang wären die Ergebnisse für diese Prozedur für eine Stellung zu sehen.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen