Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Modified servos - Speed control, is it possible?

Status
Not open for further replies.

atferrari

Well-Known Member
Most Helpful Member
After reading in two sites about how to modify a servo for continuous rotation I've found these contradictory statements:

First site says:
Pulses of medium width produce 50% voltage, no difference, no movement. Slightly longer pulses move the motor slowly. Longer pulses move the motor faster. Pulses shorter than the medium width cause the motor to spin in the opposite direction
:)

While the second:
Unfortunately, one limitation of these wonderful little gadgets has been speed control when used as drive motors. By design, servos drive to their commanded position fairly rapidly. So the command input normally provides only full forward, stop, and full reverse control of the drive motor, with nothing in between
:shock: :?:

(BOLD remarks are mine!)

Before spending any cash in a servo, my questions:

a - Who's right? Do I have speed control in a modified servo or not?
b - If so, with a 1.5 ms signal, does the motor stop?

Thanks for any concrete answer.
 
they are both sort of right

on a unmodified one no matter what pulse goes it, it will stop when it reaches the desired angle, the pulse width will just command the shaft to a specific angle.

on a modified one as far as i know allows continuous forward and backward control. 1ms will make it do one way continously and 1.5 will make it go the other, the motor will not stop turning this allows for control of things like robot wheels.



Sorry about the spelling
 
Essentially you can't control the speed, BUT by very small increments around stop you can get a very simple and rough speed control, however, this isn't likely to be very reliable!.

It's probably best considered that you can't alter the speed!.
 
Hi Nigel, look at this

I've read further in the second site. :) This is what he says, pretty much in line with your reply:

The main cause of this problem is that while the existing speed control feedback level is adequate for normal position servo stabilization, it is insufficient to match the 1 mS (1-2 mS) input pulse width variation when the servo is used as a drive motor. The result is that the motor is just driven to maximum speed most of the time.

So, now I know I have to provide some modification to ensure good speed control. :!:

Thanks.
 
humm, when i have moded servo's a small 'angle' from zero represented a slow speed.

I always thought that the speed of the motor was propotinal to the differnece in desired angle and current angle.......
 
pittuck said:
humm, when i have moded servo's a small 'angle' from zero represented a slow speed.

I always thought that the speed of the motor was propotinal to the differnece in desired angle and current angle.......

As a servo approaches it's assigned position it starts to slow down, to prevent overshoot. So by setting the position of a modified servo to slightly either side of STOP you can get a crude speed control, but it's not really very reliable or precise.
 
what do you want to do with the motors. you might be able to use steppers salvaged from old 5.25" drives or DC motors with gearboxes, but that depends on your application.

dont forget that the RC servo you are using wasnt designed for full rotation. one solution is that you take out all the electronics out of the servo and leave only the DC motor and the gears in that box. then make your own H-bridge circuit and drive the motor with a PIC and your own H-bridge circuit
 
Actually you can control the speed on most modified servos.

Full forward speed does set in around 1.8ms and full reverse at about 1.2ms.

This is because no servo is designed to operate at the full 1.0 to 2.0ms range. Some transmitters arent even capable of the whole range without modification.

It can be pretty precise also. You dont have to send 1.5,1.6,1.7 etc. in"whole numbers". Try 1.55,1.59,1.65 etc for more range. Figure out exactly where full speed sets in and divide that up and you pretty much have a fairly linear speed range.

Also, check out some of the datasheets for the driver chip in your servo and see what you can mod. Most smaller servos use the NJRC2611 driver, which is a good chip for a lots of RC signal controlled gizmos.


Also, the STOP point all depends on how you mod the feedback circuit. If you leave the pot in and just disconnect it from the output shaft its unlikely you will get it to be a perfect 1.5ms stop unless you replace it with a multi turn precision pot. The best way is to use 2 resistors. Most guides will tell you to use the same resistors but this isnt always true. If the servo has a 10K pot start out with 2 x 5k resistors and send it a 1.5ms pulse. If it still turns change the value of one slightly until it does or put a multi turn pot in the place of one and adjust until it stops at 1.5, measure the pot and replace it with a resistir of the closest value.

Dont use an RC Tx and Rx to get your pulse, you will never get it to stop due to the fact most radios drift a bit. Send a stable 1.5ms pulse with a PIC or stamp or something.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top