Forum: Mechanik, Gehäuse, Werkzeug Problem wenn Geber-Magnet nicht 100% zentriert? --> Encoder fuer Rotor


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 Max M. (max_m1)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe hier einen Motor dessen Rotorposition ich erfassen will.
Jetzt habe ich mir einen Encoder-Chip besorgt welcher die Rotorposition 
mittels auf dem Rotor befestigten Magneten erfassen soll. AS5047P rotary 
magnetic position sensor (hier der encoder: 
http://ams.com/eng/Support/Demoboards/Magnetic-Position-Sensors/Angle-Position-On-Axis/AS5047P-Adapterboard).

Ich habe jetzt einen kleinen Magneten auf die Rotorwelle gelegt (dieser 
haftet nun von selbst auf der Welle da diese aus Stahl ist).

Die Platine mit dem Encoder habe ich mittels Heisskleber profisorisch 
befestigt. Die Platine wackelt aber nicht.

Leider schwankt das Signal fuer die Rotorposition sehr stark. Selbst 
wenn ich den Rotor in nur eine Richtung drehe (Winkel wird erhoeht), 
dann faellt manchmal der ausgelesene Winkel wieder ein paar Schritte 
zurueck eher dieser sich wieder erhoeht...

Sind solche magnetischen Abstandsencoder wirklich so empfindlich, d.h. 
muss der Magnet auf der Rotorachse wirklich 100% genau zum Encoder 
ausgerichtet werden?

Hat jemand "aehnliche" Erfahrungen damit?

mfg

: Verschoben durch Moderator
von spess53 (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hi

>Ich habe jetzt einen kleinen Magneten auf die Rotorwelle gelegt (dieser
>haftet nun von selbst auf der Welle da diese aus Stahl ist).

Was für einen Magnet? Wie ist der magnetisiert?

MfG Spess

von Max M. (max_m1)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>>Ich habe jetzt einen kleinen Magneten auf die Rotorwelle gelegt (dieser
>>haftet nun von selbst auf der Welle da diese aus Stahl ist).
>
> Was für einen Magnet? Wie ist der magnetisiert?
>


Hallo,

der Magnet war im Paket dabei, er muesste also dafuer geeignet sein.

Der Magnet hat die Form eines kurzen Vollzylinders.

Ich habe auch schon probiert den Magneten anderst zu positionieren (90 
Grad gedreht, etc.) leider ohne merkbare Verbesserung.

mfg

: Bearbeitet durch User
von spess53 (Gast)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hi

>Ich habe auch schon probiert den Magneten anderst zu positionieren (90
>Grad gedreht, etc.) leider ohne merkbare Verbesserung.

Aber auf der Stirnseite der Welle (Anlage) sitzt der Magnet.

MfG Spess

von Max M. (max_m1)


Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>>Ich habe auch schon probiert den Magneten anderst zu positionieren (90
>>Grad gedreht, etc.) leider ohne merkbare Verbesserung.
>
> Aber auf der Stirnseite der Welle (Anlage) sitzt der Magnet.
>
> MfG Spess

Ja, der Magnet ist wie in deinem Bild positioniert.

Der Magnet ist aber sicherlich nicht 100%ig mit der Welle zentriert und 
der IC sicherlich auch nicht 100% parallel zum Magnet.

Mich wundert ob die Teile wirklich so empfindlich sind wenn die nich 
100% korrekt positioniert sind...?

von Forist (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Max M. schrieb:
> magnetundencoder (1,55 MB, 5 Downloads)

Was soll das sein?

von Max M. (max_m1)


Bewertung
0 lesenswert
nicht lesenswert
Forist schrieb:
> Max M. schrieb:
>> magnetundencoder (1,55 MB, 5 Downloads)
>
> Was soll das sein?
Hab vergessen das zu loeschen. Haenge .jpg dran und du bekommst das 
gleiche Bild wie in meinem Beitrag.

Hab das Bild ohne .jpg hier hochgeladen und wurde somit nicht als .jpg 
erkannt...

von aSma>> (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Servus,
eventuell kann das Magnetfeld des Motors Störungen verursachen. Nicht 
umsonst setzt man optische Encoder auf die Motorwelle drauf, auch wenn 
diese bei dieser Auflösung ein Vermögen kosten.

von Michael D. (Firma: indEAS) (indeas)


Bewertung
2 lesenswert
nicht lesenswert
Das Prinzip mit dem Magneten funktioniert auf mindestens 9Bit (<1°) 
wunderbar unter folgenden Voraussetzungen:
1. Das Magnetfeld wird nicht durch Weicheisenteile in der Umgebebung 
beeinflusst => die Aufnahme des Magneten muss aus nichtmagnetischen 
Material sein. Sonst wird der Magnet weitgehend "kurzgeschlossen".
2. Wenn der Magnet nicht wirklich gut diametral magntisiert ist, gibt es 
Probleme bzw. Fehler. Der Vektor der magnetischen Feldstärke muss exakt 
durchs Zentrum und damit der Drehachse verläufen. Da der Magnet aus dem 
Demokit ist, sollte das bei Dir aber passen.
3. Sensor und Magnet müssen absolut zentrisch sitzen. Da machen 0,2mm 
schon viel aus; dieser Wert ist auch bestimmt im Datenblatt angegeben.
Um das zu erreichen zentrieren wir Leiterplatte und Motor in einem 
speziellen Verfahren zueinander und erreichen damit sicher eine 
Winkelauflösung von 9 Bit (<1° im Winkel) mit einem AS5040 (ohne weitere 
Zusatzmaßnahmen).
4. Ebenso ist der Abstand des Magneten zum Sensor wichtig. Je nach Größe 
und Reichweite des Magneten kann das im Chip integrierte HAL-Array noch 
vernünftig arbeiten: ist das Magnetfeld zu stark kommt es zu einer 
Übersteuerung, ist es zu schwach ist das Rauschen zu hoch.
5. Um die Genauigkeit weiter zu verbessern, lassen sich manche dieser 
Chips (z.B. MLX90316) auch (intern) kalibrieren und so höhere 
Winkelauflösungen und auch höhere Genauigkeiten (12 Bit und mehr) 
erzielen.

von Herr Winkelmesser (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Datenblatt und Application Notes ganz und genau durchgelesen?
Gibt es nicht Register, in denen man die Feldstärke und deren Abweichung 
auslesen kann? Siehe Diagnostic Features im Datasheet.
DIAAGC (0x3FFC)
MAG    (0x3FFD)
Im PDF des Adapterboards steht doch eindeutig:
Maximale Achs-Abweichung 0,5 mm.
Wir verwenden ein klemmbare Aluhülse, in die der Magnet geklebt ist.
Nur den Magnet auflegen dürfte bei höheren Drehzahlen (Fliehkraft) 
schief gehen.
Dein Wellendurchmesser? Dein Magnetdurchmesser? Deine Abweichungen?
Klartext bitte.

von HolgerT (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich gehe fast jede Wette ein, Du hast Deinen Magneten nicht, wie von 
spess53 gezeigt, zum Sensor ausgerichtet, sondern der Sensor wird immer 
vom Nordpol oder Südpol beschienen.
z.B.(x-xDrehachse, immer von N beschienen):
      x
      |
      |
      |
      x
      S
      |
      N

 --sensor--


Der Magnet darf nicht mit der flachen Seite zum Sensor zeigen, sondern 
so:

      x
      |
      |
      |
    N-x-S

 --sensor--

Ist in dem Fall natürlich schwer zu befestigen. Evtl. Funktion erst mal 
ohne Motor testen, d.h. Magneten über dem Sensor per Hand drehen.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Die Magnetisierungsrichtung wird schon stimmen, wenn der Magnet mit dem 
Sensor geliefert wurde. Bei zu großem Versatz aus der Mitte ist der 
Effekt aber der gleiche.

Mit freundlichen Grüßen
Thorsten Ostermann

von W.S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thorsten O. schrieb:
> Die Magnetisierungsrichtung wird schon stimmen, wenn der Magnet mit dem
> Sensor geliefert wurde.

Wie kommst du denn darauf? Lies mal:

Max M. schrieb:
> Ich habe jetzt einen kleinen Magneten auf die Rotorwelle gelegt (dieser
> haftet nun von selbst auf der Welle da diese aus Stahl ist).

Reicht das?

Im Prinzip muß das Magnetfeld quer zur Motorwelle verlaufen und es 
sollte auch nicht durch selbige kurzgeschlossen sein. Also ein 
Distanzstück aus Alu drehen und dort den Magneten mit Polarisierung quer 
zur Welle aufkleben.

W.S.

von Max M. (max_m1)


Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

wollte mich nur mal zurueckmelden.

Ich habe die Spannungsversorgung von 5V auf 3.3V geandert und jetzt 
funzt es einwandfrei. Die Stoersignale sind jetzt nur noch sehr minimal 
und fuer mich vernachlaessigbar.

Je nachdem wie gut ich den Magneten auf dem Rotor zentrieren kann ist 
das Ganze bis auf etwa 0.5 Grad exakt - ausreichend fuer mich.
Das Ganze ist also gar nicht so kritisch wie ich zu Anfangs befuerchtet 
habe.
Eine Positionsregelung ist relativ "einfach" moeglich selbst wenn der 
Magnet nur von selbst durch dessen Magnetismus auf der Motorwelle 
haftet.

Mein provisorischer Aufbau funktioniert ganz gut und ich bin jetzt auch 
wieder um eine Erfahrung reicher :)

Achja und den Magneten habe ich parallel zum Sensor ausgerichtet. Also 
der Magnet ist parallel zum Sensor und liegt flach auf dem Rotorstummel.

vielen Dank fuer eure Hilfe.

mfg

: Bearbeitet durch User
von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hallo "W.S.",

W.S. schrieb:
> Thorsten O. schrieb:
>> Die Magnetisierungsrichtung wird schon stimmen, wenn der Magnet mit dem
>> Sensor geliefert wurde.
>
> Wie kommst du denn darauf? Lies mal:

Genau, lies mal:

Max M. schrieb:
> der Magnet war im Paket dabei, er muesste also dafuer geeignet sein.


> Max M. schrieb:
>> Ich habe jetzt einen kleinen Magneten auf die Rotorwelle gelegt (dieser
>> haftet nun von selbst auf der Welle da diese aus Stahl ist).
>
> Reicht das?

Ja, und? Auch diametral magnetisierte Magnete kannst du so auf die Welle 
pappen. Nicht unbedingt zentiert.

Mit freundlichen Grüßen
Thorsten Ostermann

von Info (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Max M. schrieb:
> ist
> das Ganze bis auf etwa 0.5 Grad exakt

Wie bestimmst du diese Winkelgenauigkeit? Hast du einen hochauflösenden 
und genauen Referenzencoder? Oder rechnest du anhand deiner 
Positionierung "durchs Getriebe" zurück?

Und der Magnet ist immer noch einfach an die Rotorwelle gehaftet?

von Max M. (max_m1)


Bewertung
0 lesenswert
nicht lesenswert
Info schrieb:
> Max M. schrieb:
>> ist
>> das Ganze bis auf etwa 0.5 Grad exakt
>
> Wie bestimmst du diese Winkelgenauigkeit? Hast du einen hochauflösenden
> und genauen Referenzencoder? Oder rechnest du anhand deiner
> Positionierung "durchs Getriebe" zurück?
>
> Und der Magnet ist immer noch einfach an die Rotorwelle gehaftet?

Ich lese den Winkel via SPI aus. Je nachdem wie gut mein Aubau ist 
(kurze Kabel, Batterie statt Netzteil, Ausrichtung Sensor, etc.) 
schwankt die Position um 0.5 (+-0.25 Grad) wg. dem Rauschen.

Den Magneten hab ich einfach auf die Motorwelle gelegt, der haftet dort 
sehr gut auch bei ueber 6000 U/min. Klar, ist keine Dauerloesung, aber 
zum testen reicht das fuer mich.

Der Encoder befindet sich direkt am Rotor, ich lese also direkt die 
Winkellage des Rotors aus.

von Max M. (max_m1)


Bewertung
0 lesenswert
nicht lesenswert
Info schrieb:
> Max M. schrieb:
>> ist
>> das Ganze bis auf etwa 0.5 Grad exakt
>
> Wie bestimmst du diese Winkelgenauigkeit? Hast du einen hochauflösenden
> und genauen Referenzencoder?

Wie genau der Winkel ist weiss ich nicht da ich keine genauere Referenz 
habe. Was ich jedoch sagen kann dass der Winkel um +-0.25 Grad schwankt 
wg. dem Rauschen.

Da hatte ich mich wohl etwas falsch ausgedrueckt.

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.