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?
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.
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.
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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.