Re: Quarter Scale Winch Servo Control
Based on some additional searching it appears to be a missing API in robotc that would allow you to disable the entire servo controller so that all servos on that controller would be "turned off".
From the datasheet http://www.cougarrobot.com/attachments/ ... 20v1.2.pdf
setting the PWM field to 255 disables PWM output which I assume would match the power on characteristics that servos can be moved manually until you send your first position command. It appears to be a feature in labview. Should be easy enough for RobotC to add it in as a API to allow for a driver controlled option via a button to disable the servos if they are mechanically unable to move.
Need to go back and check where I think sending a 0 to the Winch Servo will cause continuous rotation in one direction and a 255 in the other direction. The challenge is how to make it stop rotating when you have reached your desired position. Would be great to hold the current position or at minimum have it not rotate. This is how the HSR-1425CR works.
For the servo programmer details at https://www.servocity.com/html/hfp-25_s ... GzBb_nF-5o
The winch servo has a 3.5 rotation period which makes it difficult to figure
out what servo setting equals what position. In addition, it's not all that
accurate when told to go to position x from position y and then told to go
back to position x. You will likely be off by a greater degree than you would
expect with a normal hitecnic servo.
However it does work similarly to a normal servo once you understand
how it interacts with the controller and the limitations therein.
The hitechnic controller has a PWM range of 750usecs to 2500usecs, but the winch servo
accepts a range of 1000-2000usecs. Ergo the hitechnic controller will operate over a wider range
than the servo, so send it a PWM frequency outside that range and you observe the slow continual
movement as if it's gone into a zombie state.
Given that the HiTechic Servo Controller allows setting of the PWM output from 750 to 2250 microseconds
with a step resolution of 5.88 microseconds anything under servo[foo] = 42 puts the servo into the zombie state.
The math is the same for the other end of the scale (212).
Anything in between those two values will fall somewhere within the 1260 degree rotation of the servo.