
JWAero (Customer) asked a question.
Hello, I am looking at using a SureServo motor and drive to control a shaft and I am looking at where to begin for programming this application.
The servo will basically try to hold the shaft at a "home" location (0 Degrees).
As the shaft is rotated by an external force, the further away from the 0 degree position, the more force the motor will generate to rotate back to the 0 degree position. I have attached an image of what I am looking to do. It seems like a simple force feedback application, but this would be my first time doing programming astray of Positioning control or speed control.
Any suggestions on how you would go about programming for this application?
I have never done this specific application, but it should be achievable. I know if I have a servo wired up for position mode and sitting there, if I take my hand and twist the shaft it will move and the servo will correct it back to "0". If I relax the speed of the position loop or the system stiffness it wont correct as quickly either.
Obviously, you want to control how much torque is used to correct and not just use full torque to get it back to the middle all the time. I see when looking at the torque control mode parameters that there is "internal torque commands" (P1.012- P1.014). These might be useful to set how much torque based on the shaft position. I also see P1.040 Maximum rotation speed for analog, and P1.041 Maximum output for analog torque. These might be usable in some way to hook a potentiometer to the shaft and based on how much it has turned it increases or decreases the analog torque command value.
You may end up actually wanting a position mode though, as I am not sure if a torque mode would keep the shaft stationary or if it would try to rotate and simply limit the torque of the rotation. Whereas a position mode would keep it at a certain place. I see that the internal torque limit parameters are available in position mode, so perhaps you could use them to change the torque limit the servo applies to keep the shaft position based on the movement of the shaft. It seems to have 3 levels, which fits nicely to the 35%, 60%, and 100% values you want. You may also be able to use the gain parameters, position loop bandwidth parameter, and the position gain rate oif change to fine tune the responsiveness of the servo trying to correct.
This type of control actually came up as an idea i had aswell. I agree with you that it would be best to have adjustability/control over the torque curve, instead of full torque immediately on twisting the shaft. I will look more into this control. Thanks for the suggestion
Bump
If you are still looking for assistance please reach out to our technical support team by filling out this form or calling 1-800-633-0405.