Bob,
Sorry to take so long to respond...We have had higher than usual order volume, and we're just now getting caught up.
Currently you cannot query servo position. You must simply store the last position that you sent to the Serializer (if you indeed get an ACK back).
The -99 to 100 range refers to the position range of the servo, where -100 is disabled. A position of -99 sets the position of the servo all the way to the left, 0 centers the servo, and 100 sets the servo position all the way to the right. Values between these extents will command the servo to position itself in between. So, if you command the servo to go to position 50, then it's going to rotate the servo halfway between 0 and 100. We decided to go with this range to make it easier to visualize the servo's position (instead of using 500 usec to 2500 usec).
I see that I need to add a better explanation to the Serializer User Guide. I'll do that this weekend, as I have some other updates I need to make.
What do you mean by "it seems highly nonlinear"?
Best Regards!
What we did was to make sure the pulse width the serialzer generates is linear from -99 to 100. What the servo does with the pulse we cannot control. What brand and part number are you using and I'll see if I have something similar to test with.
Ringo
I have a HiTec digital servo part no. HS-5475HB that has been modified to have a range of 180 degrees by HiTec. I just did some more tests. Using the both the Serializer and the SSC-32 servo controller board I have found the free range to be [-75,75] degrees. I’m new to working with these types of servos so I don’t know if that is normal or not.
Anyway, my first test exhibited the behavior that I was seeing before. If the input vector is x = [0, 10, 20], I got y1 = [6, 14, 53], y2 = [8, 53, 53] for two separate trials, where x is the is the value “servo 2:x” and y are the readings on the protractor for different tests after power cycling the board.
I also tried the negative range with much better consistency: x = [0:-10:-90], y = [8, 0, -10, -19, -28, -37, -46, -55,- 63, -73]. After that I did another test in the positive direction and got better results x = [0:10:70], y = [6,14,24,33,42,51,60, 69]. I’m using Matlab notation here.
The negative direction looks good. But, It looks like there is some intermittent behavior in the positive direction. These are always the hardest to track down.
I have a couple of other servos I can try at some point. One is a standard HS-5475HB and the other is HS-475HB.