by i-Bot » Sun Mar 30, 2008 10:25 am
by i-Bot
Sun Mar 30, 2008 10:25 am
Reading the actual position of a servo is disruptive to the servo, and to all the other servos.
Unless the servo is under heavy load, and is moving at a controlled speed, then you can usually assume the position is where the controller has put it. This means you just need to check the C3024, not the servo. By controlled speed, I mean a speed where the C3024 is controlling the speed, and the speed is not limited by the physical servo. This is any normal speed, but if you use high speed, then does not apply above about speed 6.
You do not say if you use MOVE or SERVO. Using WAIT after MOVE will wait for the move to be complete.
You can PEEK locations in the memory to determine if any servo is still moving, also you can PEEK the current position of the SERVO sent from the C3024. The current position will be seen to change as the servo moves, since the controller moves it in a sequence of steps to control the speed. There are discussions on this in other threads here. I also posted some information here:
http://www.lynxmotion.net/viewtopic.php?t=3414
For the serial control it is possible, but fairly slow. Look at the posts here from PeterQ, who has it working from MATLAB.
The serial interface works in the exchange of bytes, so you should really wait for a character back before sending the next one. There are only 3 characters of buffer in the C3024. This make long commands slow, especially when using USB and windows.
Again you would not use command D2, but read the C3024 memory.
Reading the actual position of a servo is disruptive to the servo, and to all the other servos.
Unless the servo is under heavy load, and is moving at a controlled speed, then you can usually assume the position is where the controller has put it. This means you just need to check the C3024, not the servo. By controlled speed, I mean a speed where the C3024 is controlling the speed, and the speed is not limited by the physical servo. This is any normal speed, but if you use high speed, then does not apply above about speed 6.
You do not say if you use MOVE or SERVO. Using WAIT after MOVE will wait for the move to be complete.
You can PEEK locations in the memory to determine if any servo is still moving, also you can PEEK the current position of the SERVO sent from the C3024. The current position will be seen to change as the servo moves, since the controller moves it in a sequence of steps to control the speed. There are discussions on this in other threads here. I also posted some information here:
http://www.lynxmotion.net/viewtopic.php?t=3414
For the serial control it is possible, but fairly slow. Look at the posts here from PeterQ, who has it working from MATLAB.
The serial interface works in the exchange of bytes, so you should really wait for a character back before sending the next one. There are only 3 characters of buffer in the C3024. This make long commands slow, especially when using USB and windows.
Again you would not use command D2, but read the C3024 memory.