OpenServo.com Forum Index OpenServo.com
Discussion of the OpenServo project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Finished Servo For Sale?

 
Post new topic   Reply to topic    OpenServo.com Forum Index -> Applications
View previous topic :: View next topic  
Author Message
dsandber



Joined: 01 Aug 2006
Posts: 52

PostPosted: Tue Aug 01, 2006 1:28 am    Post subject: Finished Servo For Sale? Reply with quote

Hi,

I found out about this site when an engineer at Hitec told me they didn't make any servos that had a high refresh rate ( ~ 20 Khz ). He suggested I look into OpenServo!

I'm builting a robotic application where there is a lot of weight on a servo. It tends to oscillate and make an annoying buzzing sound. I was using the HS-805BB which is pretty heavy duty. I am switching to a HS-5955TG in the hope that as a digital servo the noise will be better. However its refresh rate is still pretty low ( 300 Hz ) so I suspect it will buzz as well. I would like to find a servo which refreshes outside the audio range ( 20Khz+ ) so that it is quiet.

I assume the OpenServo has adjustable PWM frequency.

Is there any way to buy a finished servo rather than purchasing one myself? I'm not in a big rush to learn how to solder SMT components even though its quite obvious that I inevitably will. All the newest parts are SMT only these days Sad

Thanks,

-Dan
Back to top
View user's profile Send private message
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Tue Aug 01, 2006 3:03 am    Post subject: Reply with quote

Hi Dan,

I'm impressed that Hitec engineers know about OpenServo.

In any case, when you say ""high refresh rate"", what specific characteristic of the servo are you asking about? The ADC sampling rate of the potentiometer? The frequency of the PWM signal sent to the motor?

I suspect you are talking about the ADC conversion rate that drives the PID algorithm. If so, that is current set at 100Hz for the OpenServo. However I have driven it as high as 2000Hz with earlier versions of the OpenServo software. The AVR ATmega168 MCU we are using has a maximum sampling rate around 12KHz to 15KHz so that may be the practical upper limit of the OpenServo software. However, at that frequency I suspect there may be other software issues.

Right now no one is making the OpenServo for resale, but some people have asked me about it and I support their efforts fully. It will probably take a few months though for some to appear, if ever. Hopefully when they see your message they'll chime in with more information about possibility of someday being able to purchase an OpenServo.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
dsandber



Joined: 01 Aug 2006
Posts: 52

PostPosted: Tue Aug 01, 2006 8:42 am    Post subject: Reply with quote

I would think refresh rate is the frequency with which the desired position is compared to the actual position, and the PWM frequency updated. Sounds like you're saying that this is currently limited by the ADC frequency.

I'd imagine that 15k ADC sampling would be sufficient even though it is in the audible range. I was using a PID controller to control a motor with an ATMega168 and it was quiet, despite the 15k limitation.

Perhaps there's more to the noisy/quiet issue than the outer loop frequency. Tomorrow I'll find out how the digital servo performs.

Perhaps in addition to torque there should be a parameter which specifies the noise when a given weight is hung at an inch off the axis Smile
Back to top
View user's profile Send private message
stefanengelke



Joined: 03 Jan 2006
Posts: 59
Location: Stuttgart, Germany

PostPosted: Tue Aug 01, 2006 9:11 am    Post subject: Reply with quote

Hi Dan,

the frequency of oscillation under heavy load is not only depending on the frequency of your controler. Your description sounds more like a unstable behavior of the control loop. The control parameters of the servo were adjusted to control the servo like it is. Of course they tried to make it as robust as possible against disturbances (like heavy load) but if the dynamics of the servo system vary to much, the quality of the control behavior suffering losses. This is also the case if you have a continuous controler. The servo will also oscillate with the eigenfrequency of the closed control loop if the control parameters are not adjusted for such a load, even if you have an infinitely fast controler.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Tue Aug 01, 2006 2:07 pm    Post subject: Reply with quote

I thought i'd chime in Wink

I am working to get somone to make these units for me at a reasonable price, unfortunately I am getting some very silly prices for small runs (200 units). With the current quotes, the cost per unit would be about $30, which is way too high considering. Who would have thought that Chinese labour was so expensive.

As Mike said, there will be a fairly long lead time to get this up and running (if at all) and I will announce if and when something happens.

With regard to your original problem of loaded servos buzzing...
I am hanging an entire robot hand off of a servo, the OpenServo does a fantastic job of controlling the load. I have no buzzing, or even oscillation issues now that I have tuned the PID values.

Cheers,

Barry
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
dsandber



Joined: 01 Aug 2006
Posts: 52

PostPosted: Tue Aug 01, 2006 4:44 pm    Post subject: Assembly Reply with quote

Olimex charges about $10/hr for assembly I believe. They're taking the month of August off however.
Back to top
View user's profile Send private message
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Tue Aug 01, 2006 5:02 pm    Post subject: Reply with quote

They look good too. Oh well. i'll shop around for some quotes.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
dsandber



Joined: 01 Aug 2006
Posts: 52

PostPosted: Thu Aug 03, 2006 9:27 am    Post subject: Reply with quote

Welp, I'm in trouble.

The new digital servo oscillates even more loudly than the old analog one.

The basic configuration can best be described as a 5lb 16"" rod which is connected to the servo at its mid-point.

I guess the inertia of the rod is completely messing with the PID parameters. As far as I can tell this isn't tunable in a stock Hitec digital servo.

Anyone have any ideas other than building an OpenServo? I'll do it if I have to, but I'm afraid it'll be a big distraction from the main project of building the robot itself.

Thanks!

-Dan
Back to top
View user's profile Send private message
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Thu Aug 03, 2006 10:03 am    Post subject: Reply with quote

