High end servos, and the problems they create

Hi All,
I've got a pair of high end JR 4131 R/C helicopter servos that I've been wanting to use in my robot. They're extremely well made, ball bearings
everywhere, high torque and fairly high speed, super smooth and quiet.
But they are so efficient that controlling robot movement is difficult, mainly because after you stop pulsing them, they continue to rotate for some time so the robot shoots way past the point that you'd like it to stop. This has not been a problem using standard Futaba S148 as they have a significant amount of friction in them (I think of it as built in braking).
I am having a difficult time programming in a smooth braking routine. About the only thing I can think of and tried is a decrementing FOR-NEXT loop which brings the servos to a gradual stop.
But this either:
a) takes too long or b) is jerky (not smooth if you decrement to fast)
Is anyone else using ball bearing servos for drive wheels and has solved this problem? Thanks.
-Dave
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Are you driving then at 270 Hz? The new "digital" serfos, specificly developed for heli-gyro/tailboom applications are not the same drive as your older futabas. It is still the same pulse length, just a higher frequency.
Mike
"Dave" <blank> wrote in message

some
This
significant
About
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi Mike,
They're not digital servos. They work great, they just have such low friction the overshoot is a big problem.
-Dave

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
are you feeding them with a continuous waveform of the proper frequency? You state "after you stop pulsing them". You should be driving then at 50-60 Hz if they are not digital.
Mike "Dave" <blank> wrote in message

been
difficult,
for
stop.
loop
solved
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Blueeyedpop wrote:

Dave is removing the pulses to cause the motors to stop. This is a typical approach with non-digital servos, and is preferred over going to a neutral pulse length in order to stop. It avoids the problems of component and temperature drift causing the neutral position to change.
His problem, if I understand his discription, is that the gearbox in these servos is low friction, and the forward intertia of his robot is causing the motors to coast to a stop. He would the robot to come to a more abrupt stop, like it did when using cheaper servos with higher friction gearboxes.
-- Gordon Author: Constructing Robot Bases (Forthcoming) Robot Builder's Sourcebook, Robot Builder's Bonanza
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

That is precisely the problem, for moment I'm still using the cheaper servos until I can come up with a braking behavior "on the bench" that is satisfactory, trying to mimick them to stop like the cheap servos.
This robot is nearing the end of its life cycle. My next one is going to use DC motors/gearboxes and h-bridge control. I wonder if I'll encounter similiar problems with that, or do H-bridges have braking capabilities built in? Thanks.
-Dave
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Dave wrote:

Since what you want is damping, maybe you could add it to the system with a friction material against a disk mounted in the drive train or directly against the drive shaft.
Mitch Berkson
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Dave" <blank> wrote in message

servos
use
built
[Zagan] Dave,
If you use a gear box I think you will find that the mechanical "resistance" of the gearbox will be sufficient to stop your robot when you stop pulsing the H-bridges. This, of course, depends on the ratio of the gearbox and other factors. If for some reason, the gearbox resistance is not sufficient to stop your robot, you can try shorting the terminals of the motors. This will cause the motors themselves to produce a breaking effect. If you have a small DC motor handy, try rotating the shaft with the motor terminals/leads not connected to anything. Then short the leads together and try rotating the shaft. You should notice a an increase in resistance since the motor is trying to act as a generator driving a short circuit. If you find you have to go this route, be sure you don't short out your batteries of course. I'd suggest you use a mechanical relay that disconnects the batteries from the H-bridges and the motors, and then shorts them out.
Hope this helps.
// Jim
--
|| Free Science Fiction
|| "The Keepers of Forever"
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

use
built
If you want an awesome DIY H-Bridge, goto www.bobblick.com. I'm currently assembling one, and it has an unusual feature where bringing both logic-level inputs high will perform motor braking, just like that which you need.
Hope this helps!
Anders
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
ahhh soooo.
Didn't get that they were mods.
Yeah, I would go H-bridge.
My friends at NMI make a nice one. http://www.newmicros.com/cgi-bin/store/order.cgi?form=prod_detail&part=NMIH- 0010 $20.00 all built up, $30.00 with buffer and LEDs.
Mike

50-60
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
A true H-bridge with braking may be the only way to "correct" this. Motors with low-friction gear boxes can indeed "coast" to a stop, and the intertia of your robot isn't helping any.
Solarbotics sells an H-bridge that has a form-factor to fit a standard-size servo, but check the specs to make sure it will run this servo. You can also make your own, or purchase a regular H-bridge board. The bridge should have a "brake" function, which basically removes current then applies a short to the motor terminals.
Barring this is some routine that applies a counter-rotation to the motors for some length of time (probably as short as possible) to help brake them. That is, if the motors are turning CW, then apply one or more CCW direction pulses before coming to the stop.
-- Gordon Author: Constructing Robot Bases (Forthcoming) Robot Builder's Sourcebook, Robot Builder's Bonanza
Dave wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi Gordon,
See my other post to you about the H-bridges, I hadn't read this yet when I replied. I do have a couple of Allegro 3952 Motor drivers, I haven't looked at the specs to closely though to see if they have braking or not. But for sure, H-bridge motor control seems like the way to go for my next bot. Best regards,
-Dave

some
This
significant
About
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Dave wrote:

The 3952's are nice, but they've been discontinued for a product I don't like as much. In any case, if you already have some, then they might be worth trying out. They do offer braking.
The thing about braking is that it generate current just like powering the motor does. So you have to be sure the bridge can handle the back EMF current generated by the motor. A LOT of current can be generated during braking, so be careful. The specs of the bridge will usually indicate maximum braking current.
One store-bought solution is to use a model R/C motor controller. Be sure it has forward and backward function, plus braking (ones for airplanes only go forward). Many are designed to be used with motors that require a significant amount of current. They're made to work off the same pulses you're using for your servos, so there's little code to rewrite. Most any hobby store will have some you can look at.
-- Gordon Author: Constructing Robot Bases (Forthcoming) Robot Builder's Sourcebook, Robot Builder's Bonanza
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

That would be the 3959's. I noticed that when I went to Allegro.com to get the datasheet. Care to elaborate a little on why you prefer the older models?
-Dave
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Dave wrote:

The 3959 is a DMOS chip, which means it needs about 10 volts minimum for the motor supply voltage, and ideally 12 volts or more. The 3952 was a bi-polar part, so it could run with a voltage as low as the logic supply.
DMOS has its advantages, but they're not as handy for lower voltage motors. While you can use PWM to reduce the effective voltage to the motor, you lose some flexibility doing this. Most DC motors are not usable below 50-60% duty cycle, and if you're already applying 70-80% to reduce the voltage that doesn't leave much room to play with.
-- Gordon Author: Constructing Robot Bases (Forthcoming) Robot Builder's Sourcebook, Robot Builder's Bonanza
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.