Esjaavik,
Thank you for your detailed post. There is a lot of good information there. My question after reading this is: does it matter that there is some error? Follow my logic. For example: If you had a one axis machine, your controller would tell the servo driver to go to position 100 (in encoder pulses) and it is currently at position 0. The servo would take some time to get there, but would eventually get there +/- 1 encoder position. During the movement of the servo, there is error (up to 100 pulses). The error does not matter, however because it is moving from one position to another, which is just what you want. If you move to a two axis system, it is the same except the two axises need to move in concert with the amount of movement being proportional throughout the whole of each movement command. Usually, the controller sends single step moves. For example, both axises are at 0 are are both commanded to go to 100. Each must take a step at the same time. The contoller will send a position of 1 to both drivers, and then a 2. The speed at which it does this is setup in the controller. As long as the interval is greater than the amount of time needed to accellerate, the servos will move together. One servo may accellerate faster than the other, in which case it will arrive at the position quicker, but it will have to wait for the next controller input to move again. There will always be a lag between the controller command and the servo, but as long as the two servos are moving proportionally and the accelleration is low enough, there shouldn't be a problem. Am I off here, or does this make sense? |