Continuous Rotation Servos: Dynamic Braking
I'm learning a lot about CR servos on my balance bot. I haven't seen anyone else make the distinction about dynamic braking here, so pardon if I'm restating the obvious. A "stop" command, typically a string of 1.5 ms pulses (AKA pulsout 750's) applies dynamic braking to the motor, stopping it in a hurry. The alternative is to simply stop sending pulses, which allows the motor to coast gently to a stop. A subtle but very useful difference for fine position control. It's hard to appreciate it unless you are doing precise work, like counting encoder pulses and needing to stop at an exact count. In some situations, a combination of coasting and dynamic braking can be advantageous.
I used DC motors in my many dead reckoning experiments, which can be dynamically braked by shorting the motor leads together with a relay. I am infamous for my conspicuous consumption of 17 mA Aromat DPDT relays for making DC motor controllers, and I simply haven't had much experience yet using servos for accurate motion control. Now I am getting into ramping, accelerations and velocity control with servos, so I'm having fun learning.
The quarter-scale servos I modded for CR use have lots of gearing; peak RPM is only about 60 at 7.2 volts. More torque than speed. Of course, higher gearing also allows for greater dynamic braking in both servos and DC gearmotors.
I used DC motors in my many dead reckoning experiments, which can be dynamically braked by shorting the motor leads together with a relay. I am infamous for my conspicuous consumption of 17 mA Aromat DPDT relays for making DC motor controllers, and I simply haven't had much experience yet using servos for accurate motion control. Now I am getting into ramping, accelerations and velocity control with servos, so I'm having fun learning.
The quarter-scale servos I modded for CR use have lots of gearing; peak RPM is only about 60 at 7.2 volts. More torque than speed. Of course, higher gearing also allows for greater dynamic braking in both servos and DC gearmotors.
Comments
I think your description of the "stop" command is accurate for analog servos. I'm not so sure if digital servos behave the same. I think digital servos "remember" the last pulse sent and actively hold the servo there. I've read digital servos are not a good choice for conversion to continuous rotation.
Some of the conversion methods I've seen on the internet use two resistors to take the place of the pot. I've found it's better to keep a pot in the circuit. I often use multi turn trim pots or just the original servo pot.
I found that without stop pulses the robot rolls past a destination, and with multiple way points errors compounds quickly. Without pulse ramping wheel slip results in encoder counts with no motion, again it compounds over time. So both are needed for accurate dead reckoning.
One other interesting feature about the Scribbler's motor drivers was the duration feature. It was not heavily documented; I only found it mentioned once in the Scribbler Hints pdf, screen shot attached.
Yes Scribblers set and forget motor controller comes in handy when you want to juggle another sensor like a line follower, particularly when trying to read a barcode. There's only so much you can do at one time with a BS2.