Problem with Servo timing (Flowcode 6) with ECIO40P16
Posted: Sun Feb 08, 2015 11:59 pm
Hi,
I have modified the "Single_servo_motor_control.fcfx" example on the wiki page for Flowcode 6 to try and drive a Tower Pro "SG-5010" Servo motor using the ECIO40P16. The example is "Servo Example 1":-
http://www.matrixtsl.com/wiki/index.php ... tronics%29
The specs of the motor are as follows:-
Rotational Range 180Degree
Pulse Cycle:- 20mSec
Pulse width 600-2400uSec
I modified the example above (see attached) with the timing that is indicated above for the motor, however when I connected the Servo up I noticed the movement was no where 180 degrees rotation of the shaft (it was approx. 70 degrees) and the motor was making a funny noise at the smaller pulse width. At that point I measured the pulse widths with an oscilloscope and found that the pulse width was approximately 0.49mSec @600uSec and 1.1mSec @ 2400uSec setting.
I also measured the pulse period and assumed that this would be 20mSec but this measured approximately 19.7mSec.
The biggest discrepancy is obviously the 2400uSec measuring 1.2mSec.
I have attached the flowcode file. Is there a bug with the timing or am I doing something wrong?
Finally, I noticed in the parameter section of the servo controller that "Divider" is set to yes. I tried setting this to "No" but it would not let me change it. What is this parameter used for and why wont it let me change it?
Regards,
Paul
I have modified the "Single_servo_motor_control.fcfx" example on the wiki page for Flowcode 6 to try and drive a Tower Pro "SG-5010" Servo motor using the ECIO40P16. The example is "Servo Example 1":-
http://www.matrixtsl.com/wiki/index.php ... tronics%29
The specs of the motor are as follows:-
Rotational Range 180Degree
Pulse Cycle:- 20mSec
Pulse width 600-2400uSec
I modified the example above (see attached) with the timing that is indicated above for the motor, however when I connected the Servo up I noticed the movement was no where 180 degrees rotation of the shaft (it was approx. 70 degrees) and the motor was making a funny noise at the smaller pulse width. At that point I measured the pulse widths with an oscilloscope and found that the pulse width was approximately 0.49mSec @600uSec and 1.1mSec @ 2400uSec setting.
I also measured the pulse period and assumed that this would be 20mSec but this measured approximately 19.7mSec.
The biggest discrepancy is obviously the 2400uSec measuring 1.2mSec.
I have attached the flowcode file. Is there a bug with the timing or am I doing something wrong?
Finally, I noticed in the parameter section of the servo controller that "Divider" is set to yes. I tried setting this to "No" but it would not let me change it. What is this parameter used for and why wont it let me change it?
Regards,
Paul