Servo motors buzzing when mill is stopped



I just took the time to read the entire article. Some really smart fella wrote that <G> I really like the simple tuning approach on page 6. If I ever get my plasma torch height control built, this article is exactly what I need to know.
Karl
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 07/22/2010 10:23 AM, Karl Townsend wrote:

Or at least someone who thought he was smart.

Ironically enough, that's not much more than what they teach union millwrights to do when tuning a loop.
The biggest shortcoming of that article is that it gives a tuning procedure that is almost guaranteed to give you a loop that is pretty safe but not optimal. If you want guaranteed stability and the best tuning ever then you have to crack the theory books, and _then_ you have to figure out how to _apply_ the theory books (which the theory books don't tell you, because they're so busy admiring all the pretty math).
Fortunately 99% of the control loops out there can get by just fine with its sub-optimal, "probably safe" tuning. And I get the challenge of working on some of the rest, and people actually pay me for having fun!
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Ignoramus24043 wrote:

Encoders always jitter unless perfectly in the center between state transitions. And, the elastic nature of the whole machine keeps it creeping all the time.

You first need to find out whether it is the servo amps themselves or the positioning loop that causes the buzzing. If you can keep the amps enabled and hit F2 to shut off EMC's positioning loop, and the buzz goes away, then it is EMC that is causing it. First, you need to set the DEADBAND to at least 1.5 x the size of an encoder count, in user units. Too large a deadband can cause discontinuities in the transfer function, but a small amount helps suppress the servo jittering. Some servo jitter is unavoidable, but I have my machine set up so you can't hear it. (I have bar graphs on the current and voltage of the amp, so I know it is jittering, but it is of very small amplitude and only a couple bumps a second.
P is raw position gain, you want it as high as you can to minimize error. D is a damping term, but it doesn't work as well as one might want. The reason is the encoder position is quantized, and so when moving you get a fluctuation in number of counts per servo period. If you were moving at a rate equal to 1500 counts/second, and the servo loop is updated 1000 times a second, the counts would come in at a rate of 1,2,1,2,1,2 etc. So, the PID algorithm would perceive a huge jump in velocity every other cycle. The D term magnifies this and feeds it back into the velocity command output, so too much D causes worse vibrations. You can partially help out the finite gain situation with FF1 and FF2 to correct for steady-state error (FF1) and error on acceleration (FF2). But, hopefully, if you can put in enough D without causing worse rattling, it should help with the buzz. Turning the servo amp gain as high as possible allows you to run with a lot LESS gain in the positioning loop, which makes tuning easier.
Jon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

sure, plus my servo drives creep

Definitely positioning loop. Buzzing goes away if I hit F2.

Exactly
Yes, it is 1E-06 now, and I am changing it to 1/2/10/4000=1.25E-05.

sounds good

OK, so, it seems, after setting deadband I should increase the amplifier's gain.
I will try that tonight.
Thanks Jon
igor
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Thu, 22 Jul 2010 07:58:44 -0500, Ignoramus24043

On most..most AMC amps..turn the micopots clockwise until the buzzing starts..then back off 2-3 full turns. On most machines..2 works fine.
That works for MOST of my applications. And the buzzing when it starts isnt very loud. If you go until the servo is hammering...thats not good.
Gunner
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Whoopse..that should be the Gain micropot..the one at the far left end of the 5...when facing the lable.
Sorry
Gunner

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

It is not loud, but it is bad for the servo, the ballscrew, encoder, pretty much everything.
Your method of turning the gain pot clockwise until buzzing starts, and then backing out 3 turns, works very well.
i
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 23 Jul 2010 09:27:17 -0500, Ignoramus7608

Ive been working with AMC amps for 14 yrs....
<G>
Gunner
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
you need to "tune" your servo amps to match the system (aka "plant") - if you drag yourself through a discussion of the nyquest stability criteria, the reason for doing so will be clear

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

This is something I've used for PID loops at times. I don't know where I grabbed it but I've used it for various PID loops. I've had this note in my PDA for years.
### PID Tuning
A basic idea of what the three parameters do for you is a first step:-
1) with the integral and differential set to zero, wind up the proportional gain. Keep increasing until you begin to see instability occurring. Note the gain, somewhere just over half of this gain will do for starters.
2) Wind up the diff. This will has a damping effect on the response of your system. Don't go mad on the diff. just yet, get the response a little damped.
3) With the integral (be gentle with Int.) apply just a little. Note the steady state error will decrease, you should increase the Int. until you find either (i)the system can't take any more and starts to oscillate, back off! or (ii) You achieve the required response time for steady state.
4) Go back a "tweak" Kp and Kd.
Remember, PID is an experimenters paradise.
Morgan
###
HTH,
Wes
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.