Forum: Analoge Elektronik und Schaltungstechnik Einfache Indexierung eines Resolvers


von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Hallöchen!

Für die Steuerung eines PM-Synchronservos suche ich eine einfache 
Möglichkeit, die aktuelle Position des Resolvers zu bestimmen und den 
Rotor dort zu stoppen. Im Prinzip soll das so sein wie bei einem 
Werkzeugwechsel einer CNC-Maschine, wo diese meist auch eine Position 
einnehmen müssen, damit das Werkzeug in die Mitnehmer passt.

Mein Problem ist, dass der Servoantrieb (leider) keine Vorgabe für einen 
bestimmten Winkel erlaubt, ich ihm also nicht "Fahre auf 180°" sagen 
kann. Ich komme also an die aktuelle Winkellage des Resolvers leider 
nicht ran.

Ich benötige deshalb eine Möglichkeit, eine vorgegebene Position zu 
ermitteln und den langsam drehenden Motor genau dann zu stoppen.

Vereinfachend kommt aber hinzu, dass es nur zwei (gegenüberliegende) 
Winkel sein müssen, ich also nur quasi zwei um 180° versetzte, 
äquivalente Indexmarken benötige. Und die Auswertung kann sehr langsam 
sein - der Motor rotiert dann mit nicht mehr als 10 U/min.

Um nicht am Servo selbst etwas ändern zu müssen (optoelektronischer 
Indexgeber per Lochscheibe etc.), dachte ich daran, einfach das 
Sinussignal direkt am Regler abzugreifen, mit einem 
Einweg-Präzisionsgleichrichter (OpAmp als Spannungsfolger mit Diode) 
gleichzurichten und dann mit einem passenden Tiefpass zu glätten.

Danach würde ich das Signal per Komparator mit dem einstellbaren 
"Sollwert" vergleichen und das Indexsignal auslösen, wenn diese Schwelle 
überschritten wird.

Übersehe ich etwas oder gibt es einfachere Möglichkeiten oder Probleme?

von Viktor (Gast)


Lesenswert?

Chris D. schrieb:
> Übersehe ich etwas

Toleranzen, Temperaturdrifts, Alterung, Leckströme ...

Chris D. schrieb:
> gibt es einfachere Möglichkeiten

Wenn das Ding wirklich synchron arbeitet und nicht "springt",
warum nicht einfach die Wellen zählen (digital). Sinus in Digitalimpulse 
wandeln und mit einem Mikrocontroller aufsummieren und das Stopsignal 
senden.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ich kenne das nur von einer ziemlich großen CNC-Maschine 
(Bearbeitungszentrum mit 40kW Hauptspindelantrieb und 8 Tonnen 
Vorschubkraft). Dort wird der untere Werkzeugrevolver mit 
Nockenschaltern über eine 4-Bit-Kodierung indexiert und hydraulisch 
verriegelt.

Beitrag #5250614 wurde vom Autor gelöscht.
von Walter T. (nicolas)


Lesenswert?

Hallo Chris,

erst einmal fallen mir ein paar offene Fragen ein:


- Kannst Du die Lage des Resolvers zu Deinen zwei Stop-Positionen frei 
aussuchen?

- Vieviele Pole hat der Resolver (will meinen: wieviele elektrische 
Umdrehungen kommen auf eine mechanische Umdrehung) ?

- Wird der Resolver anderweitig verwendet und abgetastet, oder ist er 
nur für Deine Funktion frei?

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Moin!

Viktor schrieb:
> Wenn das Ding wirklich synchron arbeitet und nicht "springt",
> warum nicht einfach die Wellen zählen (digital). Sinus in Digitalimpulse
> wandeln und mit einem Mikrocontroller aufsummieren und das Stopsignal
> senden.

Das dürfte nichts bringen? Der Resolver wird mit gleichbleibenden 8kHz 
angesteuert. Verwechselst Du den Resolver vielleicht mit einem 
Sin/Cos-Geber?

Walter T. schrieb:
> - Kannst Du die Lage des Resolvers zu Deinen zwei Stop-Positionen frei
> aussuchen?

Nein. Ich wollte das anhand des Spitzenwerte des Sinus im Vergleich mit 
der einstellbaren Referenzspannung einstellbar gestalten.

Da ich den Motor per Leitfrequenz ansteuere, könnte ich den Abgleich 
aber auch direkt in der Steuerung vornehmen. Also: Index suchen (bspw. 
Mitte der ansteigenden Sinusfunktion), und dann eine entsprechende 
Anzahl Schritte draufpacken, bis es passt. Mir fehlt halt einfach das 
Indexsignal - obwohl das ja prinzipiell ein Kinderspiel wäre :-(

> - Vieviele Pole hat der Resolver (will meinen: wieviele elektrische
> Umdrehungen kommen auf eine mechanische Umdrehung) ?

Es ist ein Tamagawa TS2620N21E11 - offenbar ein zweipoliger Resolver.
Daher meine Idee, einfach den Spitzenwert gleichzurichten und dann zu 
vergleichen. Pro Umdrehung hätte ich dann meine zwei Indizes.

Das Datenblatt findet sich hier:
http://www.tamagawa-seiki.com/assets/img/downloads/pdf/resolver-synchro/1507N17EJ.pdf

> - Wird der Resolver anderweitig verwendet und abgetastet, oder ist er
> nur für Deine Funktion frei?

Der Servoregler wertet den schon aus - die Drehzahlregelung läuft über 
den Resolver. Leider ist der Regler bzgl. Indizierung per Resolver (was 
ja ein Einfaches wäre) unkooperativ :-(

Ich müsste das Signal also am Eingang des Reglers auskoppeln. Immerhin 
spare ich mir aber so die Ansteuerung der Erregerspule.

: Bearbeitet durch Moderator
von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Juchuu, das Problem hat sich erledigt :-)

Laut der sehr netten und geduldigen telefonischen Auskunft des Service 
von Stöber kann ich dem Regler mit Hilfe einer Inkrementalsimulation 
auch noch eine Nullspur entlocken und diese auf Klemmen ausgeben.

Damit hab ich meinen Indexpunkt und kann dann per Impulsfolge ab da 
jeden beliebigen Winkel anfahren :-)

P.S.: Wirklich ein hervorragender Service bei Stöber - und das, obwohl 
ich den (älteren) Regler nur gebraucht für wenige Euronen aus einer 
Insolvenz erstanden hatte und sie an mir nix verdienen (und das auch 
klar war).

: Bearbeitet durch Moderator
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.