The only thing I can suggest is use a really basic analogue servo, and only send the PWM pulses to the actuator less frequently.

The older servos being a pretty dumb interface should work for you on this one. If you can break the PWM signal down so that it doesn't send in a continuous stream, you shoule be set.

|-----|_____|------|____|-----|
PWM PWM
on off

This should allow for the servo to settle a little before the next cycle of PWM comes through. If you find the right balance between the mark space of the PWM signal, you *might* be able to stop it from making horrible noise.

If you find the perfect balance, you should in theory be able to find values for the cycles that hold the servo in place without oscillations. Esentually you will be finding the stall current and voltage with the PWM, it should give a fairly stiff, but useable movement. Instead of the servo fighting to correct itself all the time, which will cause nasty oscillations, and the buzzing, leaving a settle time should allow the servo to relax for a small amount of time.

I have found similar problems before now, and sometimes it's much better to go with a simpler solution.


Barry
Other than that, I don't have any ideas.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
dsandber



Joined: 01 Aug 2006
Posts: 52

PostPosted: Thu Aug 03, 2006 10:30 pm    Post subject: Reply with quote

Hmmm...

Anyone interested in trading their moderately torquee and tunable OpenServo for an absurdly high-torque,tiny and expensive HS-5955TG?

Or alternatively sending me an extra OpenServo for $75 or so?
Back to top
View user's profile Send private message
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Fri Aug 04, 2006 8:03 pm    Post subject: Reply with quote

Sorry, I don't have any spare OpenServos at this time. I'm putting together an order to make a dozen servos for my robot and I could perhaps make a few spare, but it will probably be a while before I get them made as it's getting tougher for me to find spare time to work on them. You can check back with me in a few weeks to see where things stand and I perhaps can get you an assembled OpenServo.

Something you need to keep in mind is that the OpenServo isn't controlled with standard servo PWM signals, but rather an I2C interface. We've talked about creating a PWM version of the OpenServo, but nothing has been done in this direction. I just mention this as it is something that needs to be taken into account when contemplating using the OpenServo.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
guru



Joined: 03 Jan 2006
Posts: 128
Location: St Pete Beach, FL

PostPosted: Thu Aug 10, 2006 9:21 pm    Post subject: Reply with quote

dsander: I think what you are referring to with the noise of the servo is not the servo control loop frequency but the frequency of the output PWM. The coil in the motor can cause audible noise due to PWM frequency. For this reason I chose a PWM frequency about 25KHz, outside the audible range when I made my superservo (PIC based servo). I did hear high pitch noise when using a smaller freq at one point during development.

The control loop bandwidth/freq was much lower than the 25KHz PWM freq. I maxed that out at 8500KHZ, which one of the more expert persons on here mathmatically determined was OVERKILL! Razz

I am sure the Atmel's (openservo's) PWM output freq could be set to higher than audible range. This freq is based on the clock freq ( a clock divider), but normally does not take extra cpu cycles as the PWM is hardware based. So the Atmel's ADC range shouldnt have anything to do with PWM limitation. I think the PIC ADC limit is less than 10KHz too.

Changing the PWM freq wont affect oscillation though I am betting, just t he audible noise.

Also, in case you ask: You are welcome to my source files on the PIC ( I think they are in the repository), but, you should use the Open Servo, it has surpassed my implementation a while ago with all the people working on it.

C
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
dsandber



Joined: 01 Aug 2006
Posts: 52

PostPosted: Thu Aug 10, 2006 9:34 pm    Post subject: Reply with quote

There's a visible oscillation in the rod ( see above ) connected to the servo, so I'm pretty sure its not the PWM frequency.

I'm pretty sure the inertia of the rod is causing trouble with the PID loop.

I'm going to try to damp the oscillation by adding friction to the system. Eventually I'll either buy an OpenServo, make my own, or connect one of my existing servos to an h-bridge and A2D on the uC.

Cheers,

-Dan
Back to top
View user's profile Send private message
Zeddicus



Joined: 21 May 2006
Posts: 109

PostPosted: Tue Aug 22, 2006 7:48 pm    Post subject: Reply with quote

Hi,
my turn to dip the spoon.

If there is a visible oscillation of the rod, then there is no doubt that you have an unstable control loop. I believe there is a way to change the parameters for a digital hitec servo, but you have to buy a programmer from them or something, I don't really know the details.
In any case, I'd move to openservo if I were you, because here you have full control over what is going on with the servo. If you don't like it, you can change it. If it doesn't work, you can fix it, and so on hehehe

Cheers,
ZZZ

----------
Zedd? Where's Zedd??
Back to top
View user's profile Send private message
jstrout



Joined: 26 Aug 2006
Posts: 3

PostPosted: Sat Aug 26, 2006 4:55 pm    Post subject: Re: Assembly Reply with quote

"dsandber" wrote:
Olimex charges about $10/hr for assembly I believe. They're taking the month of August off however.


They do look quite promising. On their home page they have a ""Gadgets"" link (http://www.olimex.com/gadgets/) which leads to a page of prepared boards you can order as either just the board, or completed (assembled & tested) boards. But currently they only have one offering -- the openEEG board (http://openeeg.sourceforge.net/).

So it seems they're well set up to add more of the same; I bet it wouldn't take much effort to get them what they need to offer OpenServo boards the same way.

The OpenEEG boards are bigger than ours, and sold by the pair -- my guess is that they make them by the panel, then separate them into boards. So while they sell a set of two boards for $24, we might be able to get four boards for $24. Assembled is more, but I'm sure that depends at least partly on the cost of components. In short, OpenServo boards would be much cheaper than these, I think.

I hope somebody does this, because I too lack the skills to make an OpenServo board myself, but I'd very much like to try one!

Best,
- Joe
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    OpenServo.com Forum Index -> Applications All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group