Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: Soeren on February 15, 2010, 06:51:40 PM

Title: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: Soeren on February 15, 2010, 06:51:40 PM
Hi,


Anybody has successfully run a Futaba s3003 at ~40Hz or ~80 Hz instead of the common ~50Hz?

Unfortunately I don't have one to experiment with myself and the reason I'd like to speed things up, is to synchronize the servo pulses to another signal (12.5ms ignition pulses - see this (http://www.societyofrobots.com/robotforum/index.php?topic=9087.0) tread if you are curious about the purpose).

If it cannot be done, it's either dual interrupt control, time sliced state machines (an oxymoron, I know), or similar "white glove" programming and I'd rather not on a PIC12F675. Last resort is to stay the servo pulses for around 25ms (might not be bad though).

The core of the problem is, that the ignition pulses will come each ~12.5ms and with regular servo timing of ~20ms I cannot just pause execution while waiting for the next thing happening.

Anyone tried something similar with that particular servo?
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: dunk on February 15, 2010, 07:59:00 PM
i can't comment on those exact models of servo but generally servos are quite tolerant of different refresh rates as long as the actual pulse is the correct width when it comes.

as you slow down from 50Hz you tend to get less torqe from the servo but the same resolution.
at 25Hz you typically have a servo that can move to position but not carry any sort of real load.

i have not experimented with the limits as you increase the pulse rate that far.
60Hz would be fine. i have no idea about 80...
these guys would definitely know: http://www.rcgroups.com/diy-electronics-199/ (http://www.rcgroups.com/diy-electronics-199/)


dunk.
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: Soeren on February 15, 2010, 09:32:56 PM
Hi,


i can't comment on those exact models of servo but generally servos are quite tolerant of different refresh rates as long as the actual pulse is the correct width when it comes.
Nice, the pulse will be very well behaved, so no problem in that respect.


as you slow down from 50Hz you tend to get less torqe from the servo but the same resolution.
at 25Hz you typically have a servo that can move to position but not carry any sort of real load.
Didn't think of that! Sort of rules out going slow then.


i have not experimented with the limits as you increase the pulse rate that far.
60Hz would be fine. i have no idea about 80...
these guys would definitely know: http://www.rcgroups.com/diy-electronics-199/ (http://www.rcgroups.com/diy-electronics-199/)
Yes, they should know, I'll check them out more after a string of Zs.

Thank you for taking the time :)
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: Admin on February 16, 2010, 12:46:20 AM
Quote
Anybody has successfully run a Futaba s3003 at ~40Hz or ~80 Hz instead of the common ~50Hz?
All servos I've used can handle a pulse as fast as every 20ms (50Hz), no problem. But faster than that, each servo I've used acts differently. I've gotten quite a few to work at 15ms (66Hz), but if its too fast, your servo risks burning itself out. I have some micro futaba servos that start to burn out around 13ms (77Hz).
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: hopslink on February 16, 2010, 07:25:23 AM
Perhaps try one of the later 12F's ie 12F615 with the Capture/Compare/PWM module. Virtually the same cost.
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: Soeren on February 16, 2010, 12:00:11 PM
Hi,

[...] if its too fast, your servo risks burning itself out. I have some micro futaba servos that start to burn out around 13ms (77Hz).
Ouch, I guess I'll have to dig out the white gloves then.

Thanks.

Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: Soeren on February 16, 2010, 12:09:59 PM
Hi,

[...] 12F615 with the Capture/Compare/PWM module. Virtually the same cost.
Thanks, but how would that solve this issue?
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: dunk on February 16, 2010, 12:27:08 PM
it's a while since i've used PICs but is it possible to set up a 16bit PWM channel to do the servo pulses for you in hardware?
i generally use this method to control servos on AVRs.
all you need to do to control the servo is make sure the correct value is in the timer register and you can set this at any stage of the hardware clock.

dunk.
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: hopslink on February 16, 2010, 04:48:13 PM
Thanks, but how would that solve this issue?
It will allow you to run either servo pulse output or ignition timing capture as an independant hardware process without your white gloves. See dunk's last post.
Title: Re: Over- or underclocking a Futaba s3003 servo to ~80Hz/~40Hz, will it work?
Post by: Soeren on February 16, 2010, 05:52:27 PM
Hi,

It will allow you to run either servo pulse output or ignition timing capture as an independant hardware process without your white gloves. See dunk's last post.
Ah, yes, the '615 has got 16bit PWM.
Unfortunately, I don't have def's for this device in neither Eagle nor PBP (so I'm kinda stuck with 8bit PWM).

Sure, I could build def's from scratch and restart (once again), but I think Neil and I are eager for the closure of this project.
Ah well, if I was doing this for a personal project I'd wouldn't even use an R/C-servo, but rather a DC-motor with a worm drive, but hey, it forces one to think, when faced with limitations, so it's not all bad :)

Thanks for the suggestion though, in 16 bits it would work smooth as a baby's behind, but I'll probably have to rethink the code a bit.