feed back servo
pilot0315
Posts: 977
Howdy,
I am finally trying to work with the feedback servo. Looking for some simple code.
I am attempting to use one like a standard servo with limited rotation for say 45 degrees both
directions. I think I saw a few years ago someone who was playing with them but cannot find it.
Just plain simple code hopefully with some documentation comments so I can understand what is being
done.
I have several and would like to use them.
Thank you in advance.
Martin

Comments
Hi
I think there are several "Feedback Sevos". Which exact type do you have?
One type can just be used as a normal servo but the additional line will give a voltage for the angle that you can measure using adc.
@"Christof Eb."
All are labeled: feedback servo 360 high speed
Thanks
Ok, so these are continuous rotation servos.
For the application as a standard servo I would buy a standard servo. I don't see the advantage to build a control loop for the angle via P1.
They are servos set for CR with an extra wire (yellow); on that wire is a pulse that [roughly] provides the position value of the device. I tried. Don't like them. I prefer robotic actuators like Lewan Soul (inexpensive) or Dynamixels. They all run on a single wire bus (open collector, half-duplex serial), and provide a lot more information.
https://www.amazon.com/dp/B073XY5NT1
If memory serves me, the LX-1x cannot provide angle when in continuous rotation mode (because it's being used as a motor).
@"Christof Eb."
Can it be done?
Feedback loop?
It might be doable in a Spin cog, but won't be easy. Servos want to be updated at 50Hz (every 20ms) but the feedback is at 910Hz. Within one cog CTRA could be used to generate the servo pulse and CTRB could be used to measure the incoming feedback.
Running an additional feedback loop with a slower inner loop makes absolutely no sense and will cause hunting (oscillations) unless you run the outer loop even slower (well below 50Hz).
Nested position control loops are used in CNC machinery, for example, to compensate thermal expansion of lead screws or other errors of the mechanics. But that only works if a seperate position sensor (glass scale, for example) is used for the outer loop that is more accurate than the servo feedback (encoder or potentiometer in this case) and the inner loop runs faster.
I think the feedback signal of the servos Martin mentioned are meant for some sort of sanity check or overload detection, only. This could be implemented withou a cog but with smart pins in pulse width detection mode.
Parallax Feedback 360° Hochgeschwindigkeits-Servo Datenblatt
https://cdn.robotshop.com/media/p/plx/rb-plx-357/pdf/parallax-feedback-360-high-speed-servo-datasheet.pdf
There is some code in this document, how to control these Parallax servos.