Home |
Search |
Today's Posts |
|
Metalworking (rec.crafts.metalworking) Discuss various aspects of working with metal, such as machining, welding, metal joining, screwing, casting, hardening/tempering, blacksmithing/forging, spinning and hammer work, sheet metal work. |
Reply |
|
LinkBack | Thread Tools | Display Modes |
#1
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz
I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i |
#2
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/22/2010 05:58 AM, Ignoramus24043 wrote:
When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. If it's just a bit of noise, if the motors aren't overheating and parts are coming out good and the neighbors aren't complaining and your power meter isn't spinning like it's going to fly off into the stratosphere, then you're probably good to go. Detune the thing enough to get rid of the buzz and you'll have to accept lower performance, which means lower milling speeds. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#3
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Tim Wescott wrote: On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. Remember that EMC2 is an integral part of his servo loop. Without the computer connected there is no servo (positioning) loop to tune. |
#4
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Pete C. wrote:
Tim Wescott wrote: On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. Remember that EMC2 is an integral part of his servo loop. Without the computer connected there is no servo (positioning) loop to tune. Right, just the velocity loop. Servos just slowly drift over time. i |
#5
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
http://www.pmdcorp.com/downloads/Tuning_Servomotors.pdf
I'm lucky, there is a software package called Galil WSDK (windows servo design kit) that analysis my servo response and does automatic tuning. Ask Jon if some guru did the same for EMC. Otherwise, reduce P and D by 10% and try, repeat. At some point reduce I also. To me tuning is black art, if its not working try something else. Karl |
#6
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Karl Townsend wrote:
http://www.pmdcorp.com/downloads/Tuning_Servomotors.pdf I'm lucky, there is a software package called Galil WSDK (windows servo design kit) that analysis my servo response and does automatic tuning. Ask Jon if some guru did the same for EMC. Otherwise, reduce P and D by 10% and try, repeat. At some point reduce I also. To me tuning is black art, if its not working try something else. Karl, to what extent should I also manipulate the "Reference gain" and "error gain" pots on the drive? Is that just purely a software issue? i |
#7
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/22/2010 07:50 AM, Pete C. wrote:
Tim Wescott wrote: On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. Remember that EMC2 is an integral part of his servo loop. Without the computer connected there is no servo (positioning) loop to tune. The motor drives close an inner loop around the velocity signal from the tachometers. If they're the source of the oscillation then you can screw around with the outer loop until hell freezes over without fixing the problem. From the history of the posts I don't think the problem crops up until Iggy connects the EMC2 -- but it's a good due-diligence check that can potentially save you a lot of trouble. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#8
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/22/2010 08:29 AM, Karl Townsend wrote:
http://www.pmdcorp.com/downloads/Tuning_Servomotors.pdf That looks like a good reference, made specific to the sort of motion control loop that Iggy is working with. I'm lucky, there is a software package called Galil WSDK (windows servo design kit) that analysis my servo response and does automatic tuning. Ask Jon if some guru did the same for EMC. Or check through the menus. Even if the thing just offers the tools and leaves it to the user to do the work that would be a huge help. Otherwise, reduce P and D by 10% and try, repeat. At some point reduce I also. Use the process in my article -- tuning all the parameters together is approximately as safe as going to the parking lot of a biker bar and trying out the motorcycles. To me tuning is black art, if its not working try something else. Oh Karl. Tuning is fun. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#9
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/22/2010 08:32 AM, Ignoramus24043 wrote:
On 2010-07-22, Karl wrote: http://www.pmdcorp.com/downloads/Tuning_Servomotors.pdf I'm lucky, there is a software package called Galil WSDK (windows servo design kit) that analysis my servo response and does automatic tuning. Ask Jon if some guru did the same for EMC. Otherwise, reduce P and D by 10% and try, repeat. At some point reduce I also. To me tuning is black art, if its not working try something else. Karl, to what extent should I also manipulate the "Reference gain" and "error gain" pots on the drive? Is that just purely a software issue? In the link that Karl sent you the guy refers to an inner velocity loop -- that is the loop that your motor drives close, and that is the loop that must be made right first, before you tune the outer loop. Getting the inner loop tuned too tightly will leave it susceptible to oscillation (or make it oscillate outright) and demand that you tune the outer loop more loosely than you might like; getting the inner loop tuned too loosely will force the outer loop to work harder with both insufficient information and insufficient sample rate. Next you'll ask "what do these pots do, and how do I twiddle them?". I will respond "every manufacturer has their own way of doing things, and the ones that do it exactly my way are actually doing it correctly." Then I'll say "send a link to your drives' manual, and maybe I'll figure it out." Just from the sound of it the error gain sets a drive's overall loop gain, while the reference gain turns the whole inner loop's response to a command up or down -- but that's a guess. If that's so then you want to twiddle the error gain pot until the shape of the drive's response is as best as you can get it, then you want to twiddle the reference gain pot until the maximum velocity command out of the EMC2 software matches the maximum velocity out of the drive, without either the drive or the software maxing out before the other. Does the EMC software provide you with any sort of measuring and diagnostic tools? If it gives you the opportunity to inject test signals into the loop and look at the results then you'll find your job much easier. If it builds a transfer function analyzer into the thing then you're either really lucky or in for some mind-bending frustration or both. And of course, if it auto-tunes, then you're at the mercy of the competence of whoever made the auto tuning software. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#10
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Tim Wescott wrote:
On 07/22/2010 07:50 AM, Pete C. wrote: Tim Wescott wrote: On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. Remember that EMC2 is an integral part of his servo loop. Without the computer connected there is no servo (positioning) loop to tune. The motor drives close an inner loop around the velocity signal from the tachometers. If they're the source of the oscillation then you can screw around with the outer loop until hell freezes over without fixing the problem. From the history of the posts I don't think the problem crops up until Iggy connects the EMC2 -- but it's a good due-diligence check that can potentially save you a lot of trouble. It is true, yes, there is no oscillation until I connect EMC2 -- but without EMC2 connected, the drives drift. I think that the problem is EMC2 correcting drift in a rude manner. i |
#11
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
thanks guys, I have printed everything from this list, I will read it
all. i On 2010-07-22, Tim Wescott wrote: On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. If it's just a bit of noise, if the motors aren't overheating and parts are coming out good and the neighbors aren't complaining and your power meter isn't spinning like it's going to fly off into the stratosphere, then you're probably good to go. Detune the thing enough to get rid of the buzz and you'll have to accept lower performance, which means lower milling speeds. |
#12
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/22/2010 09:16 AM, Ignoramus24043 wrote:
On 2010-07-22, Tim wrote: On 07/22/2010 07:50 AM, Pete C. wrote: Tim Wescott wrote: On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that there's a link on my website that's BROKEN thanks to Embedded Systems Programming!!!). Note that there are different ways to embed the various gains into a system -- mine is the very best way, but other folks operate under the delusion that theirs is the very best way, so you may find things like derivative and integral time constants + overall gain, or others. Does it buzz with the computer disconnected? If so, then the tuning problem is in your motor drive. If you have to have the EMC software running to get a buzz then you're more of a nerd than I thought -- I mean, the problem is in the EMC software or the tuning thereof. Remember that EMC2 is an integral part of his servo loop. Without the computer connected there is no servo (positioning) loop to tune. The motor drives close an inner loop around the velocity signal from the tachometers. If they're the source of the oscillation then you can screw around with the outer loop until hell freezes over without fixing the problem. From the history of the posts I don't think the problem crops up until Iggy connects the EMC2 -- but it's a good due-diligence check that can potentially save you a lot of trouble. It is true, yes, there is no oscillation until I connect EMC2 -- but without EMC2 connected, the drives drift. I think that the problem is EMC2 correcting drift in a rude manner. It is expected and inevitable that the drives should drift without being inside a position loop -- electronics have an inevitable amount of bias, and the expense to eliminate it is roughly inversely proportional to the amount of bias you have left when you're done. Since these drives are designed to go inside of a PID position loop, it wouldn't make sense to really pound the bias down. The problem is more intrinsic than the EMC2 correcting drift, and it may not lie with the EMC2 itself. You are somewhat correct with the "rude manner" (I like that turn of phrase; I'll have to use it). More often than not -- at least at the stage of tuning you're in -- oscillations like this are from excessive gain somewhere. It's probably because the EMC2 is tuned too aggressively, but there's a really good chance that either the drive loop is tuned too aggressively, with a peak in it's response that the EMC2 is exciting, or that the drive loop is tuned too limp and in tuning the EMC2 up tight enough to compensate you're causing an oscillation. Do you have some means of stimulating the system, and looking at the response? Ideally this would be built into the EMC2, but even just having an oscilloscope and a signal generator would be exceedingly handy. You should get the drive/motor/tachometer tuned correctly by itself which can probably best be done by disconnecting one from the mill*, putting a square wave into the command input of the drive, and looking at the tach feedback with a scope. Once you get that so that it matches the "critically damped" response in that paper that Karl sent you, then you can put things back into the mill and start tuning the EMC2. * I assume the servo motor is geared down plenty (10:1?) before it drives the lead screw of the mill. If so, then the lead screw moment of inertia probably doesn't matter in the tuning of the system. If the gear ratio _isn't_ that high, then you either need to figure out how to keep the axis roughly centered while you're tuning, or you need to slap a load equal to the lead screw moment of inertia onto the gearbox output shaft to do your tuning. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#13
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
"Tim Wescott" wrote in message ... On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that 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 |
#14
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/22/2010 10:23 AM, Karl Townsend wrote:
"Tim wrote in message ... On 07/22/2010 05:58 AM, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? Ho ho ho ho ha ha ha ha he he he he. It's probably too much differential gain, although it could be your differential cutoff frequency, some other gain, noise in the system (although that's not usually a buzz), friction-induced hysteresis, some other hysteresis, or just plain bad juju. This is an overall tutorial aimed at software engineers, but the tuning section may help: http://dpm1480.pbworks.com/f/PID%20w...%20a%20PhD.pdf (note that I just took the time to read the entire article. Some really smart fella wrote thatG Or at least someone who thought he was smart. 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. 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 http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#15
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Ignoramus24043 wrote:
When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. 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. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? 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 |
#16
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Ignoramus24043 wrote:
Karl, to what extent should I also manipulate the "Reference gain" and "error gain" pots on the drive? Is that just purely a software issue? Ugh, it would be best to tune the servo amp all by itself, by pumping small-amplitude square waves into the ppmc DAC outputs and observing the velocity out from the PPMC encoder counter. This can be done with Halscope and some HAL commands to set up a square wave generator. Once the servo amps are giving a good, well-damped but still snappy response, then you can add in the EMC positioning loop. Jon |
#17
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Jon Elson wrote:
Ignoramus24043 wrote: Karl, to what extent should I also manipulate the "Reference gain" and "error gain" pots on the drive? Is that just purely a software issue? Ugh, it would be best to tune the servo amp all by itself, by pumping small-amplitude square waves into the ppmc DAC outputs and observing the velocity out from the PPMC encoder counter. This can be done with Halscope and some HAL commands to set up a square wave generator. Once the servo amps are giving a good, well-damped but still snappy response, then you can add in the EMC positioning loop. Jon Jon, when I run Halscope, no matter what fields I select for display, it seems not to graph anything. i |
#18
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Next you'll ask "what do these pots do, and how do I twiddle them?". I will respond "every manufacturer has their own way of doing things, and the ones that do it exactly my way are actually doing it correctly." Then I'll say "send a link to your drives' manual, and maybe I'll figure it out." Iggy has AMC amps. They have pages of how to on tuning their amps for each mode. I haven't bookmarked that section but its not hard to find. Or, their tech help is top notch. they will direct you to the right info. Karl |
#19
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Jon Elson wrote:
Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. 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. sure, plus my servo drives creep I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? You first need to find out whether it is the servo amps themselves or the positioning loop that causes the buzzing. Definitely positioning loop. Buzzing goes away if I hit F2. 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. Exactly 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. Yes, it is 1E-06 now, and I am changing it to 1/2/10/4000=1.25E-05. 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. sounds good 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. OK, so, it seems, after setting deadband I should increase the amplifier's gain. I will try that tonight. Thanks Jon igor |
#20
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On Thu, 22 Jul 2010 07:58:44 -0500, Ignoramus24043
wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i 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 One could not be a successful Leftwinger without realizing that, in contrast to the popular conception supported by newspapers and mothers of Leftwingers, a goodly number of Leftwingers are not only narrow-minded and dull, but also just stupid. Gunner Asch |
#21
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On Thu, 22 Jul 2010 18:08:01 -0700, Gunner Asch
wrote: On Thu, 22 Jul 2010 07:58:44 -0500, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i 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 Whoopse..that should be the Gain micropot..the one at the far left end of the 5...when facing the lable. Sorry Gunner One could not be a successful Leftwinger without realizing that, in contrast to the popular conception supported by newspapers and mothers of Leftwingers, a goodly number of Leftwingers are not only narrow-minded and dull, but also just stupid. Gunner Asch One could not be a successful Leftwinger without realizing that, in contrast to the popular conception supported by newspapers and mothers of Leftwingers, a goodly number of Leftwingers are not only narrow-minded and dull, but also just stupid. Gunner Asch |
#22
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
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 "Ignoramus24043" wrote in message ... When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i |
#23
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-23, Gunner Asch wrote:
On Thu, 22 Jul 2010 07:58:44 -0500, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i 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. 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 |
#24
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Karl Townsend wrote:
Next you'll ask "what do these pots do, and how do I twiddle them?". I will respond "every manufacturer has their own way of doing things, and the ones that do it exactly my way are actually doing it correctly." Then I'll say "send a link to your drives' manual, and maybe I'll figure it out." Iggy has AMC amps. They have pages of how to on tuning their amps for each mode. I haven't bookmarked that section but its not hard to find. Or, their tech help is top notch. they will direct you to the right info. Their tech support is awesome. I saw some resources on current loop tuning, but I have a velocity loop. I will call them today to see what they got. My attempts to tune the positioning loop ended up with a general failure. i |
#25
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 2010-07-22, Tim Wescott wrote:
On 07/22/2010 09:16 AM, Ignoramus24043 wrote: From the history of the posts I don't think the problem crops up until Iggy connects the EMC2 -- but it's a good due-diligence check that can potentially save you a lot of trouble. It is true, yes, there is no oscillation until I connect EMC2 -- but without EMC2 connected, the drives drift. I think that the problem is EMC2 correcting drift in a rude manner. It is expected and inevitable that the drives should drift without being inside a position loop -- electronics have an inevitable amount of bias, and the expense to eliminate it is roughly inversely proportional to the amount of bias you have left when you're done. Since these drives are designed to go inside of a PID position loop, it wouldn't make sense to really pound the bias down. I think that it actually would, but what can I do. The problem is more intrinsic than the EMC2 correcting drift, and it may not lie with the EMC2 itself. You are somewhat correct with the "rude manner" (I like that turn of phrase; I'll have to use it). More often than not -- at least at the stage of tuning you're in -- oscillations like this are from excessive gain somewhere. It's probably because the EMC2 is tuned too aggressively, but there's a really good chance that either the drive loop is tuned too aggressively, with a peak in it's response that the EMC2 is exciting, or that the drive loop is tuned too limp and in tuning the EMC2 up tight enough to compensate you're causing an oscillation. Right Do you have some means of stimulating the system, and looking at the response? Ideally this would be built into the EMC2, but even just having an oscilloscope and a signal generator would be exceedingly handy. I have two ways of exciting the system. One is just to apply some force to the servo motor pulleys, and another is to make the axis go back and forth a bit using keyboard. The last one usually makes it vibrate. You should get the drive/motor/tachometer tuned correctly by itself which can probably best be done by disconnecting one from the mill*, putting a square wave into the command input of the drive, and looking at the tach feedback with a scope. Once you get that so that it matches the "critically damped" response in that paper that Karl sent you, then you can put things back into the mill and start tuning the EMC2. * I assume the servo motor is geared down plenty (10:1?) before it drives the lead screw of the mill. Servo motor is belted down 2:1 If so, then the lead screw moment of inertia probably doesn't matter in the tuning of the system. If the gear ratio _isn't_ that high, then you either need to figure out how to keep the axis roughly centered while you're tuning, or you need to slap a load equal to the lead screw moment of inertia onto the gearbox output shaft to do your tuning. sounds complicated. I am not sure where to start. I removing hum and vibrations by turning gain down on the amps. Attempts to change gain (P, I, D) in EMC configs did not bring on any sensible results. Changing P does affect vibrations, but changing I does not, and it should. I spent about 1.5 hours yesterday on this and the result was not satisfactory. In the end, I turned down gain on servo drives, and restored original defaults for Pi, I, D. i i |
#26
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On Fri, 23 Jul 2010 09:27:17 -0500, Ignoramus7608
wrote: On 2010-07-23, Gunner Asch wrote: On Thu, 22 Jul 2010 07:58:44 -0500, Ignoramus24043 wrote: When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i 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. 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 Ive been working with AMC amps for 14 yrs.... G Gunner One could not be a successful Leftwinger without realizing that, in contrast to the popular conception supported by newspapers and mothers of Leftwingers, a goodly number of Leftwingers are not only narrow-minded and dull, but also just stupid. Gunner Asch |
#27
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
On 07/23/2010 07:57 AM, Ignoramus7608 wrote:
On 2010-07-22, Tim wrote: On 07/22/2010 09:16 AM, Ignoramus24043 wrote: From the history of the posts I don't think the problem crops up until Iggy connects the EMC2 -- but it's a good due-diligence check that can potentially save you a lot of trouble. It is true, yes, there is no oscillation until I connect EMC2 -- but without EMC2 connected, the drives drift. I think that the problem is EMC2 correcting drift in a rude manner. It is expected and inevitable that the drives should drift without being inside a position loop -- electronics have an inevitable amount of bias, and the expense to eliminate it is roughly inversely proportional to the amount of bias you have left when you're done. Since these drives are designed to go inside of a PID position loop, it wouldn't make sense to really pound the bias down. I think that it actually would, but what can I do. The problem is more intrinsic than the EMC2 correcting drift, and it may not lie with the EMC2 itself. You are somewhat correct with the "rude manner" (I like that turn of phrase; I'll have to use it). More often than not -- at least at the stage of tuning you're in -- oscillations like this are from excessive gain somewhere. It's probably because the EMC2 is tuned too aggressively, but there's a really good chance that either the drive loop is tuned too aggressively, with a peak in it's response that the EMC2 is exciting, or that the drive loop is tuned too limp and in tuning the EMC2 up tight enough to compensate you're causing an oscillation. Right Do you have some means of stimulating the system, and looking at the response? Ideally this would be built into the EMC2, but even just having an oscilloscope and a signal generator would be exceedingly handy. I have two ways of exciting the system. One is just to apply some force to the servo motor pulleys, and another is to make the axis go back and forth a bit using keyboard. The last one usually makes it vibrate. Are you sure there isn't some facilities in the software to read back what the software is seeing? Ideally it should be able to throw up a graph of the command and the response vs. time. Then you can jog the thing from the keyboard and look at how well it follows. If you can do this it can make your job a _lot_ easier. You should get the drive/motor/tachometer tuned correctly by itself which can probably best be done by disconnecting one from the mill*, putting a square wave into the command input of the drive, and looking at the tach feedback with a scope. Once you get that so that it matches the "critically damped" response in that paper that Karl sent you, then you can put things back into the mill and start tuning the EMC2. * I assume the servo motor is geared down plenty (10:1?) before it drives the lead screw of the mill. Servo motor is belted down 2:1 If so, then the lead screw moment of inertia probably doesn't matter in the tuning of the system. If the gear ratio _isn't_ that high, then you either need to figure out how to keep the axis roughly centered while you're tuning, or you need to slap a load equal to the lead screw moment of inertia onto the gearbox output shaft to do your tuning. If that's the only gearing (and if the servo motors aren't internally geared) then the lead screw moment of inertia matters, and you need to do the tuning with the lead screw in place. Since you probably have ball screws, you probably need to do it with the whole assembly in place, oh joy. ("Oh joy" because that means you have to worry about crashing an axis while tuning, which complicates things. Oh joy.) sounds complicated. I am not sure where to start. I removing hum and vibrations by turning gain down on the amps. Attempts to change gain (P, I, D) in EMC configs did not bring on any sensible results. Changing P does affect vibrations, but changing I does not, and it should. One of the nice things about PID tuning schemes that separate the P, I and D gains is that these gains act more or less independently. So it's not surprising that turning down the integrator gain would not affect anything, where turning down the proportional gain would. I spent about 1.5 hours yesterday on this and the result was not satisfactory. In the end, I turned down gain on servo drives, and restored original defaults for Pi, I, D. Where to start: At the innermost loop. That's the motor drive, and where you're working already. You don't have a scope and a signal generator? -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html |
#28
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Ignoramus24043 wrote:
Jon, when I run Halscope, no matter what fields I select for display, it seems not to graph anything. You have to set up a particular signal to trigger the scope. I use velocity (ppmc.0.encoder.00.delta) as the trigger, it works well. You have to pump up the gain to something like 1m (.001 or 1 milli) on signals such as the following error to see useful information. I think there is a halscope section in one of the manuals on the wiki. You need to start using these manuals as the first place to look. When it is not there, then you can ask for answers elsewhere. But, mostly, it works like a digital scope. Jon |
#29
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Tim Wescott wrote:
Are you sure there isn't some facilities in the software to read back what the software is seeing? Ideally it should be able to throw up a graph of the command and the response vs. time. Then you can jog the thing from the keyboard and look at how well it follows. If you can do this it can make your job a _lot_ easier. Yes, it is called HalScope, and is basically a digital storage scope in software, that has available any signal routed through HAL, EMC2's Hardware Abstraction Layer. There are also signal generators and all manner of hal "components" that perform logical and arithmetic functions. Jon |
#30
Posted to rec.crafts.metalworking
|
|||
|
|||
Servo motors buzzing when mill is stopped
Ignoramus24043 wrote:
When my mill is stopped, my servos "buzz" bzzz.......bzzzzzz....bzz I have a feeling is that I need to "tune it". I believe that the story is that the motors move due to imperfect TEST/OFFSET setting) and then EMC "whips the mill back" to original position. I somewhat addressed it by reducing gain on the amplifiers, to the level when this buzz is no longer annoying, barely noticeable. I postponed this until I would get the table all hooked up, homed and safe with limit switches. Now is the time to address it, so here's my question: what are the tuning parameters to address to get rid of motor buzzing? i 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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Need servo motors | Metalworking | |||
Used DC Servo motors for sale. | Metalworking | |||
Stepper motors and Servo motors for CNC | Metalworking | |||
FA: Sherline CNC mill, with DeskCNC servo retrofit | Metalworking |