ich habe einen Schrittmotor mit integriertem Encoder über CANopen als SoftMotion-Achse angebunden (Nanotec SMCI36 mit SMCI47 Treiber).
Da hinter dem Motor noch ein Getriebe und diverse Seilzüge hängen möchte ich die Positionen noch mit einem zweiten Encoder nachregeln.
Ist das Nachregeln einer bereits geregelten Achse (z.B. mit SM_Drive_PosControl) möglich und falls ja, wie wäre das prinzipielle Vorgehen?
Vielen Dank schonmal!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Grundsätzlich würden ich SM_DrivePosControl empfehlen, auf den Eingang in.wActPosition die Encoder-Position des 2. Encoders geben.
Den Geschwindigkeits-Ausgang von SM_DrivePosControl (out.iSetVelocity) dann mit SMC_FollowVelocity auf den Schrittmotor geben. (Die Skalierung der Geschwindigkeit in SM_DrivePosControl muss man so einstellen, dass das Getriebe und die sonstigen Übersetzungen zwischen dem 2. Encoder und dem Schrittmotor berücksichtigt werden!)
Damit das gut funktioniert sollte der Schrittmotor im Controller Mode „Velocity“ betrieben werden.
Der Nanotec unterstützt das antriebsseitig leider nicht.
Man kann es trotzdem so wie beschrieben versuchen, aber wie gut das Ergebnis ist, wenn der Nanotec im Controller Mode „Position“ ist kann ich nicht sagen muss getestet werden.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe einen Schrittmotor mit integriertem Encoder über CANopen als SoftMotion-Achse angebunden (Nanotec SMCI36 mit SMCI47 Treiber).
Da hinter dem Motor noch ein Getriebe und diverse Seilzüge hängen möchte ich die Positionen noch mit einem zweiten Encoder nachregeln.
Ist das Nachregeln einer bereits geregelten Achse (z.B. mit SM_Drive_PosControl) möglich und falls ja, wie wäre das prinzipielle Vorgehen?
Vielen Dank schonmal!
Hallo,
Grundsätzlich würden ich SM_DrivePosControl empfehlen, auf den Eingang in.wActPosition die Encoder-Position des 2. Encoders geben.
Den Geschwindigkeits-Ausgang von SM_DrivePosControl (out.iSetVelocity) dann mit SMC_FollowVelocity auf den Schrittmotor geben. (Die Skalierung der Geschwindigkeit in SM_DrivePosControl muss man so einstellen, dass das Getriebe und die sonstigen Übersetzungen zwischen dem 2. Encoder und dem Schrittmotor berücksichtigt werden!)
Damit das gut funktioniert sollte der Schrittmotor im Controller Mode „Velocity“ betrieben werden.
Der Nanotec unterstützt das antriebsseitig leider nicht.
Man kann es trotzdem so wie beschrieben versuchen, aber wie gut das Ergebnis ist, wenn der Nanotec im Controller Mode „Position“ ist kann ich nicht sagen muss getestet werden.
Grüße
Edwin