Shop OBEX P1 Docs P2 Docs Learn Events
Continuous Rotation Servos: Dynamic Braking — Parallax Forums

Continuous Rotation Servos: Dynamic Braking

ercoerco Posts: 20,256
edited 2011-03-17 18:19 in Robotics
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.

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2011-03-16 14:00
    erco,

    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.
  • ercoerco Posts: 20,256
    edited 2011-03-16 14:59
    Right on both counts. I was speaking of analog servos, and there is always some thermal drift that requires "re-centering" the servos to stop at 1.5 ms pulses. I used precision 10-turn 10K trimpots in my servos and they still drift a bit. Annoying, but easily fixed.
  • Martin_HMartin_H Posts: 4,051
    edited 2011-03-16 19:20
    One reason I like CBA's CR servos over Scribbler 1's motor controller is I feel like I have much more positive control with CR servos. You can output or withhold pulses based upon encoder counts, ramp, coast, or jam on the brakes. For my odometry navigation project I used dynamic braking pulses in my original code and added pulse ramping when I integrated Phil's code from the encoder document. I also used Phil's calibration programs to center my CR servos, determine ramping values, and pulses for a complete rotation. I highly recommend them.

    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.
  • ercoerco Posts: 20,256
    edited 2011-03-17 16:34
    Quite true, Martin. Of course, Scribbler's set & forget motor controllers are quite nice and easy to use, similar to adding a Servopal to a CBA or Boebot. I think you saw my solution to achieving dynamic braking on my Scribbler: big surprise, a RELAY! http://www.youtube.com/watch?v=hGQEzz8CNIQ

    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.
    740 x 630 - 104K
  • Martin_HMartin_H Posts: 4,051
    edited 2011-03-17 18:19
    Yes, I remember being really impressed when I first saw that dynamic braking video. You'll be please to know I bought a relay last week just to experiment with it. Can plywood be far behind?

    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.
Sign In or Register to comment.