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

Reply to
Dave
Loading thread data ...

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

Reply to
Blueeyedpop

Hi Mike,

They're not digital servos. They work great, they just have such low friction the overshoot is a big problem.

-Dave

Reply to
Dave

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.

Reply to
Blueeyedpop

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.

-- Gord> I've got a pair of high end JR 4131 R/C helicopter servos that I've been

Reply to
Gordon McComb

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

Reply to
Gordon McComb

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

Reply to
Dave

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

Reply to
Dave

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

Reply to
Gordon McComb

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

Reply to
Mitch Berkson

[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

Reply to
Zagan

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

Reply to
Dave

ahhh soooo.

Didn't get that they were mods.

Yeah, I would go H-bridge.

My friends at NMI make a nice one.

formatting link
$20.00 all built up, $30.00 with buffer and LEDs.

Mike

Reply to
Blueeyedpop

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

Reply to
Gordon McComb

If you want an awesome DIY H-Bridge, goto

formatting link
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

Reply to
Anders Nelson

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.