Hallo zusammen, ich habe ein älteres CNC-Bearbeitungszentrum bei dem ich die etwas in die Tage gekommene Steuerung durch eine eigene Computersteuerung ersetzen möchte. Hierzu möchte ich die originale Steuerelektronik weiterverwenden und lediglich den Mikrocontroller auf dem Mainboard nebst PC-Anbindung ersetzen. Dies ist auch alles soweit kein Problem, allerdings macht mir die Ansteuerung der Servo-Motoren Schwierigkeiten: Für die Ansteuerung der Servo-Motoren ist je Achse ein Axor CD180 Servo-Treiber verbaut, welcher per PWM oder 0/10V-Signal angesteuert werden kann (Technische Daten hierzu: http://www.lakshmielectro.com/axon/ManualeCD180%28GB%2902%5B1%5D.pdf). In der Steuerung für die Ausgabe des analogen Steuersignals ein 12bit AD-Wandler (Analog Devices AD7549) verbaut. Den entsprechenden Schaltplan habe ich anbei angehängt. Ebenso liegen die Tacho-Signale nicht nur am Servo-Treiber sondern jeweils auch an der Steuerung an, wo die Drehrichtung ausgewertet wird und die Schritte gezählt werden (s. zweiter angehängter Schaltplan). Nun zu meinem Problem: Bei einem Verfahrensweg von knapp 5m auf der X-Achse macht dies beim 12bit-Analogwandler eine rein rechnerische Auflösung von knapp 1,22mm pro Schritt (jegliche Toleranzen und Fehler noch gar nicht mit einbezogen). Leider liegt die Steuerung gerade vollkommen zerlegt vor mir, so dass ich die tatsächliche Genauigkeit leider gerade nicht vermessen kann; jedoch kommt mir dieser Wert aus Erfahrungen der Vergangenheit deutlich zu hoch vor. Daher frage ich mich, ob ich hier irgendetwas übersehe bzw. etwas bei der Ansteuerung der Servo-Treiber missverstanden habe. Ebenfalls erschließt sich mir das Auswerten der Encoder-Signale seitens der Steuerung nicht ganz. Kann ich hieraus während des Fräsvorgangs irgendwelche Informationen zur Erhöhung der Genauigkeit ziehen? Irgendeine Kopplung an die ausgegebene analoge Steuerspannung fällt mir schwer, da Abweichungen hier ja erst verzeichnet werden können, wenn die Soll-Position bereits verfehlt wurde. Viele Grüße, Marcel
Moin, der Trick daran ist, dass es sich im eigentlichen Sinne nicht um eine Steuerung sondern eine Regelung handelt: Der Servo-Treiber-Ausgang stellt ein Steuersignal für die Geschwindigkeit der Achse dar, nicht für die Position. Beachte, dass es ein +/-10V Signal sein muss. Über die Rückmeldung der Impulse vom Drehgeber kann die CNC die Istposition der Achse berechnen. Zusammen mit der intern gebildeten Sollposition kann nun ein Positionsregelkreis aufgebaut werden, dessen Ausgang das +/-10V Signal für den Servotreiber ist. Die Auflösung der Position hängt also von der Auflösung des Gebersystems ab. Gruß Illi
Richtig, du musst also in der neuen Steuerung den Lageregelkreis schließen. Am einfachsten dürfte es sein, einen PC mit LinuxCNC zu verwenden. Dazu eine Motion-Control Karte von AddiData, Adlink o.ä. und fertig ist die NC-Steuerung. Mit freundlichen Grüßen Thorsten Ostermann
Vielen Dank für die ausführliche Erklärung und die Tipps! So macht das ganze jetzt auch Sinn. Mit den passenden Stichworten aus euren Beiträgen konnte ich mich nun auch etwas in das Thema einarbeiten und werde mich nun einmal an einer entsprechenden Implementierung versuchen. Viele Grüße, Marcel
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.