Need Help! PID Servo Tuning with SnapAmp Chicken and Egg Variables - Page 2


Page 2 of 3 FirstFirst 123 LastLast
Results 21 to 40 of 41

Thread: PID Servo Tuning with SnapAmp Chicken and Egg Variables

  1. #21
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Hi Jason,

    Bode plots are maybe ok, not sure. Average 75hz and 35 deg results, but that is unknown if accurately applied. I can achieve over 45 degrees with some input values and down to mid 20's with others. I definitely need some guidance on the bode plotting to use it effectively. After re-reading the dynomotion documents, I am still left with ambiguously useful values for amplitude and frequency. Being able to run with stable results from "any frequency" is a bit infinite for me. Other than using as large of an amplitude as I can to achieve measurable results, I am not sure what is applicable. As far as frequency, what range is determined relevant?
    75hz and 35 deg sounds good. But unfortunately Bode plots only tell the truth if the system is linear. Linear means that if you inject signal A into the system and get some output and inject signal B into the system and get some output, then if A and B are injected at the same time then the output will be the sum of the independent outputs. Or if A is injected and Y is the output then if 2A is injected you will get 2Y. Unfortunately for most systems this is only roughly true for certain signals. A common non-linear effect is friction, A might cause no response and 2A might cause a response. If the system were linear the Bode plot would be the same regardless of the type or level of stimulus. So the Bode plot should only be used to get some insights into the system and not an absolute guarantee of stability. If there is any frequency and amplitude where the system has a gain of -1 it will likely find that frequency and amplitude and oscillate at that frequency and amplitude.

    I ran a few parts and the machine did some better than before, but not good enough. About half the cut looked very awesome, then chattered in the rest but not as bad as before. The good news is the oscillation has become more predictable and other performances of the machine have improved. Now, when jogging with an analog joystick, I can see a resonating shutter at some speeds fairly constant. That appears mostly on my X, with a little on the Y. It also appears different in the + vs - directions. While this does more clearly appear a tune issue, it seems to be triggered by machine stiction and other resonance. My plan is to use the step response move test with various velocities and a travel that will go longer than 3.5 seconds, but will allow more capture of the trouble frequencies/speeds. From there I hope to be able to try other tune and filters to find a more effective solution. That seems like it might take some time with a modest chance of finding a one size fits all solutions.
    You might use the CaptureXYZMotionToFile.c to see exactly what is going on while cutting. You might modify it to trigger on larger following errors. You also might set the following error to a very small value to see if the system ever faults.

    Testing various speeds and positions also sounds like a good idea.

    Maybe tuning for high stability rather than accuracy might be something to try,

    Regards
    TK http://dynomotion.com


  2. #22
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Thanks, Tom. I will give it all a try as soon as I can.

    I have tried a range of frequencies with the Bode but not sure if I am wasting my time. So I know, what range of frequencies may be applicable with the Bode?



  3. #23
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Hi Jason,

    I have tried a range of frequencies with the Bode but not sure if I am wasting my time. So I know, what range of frequencies may be applicable with the Bode?
    It isn't that critical. The Stimulus is white noise that is passed through a low pass filter. White noise basically contains all frequencies and will have a lot of energy at very high frequencies (ie 1KHz) beyond the bandwidth of the servo that aren't of interest to us. The low pass filter will increasingly attenuate stimulus energy as frequency increases beyond the low pass filter frequency. This can make the lower frequency portion of the Bode plot more consistent. So pretty much any very low frequency (ie 1 Hz) can be used to obtain the desired energy distribution. But realize the lower the frequency there will be more attenuation so to get the same result the amplitude will need to be increased.

    Regards
    TK http://dynomotion.com


  4. #24
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Well, I did a lot of tuning at various speeds and was able to make some improvement. I also was able to map the range of velocity on my X that was nastiest. However, I couldn't find a tune that entirely made the oscillation go away.

    A new project came in the door that really needs to be cut without the extra chatter. I thought I would do some inspection of the angular contact bearings and maybe get lucky with a simple replacement if they were running rough and the source of the noise injection into the control loop. Well, they were fine, but I found the ballnuts were a bit crunchy. Possibly just dirt in there, but it seemed like the right time to replace the 25 year old screws with better and try to remove some of the poorly designed components with as close to decently designed as possible without a full gantry rebuild. I am optimistic this will at least greatly reduce the problem, if not fully remove it.

    Part of what I am thinking of improving is the pulleys and belt from my DC servos to the ball screw. They were type L with 0.375" pitch at a 1:1 ratio. Since I am only running my servos at about 1,200 rpm, due to critical speed on the ball screws, I was thinking it would be good to reduce backlash and introduce a gear reduction with GT2 pulleys and a GT3 belt at either 1.4:1 or 1.5:1 to gain resolution and torque which may better smooth out mechanical issues that have tendency to inject noise into the control loop. Currently, I am at 20,000 encoder counts per inch and running a max of 240ipm. Gearing down at 1.4:1, I would have the increased resolution of 28,000 encoder counts per inch while still maxing out at either 240 or 250ipm at most. If this is a good thing, I would also switch to GT2 pulleys on my Y with a 1.5:1 reduction for 30,000 encoder counts and same ipm as the X. Am I thinking correctly that this would be beneficial for the control loop?

    Thanks.



  5. #25
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    455
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Quote Originally Posted by MadTooler View Post
    Well, I did a lot of tuning at various speeds and was able to make some improvement. I also was able to map the range of velocity on my X that was nastiest. However, I couldn't find a tune that entirely made the oscillation go away.

    A new project came in the door that really needs to be cut without the extra chatter. I thought I would do some inspection of the angular contact bearings and maybe get lucky with a simple replacement if they were running rough and the source of the noise injection into the control loop. Well, they were fine, but I found the ballnuts were a bit crunchy. Possibly just dirt in there, but it seemed like the right time to replace the 25 year old screws with better and try to remove some of the poorly designed components with as close to decently designed as possible without a full gantry rebuild. I am optimistic this will at least greatly reduce the problem, if not fully remove it.

    Part of what I am thinking of improving is the pulleys and belt from my DC servos to the ball screw. They were type L with 0.375" pitch at a 1:1 ratio. Since I am only running my servos at about 1,200 rpm, due to critical speed on the ball screws, I was thinking it would be good to reduce backlash and introduce a gear reduction with GT2 pulleys and a GT3 belt at either 1.4:1 or 1.5:1 to gain resolution and torque which may better smooth out mechanical issues that have tendency to inject noise into the control loop. Currently, I am at 20,000 encoder counts per inch and running a max of 240ipm. Gearing down at 1.4:1, I would have the increased resolution of 28,000 encoder counts per inch while still maxing out at either 240 or 250ipm at most. If this is a good thing, I would also switch to GT2 pulleys on my Y with a 1.5:1 reduction for 30,000 encoder counts and same ipm as the X. Am I thinking correctly that this would be beneficial for the control loop?

    Thanks.
    You may want to look into rebuilding the ballscrews if they were decent quality to start. Lots of companies doing this and its not too hard to even do it yourself assuming screw itself (usually the last to go) is still good.

    How wide are your belts and how big are the pulleys? L series belts are pretty light duty, are you sure they are heavy enough for your machine? I think gearing down to match max motor rpm with max desired speed would probably be a good idea, but honestly I dont know how or if it will affect the control loop. Seems like more torque and resolution would be a bonus though.



  6. #26
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Thanks for the reply. My machine is a medium duty 4'x4' gantry router.

    Quote Originally Posted by mmurray70 View Post
    You may want to look into rebuilding the ballscrews if they were decent quality to start. Lots of companies doing this and its not too hard to even do it yourself assuming screw itself (usually the last to go) is still good.
    I assume you mean rebuild the ball nuts, not screws. That may be an option for some, but In this case, due to poor initial machine design, it is in my best interest to take the opportunity to completely change the end mount bearings at the same time, which also forces me to get a longer screw.

    Quote Originally Posted by mmurray70 View Post
    How wide are your belts and how big are the pulleys? L series belts are pretty light duty, are you sure they are heavy enough for your machine? I think gearing down to match max motor rpm with max desired speed would probably be a good idea, but honestly I don't know how or if it will affect the control loop. Seems like more torque and resolution would be a bonus though.
    The original belts were the 1/2" wide type L. I am replacing with 15mm GT3 5mm pitch. For my X, due to space constraints, my pulleys will be 20 tooth at motor to 28 tooth at the ballscrew. My max RPMs should be under 2k, probably not over 1,750 to maintain 80% of critical speed on the screw. The servo is rated at 2,800 RPM with a max top at 4k. Per my 70 volts at the snapamp and 31.1vpk at the servo, I will only be able to reach 2,250 RPM. That still will have several hundred RPM of overhead from system RPM. Maybe I misunderstood what you meant, but In general, even if I could, I do not think matching the max motor RPM to the desired max system RPM would be good since there would be no room for overlap.



  7. #27
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Hi Jason,

    Is the encoder on the lead screw or the motor?

    Higher resolution and more torque to the lead screw would be good.

    But how lower gearing will effect the control loop is hard to say without knowing all the masses and dynamics. In general I would expect lower gearing to degrade the stability. Most systems basically behave like a mass-spring-mass system.

    PID Servo Tuning with SnapAmp Chicken and Egg Variables-two-mass-spring-system-png

    One mass is the motor rotor. The spring is the belt/leadscrew/bearings/etc. The other mass is the table/gantry. This system will have a resonance at a frequency of sqrt(K/m), where m is the effective mass = (m1 x m2)/(m1 + m2). A higher resonant frequency is better because the servo can make corrections faster without exciting the resonant frequency and causing oscillations. Larger masses will lower the resonant frequency. Higher spring stiffness will raise the resonant frequency.

    The lower gearing will have an effect like multiplying the effective motor rotor mass. However if the mechanics have other lower resonant frequencies then this change may not have a significant effect.

    Another consideration is maximum acceleration. Motor torque needs to do two things: accelerate the motor rotor and the payload. Lower gearing means more torque needed to accelerate the motor and less to the payload. With very low gearing the torque goes mostly to the motor but it must accelerate to such a high speed it limits the acceleration. With high gearing the torque mostly goes to the payload but is small due to the gearing. It turns out for a given motor to accelerate the payload at the highest rate the inertia matching should be 1:1. So it depends on the current inertia ratio whether maximum acceleration will be increased or decreased. Many systems typically use a smaller motor to save cost so the inertia ratio is greater than 1. If that is your case, the lower gearing would improve acceleration. Often maximum possible acceleration is not used/needed as it may cause too much disturbance/vibration and so may not be an issue anyway.

    Last edited by TomKerekes; 11-27-2019 at 02:43 PM. Reason: Fixed attachment
    Regards
    TK http://dynomotion.com


  8. #28
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Tom,

    That is a bit to chew. I was not aware of the specific formulas or the exact science, but what you noted is precisely what I have been pondering.

    The encoder is on the servo motor. The servo is an older Baldor NEMA 34 sized, fairly big, and far more capable than I am able to take advantage of due to critical speeds of other system components. From there I want to say I am running far below maximum possible acceleration, but I am not sure how to truly determine without a significant amount of work. The effect of the motor rotor mass was my basic concern. I am not too sure about the resonant frequency other than my upgrades to the ballscrew should stiffen that portion of the equation over prior.

    I am thinking of the 1.4:1 lowering as kinda small (I am looking at 1.5:1 for my larger Y if this works well) with probably not too much of the possible negative impacts and hopefully more of the potential positive. Maybe that hope is an error. If it makes the system less stable, worst case scenario, I burn some cash on an extra pulley and belt to go back to 1:1. Does that sound like a grossly ignorant approach?

    Thanks again.



  9. #29
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Hi Jason,

    I am thinking of the 1.4:1 lowering as kinda small (I am looking at 1.5:1 for my larger Y if this works well) with probably not too much of the possible negative impacts and hopefully more of the potential positive. Maybe that hope is an error. If it makes the system less stable, worst case scenario, I burn some cash on an extra pulley and belt to go back to 1:1. Does that sound like a grossly ignorant approach?
    No, I think that is reasonable.

    btw I think the moment of inertia increases with the square of the gear ratio.

    Which reminds me of my favorite job interview question: How many times harder is it to spin (moment of inertia) any object if it is doubled in size? ie a 2ft cube of steel vs a 1ft cube of steel? Hint - it is a big number

    Regards
    TK http://dynomotion.com


  10. #30
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    455
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Quote Originally Posted by TomKerekes View Post
    Hi Jason,

    No, I think that is reasonable.

    btw I think the moment of inertia increases with the square of the gear ratio.

    Which reminds me of my favorite job interview question: How many times harder is it to spin (moment of inertia) any object if it is doubled in size? ie a 2ft cube of steel vs a 1ft cube of steel? Hint - it is a big number
    Been a while since I did any moment of inertia stuff but your looking at 8 times the mass, with double the surface speed for a given rpm, energy goes up with square of velocity so Im guessing 32 times higher, not really too sure though. Am I close enough to get the job?

    Wow it definity is a lot more then you would think for sure even if I dont have the right answer. I guess thats why Brother can get such insanely fast ramp times on the speedios with their little bitty BT30 spindles. That stuff about matching inertia load to payload is interesting too Tom, thanks for posting.

    Jason, yes I mean re-balling the nuts. And yes again, you would not want gearing to reach maximum, no load servo rpm. Obviously you will have no torque to do anything. I was suggesting you matching gearing to the maximum usable range of the motor. Cant hurt to try it.



  11. #31
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Your hired. Yes 5th power of size. Mass is 3rd order with size. Then each particle of mass further out needs more torque to get the same force and also needs to accelerate to a higher speed.

    Regards
    TK http://dynomotion.com


  12. #32
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    455
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Cool, i got it right! 32 times higher, that is interesting for sure, I never would have realized this if you didn't mention it. Learn something new every day.



  13. #33
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Yes 4th power with radius and 1st power with length. Much of my experience has been with laser scanning mirrors that have very high accelerations. People often suggest increasing motor size to draw faster, but that doesn't work for a number of reasons.

    Regards
    TK http://dynomotion.com


  14. #34
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Sorry, guys, for some reason I occasionally stop getting notifications when new messages are posted on cnczone. I only noticed you posted now that I am getting back to the issue after having upgraded the mechanical.

    To recap, my previous condition, most notable on the X axis and some on Y, was some sort of oscillation or chattering of varying intensities at various feedrates on my 3 axis 4'x4' gantry router with Brushed DC servos. The oscillation sort of resembles mechanical resonance and/or stiction issues, but it is also clearly seen in the step response results. Before the holidays, I found the ballnuts were at best dirty, worst worn out, so decided time to replace a handful of poorly implemented components and the screw instead of messing with cleaning possibly bad parts.

    What I have recently changed mechanically (it has taken a while since unfortunately everything had to be custom):

    • New 5/8" Ballscrew
    • New Ballnuts (one fixed with another wave washered as antibacklash)
    • Improved float for the antibacklash ball nut vs. previous setup
    • New bearing end mount blocks and bearings (fixed angular contact at motor end, wide bearing mount with single angular and single deep groove allowing floating at opposite end with springs tensioning the screw)
    • Pulleys and belts now all GT2 or GT3 style
    • Pulley gear ratio improved (sort of) from 1:1 to 28:20 (1.4)


    Regarding our last conversation of the gearing benefits vs cost, I added a geared advantage to both my X and Y. The X, which I also changed all those other parts noted, is now at 1.4:1 and has just enough RPM to run at my intended rapid speed, but has no extra guts to take on any cutting load at the rapid. I had to slow down my max rapid 10% and it has plenty of torque there. The Y cannot reach full speed since I changed it to 1.5:1. I had to lower the Y top speed about 17%. I had guesstimated the 70-75v supply would give the motors enough overhead to run successfully based on the documentation I have on hand. I guesstimated wrong. If the snapamp could take the 120v my motors are rated, I would have plenty of power and speed. Since it cannot, I will run it slower until I get a chance to experiment with maybe closer to 1.25:1 ratios or eventually go back to 1:1.

    Questions on gear ratio... I assumed it would be preferable for rounding stack up and maybe less floating math to have clean ratios like 1.4 and 1.25 vs 1/3 or others with long and eventually rounded values. Does that matter with kflop and kmotion? If not, to what decimal place should the ratio be entered?

    So what does it do now? Well, same as before except quieter and flipped direction of more notable chatter. The new parts are definitely better and far more reliable, but I am now a month and a half later dealing with the same fun. YEAH!!!

    Gonna cry for a second... Tuning is not fun when stuff ain't gettin' done. I spend a lot of time better understanding the impacts and values of the many many aspects and tools available, just to forget and learn a lot over again when I don't get around to tuning again for many months later. Too bad my mind was programmed long ago not to hold on to the small details. Bummer. Moving on...

    My previous tunes seem to be fairly closely following, but the chatter is strong with this one. My top speed WAS 240ipm, now only 225. The chatter for both my new screw setup and old both occur most severely in the 140-180 ipm range. It is there in all speeds, but faint/tolerable below and above that range. Looking at the step response results, there seems to be an oscillation (almost harmonic) that is present at all velocities, but resonates most in that 140-180 range. It also seems to typically have a 10-14 hz pattern. The amplitude is usually small and under a few units. The sharpness of the pattern is more saw tooth at the speeds that suck vs sinusoidal at those that are fair. I will post some results and data.



  15. #35
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Some data and images...

    28000 units/inch
    Max velocity with current setup is 105000/s or 225ipm.

    PID Servo Tuning with SnapAmp Chicken and Egg Variables-x_chatternewscrewfilter-jpg


    Full Rapid with light chatter
    PID Servo Tuning with SnapAmp Chicken and Egg Variables-fullrapidlightchatter_225ipm-jpg


    Lots of chatter, 182ipm
    PID Servo Tuning with SnapAmp Chicken and Egg Variables-highchatter_182ipm-jpg


    Lots of chatter, 165ipm
    PID Servo Tuning with SnapAmp Chicken and Egg Variables-highchatter_165ipm-jpg


    Slow, 32ipm, fairly smooth motion but clearer oscillation
    PID Servo Tuning with SnapAmp Chicken and Egg Variables-slowsmooth_32ipm-jpg

    Attached Thumbnails Attached Thumbnails PID Servo Tuning with SnapAmp Chicken and Egg Variables-x_chatternewscrewfilter-jpg   PID Servo Tuning with SnapAmp Chicken and Egg Variables-fullrapidlightchatter_225ipm-jpg   PID Servo Tuning with SnapAmp Chicken and Egg Variables-highchatter_165ipm-jpg   PID Servo Tuning with SnapAmp Chicken and Egg Variables-highchatter_182ipm-jpg  

    PID Servo Tuning with SnapAmp Chicken and Egg Variables-slowsmooth_32ipm-jpg  
    Attached Files Attached Files


  16. #36
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Hi Jason,

    Assuming this is the "chatter" I measure 21.2Hz at the 182ipm. At slower speeds the frequency seems to be proportionally slower. This would point to something mechanical.

    PID Servo Tuning with SnapAmp Chicken and Egg Variables-chatter182-png

    If I did the math right it seems to exactly match the rotation rate of the motor.

    182ipm = 3.033ips
    3.033ips / 0.2 in/rev = 15.17rps
    15.17rps x 1.4 = 21.2rps

    Possibly something out of balance in the motor or pulley not centered which then excites some mechanical resonance?

    It doesn't appear to be a tuning or feedback problem as the output stays relatively constant. Your tuning seems to be very aggressive holding 1~2 counts of error. Especially for a large router? As a test you might greatly reduce your gains,allow much greater errors, move at the same speed and see if the "chatter" still exists.

    Regards
    TK http://dynomotion.com


  17. #37
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Tom, thanks for digging into it.

    My prior note about 10-14hz was for my prior tuning when I wrote it. After that, I did make the more aggressive tune that I used to generate the graphs and files. Yes, I then noticed and agree it was more proportional to the screw speed. I found it interesting that the motor output did not seem to follow/lead the position much in the areas of greater oscillation at the faster speeds. Maybe it does and I simply did not recognize it (EDIT: Looking again I do notice the mild corrections in output). I am still hopeful there is some way to dampen that in control.?

    An interesting note about the area you measured, that was the returning direction of the step. That direction seems to be pretty smooth at the machine even with the oscillating position noted. The earlier direction in the step is where the chatter/shuddering appears more noticeable. Also interesting about this, with my prior screw and bearing setup, the directions of more chatter was the reverse. The only reverse of the new mechanics are the location of the fully fixed end of the screw were at the opposite end of the screw from the motor before, now at the motor. I now also keep a small amount of pretension on the screw (about 100 lbs). The direction that is more problematic is going toward the motor/fixed end. I would expect it to be the opposite if it were maybe screw compression causing an issue.

    Another additional note about the location of most chatter... It is not very aggressive for the full length of travel. It is minor at the ends and middle. It is typically most apparent about 1/4 in from each end for a relatively short distance, maybe about 1/8-1/4 of the length of travel. This is again similar to my prior mechanics.

    Regarding possible motor and pulley balance... For fun (yeah right) I swapped out my servo last night with a never used spare and found identical results. Actually, the data I posted was with the new servo. The new pulleys are really nice and suppose to be extremely concentric and balanced from CMT (https://www.cmtco.com/product-catalo...timing-pulleys). There again, full part exchange from the prior with similar oscillation results. It may be better than before, but not by much.

    As I noted a while ago, I also installed new plain linear bearings from igus last year without any significant improvement. Yesterday, I cleaned and inspected the 1.25" dia rails (unhardened) in case there was a misalignment or boogers in the areas of most concern. I found one small ding I didn't think was culprit, but I stoned it just in case. I checked the rest of the rails and did not find any clear problems. Also, when the ballscrew was out of the machine, I was able to move the carriage by hand without any hiccups. I will say I keep coming back to the rails and linear bearings as a more probable source of mechanically injected oscillation since the knuckleheads that originally built the machine did not use appropriate bearing and rail spacing, but it does seem to move OK without sticking or binding and doesn't seem to be a likely source of the rotational linked frequency. However, I could see possible stiction of this style linear system resonating with the oscillation seen at the screw/step response at those more pesky areas of the travel.

    I tested changing the belt tension with little change as well. Tried applying forces on the energy chain between X and Z in case it was tweaking the carriage just enough to cause bearing bind, no or little difference. I have changed out or tested the impact of everything I can think of with the mechanical. Short of rechecking for some loose screws, I am at a loss as to a real source.

    Something that I keep coming back to that gives me some reason to believe this can be lessened by control loop is that my previous Centroid controller from the late 90's did not have the exaggerated chatter problem. Even with the same mechanics, as soon as it was moved to kflop and snapamp, the issue was apparent. Where the Centroid control was only configurable to P, I, and D, without any filtering configurable (at least that I recall) maybe it was soooo loose in how it was capable of following, sometimes more faceted as well, that it never became an apparent issue. Now that I do have the far better and preferred Dynomotion controls, maybe I am out of that ignorant bliss of the chatter free and sloppy operation.

    Most of my parts to cut with this machine are small with fine detail in plastics. Trying not to lose those with a looser control loop, but fine detail with chatter is probably worse than smooth with less detail. I had tried much softer and sluggish tunes that still had the problem, but did not dig too far into them to see if I could find a sweet spot. What count of error would you suggest I allow with a less aggressive tune?

    Thanks again,
    Jason

    Last edited by MadTooler; 01-15-2020 at 07:57 AM.


  18. #38
    Member
    Join Date
    Nov 2006
    Location
    USA
    Posts
    52
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Well, I found a few things.

    I removed the belt from the motor and got this:

    PID Servo Tuning with SnapAmp Chicken and Egg Variables-justmotor_26-25rps-jpg

    The closeup matches the pattern of the previous plots pretty close and has the same frequency as the motor rotation. Sure, the tune should be different without the load. I tried several basic tunes and still saw the pattern. I swapped my old servo back and it does it too. The old servo may be a little bit noisier. These are baldor servo motors (see attached and for details of the MT-3363-C which is pretty close to the model I have). Should I expect this as a normal and acceptable for this setup, or is this a sign of a known motor driver or motor issue? Would any of the other watchdog or soft limit monitoring impact it?

    Found a mechanical issue... I took a look at my bracket that the ball nut screws into at the Z carriage. There seems to be some issue there with alignment. Between that and a little wobble/bend in the ball screw, I think this is where the mechanical side of the chatter/shudder may be coming from. When I apply my full preload of the anti-backlash ball nut (max 240 lbs) it gets exaggerated. When I back it off, it is far better. The misalignment is applying a little flex to the screw which exaggerates, or may even be the cause of the screw wobble. This is challenging to correct. Almost tempted to make a ball mount for the ball nuts to fully self align to the screw and tell it to get back to work, but that would be a sloppy avoidance of finding the underlying cause. At least I found some real evidence of a dirty culprit.

    I still think the oscillation with the motor/control is making those other things worse and would like to smooth it more, but maybe the nut mount is my major pain. I will see what I can do with it and re-align my ballscrew then get back to post.

    Anybody need a large boat anchor????

    Attached Thumbnails Attached Thumbnails PID Servo Tuning with SnapAmp Chicken and Egg Variables-justmotor_26-25rps-jpg  
    Attached Files Attached Files


  19. #39
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3266
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Hi Jason,

    An interesting note about the area you measured, that was the returning direction of the step. That direction seems to be pretty smooth at the machine even with the oscillating position noted. The earlier direction in the step is where the chatter/shuddering appears more noticeable.
    It would have been nice to know where in the plot the chatter occurs. I guess now you are saying 1/4 of travel from the ends and not at the ends or middle and only going in the positive direction. How long is the machine's travel? It seems you are testing a move of ~ 4 inches?

    Regarding possible motor and pulley balance... For fun (yeah right) I swapped out my servo last night with a never used spare and found identical results. Actually, the data I posted was with the new servo. The new pulleys are really nice and suppose to be extremely concentric and balanced from CMT (https://www.cmtco.com/product-catalo...timing-pulleys).
    Actually that pulley clamping method would seem to me to possibly make the pulley off center slightly. Doesn't the "Tighten" screw basically offset the shaft until it becomes tight? The shaft would need to be an exact size to be centered. Realize we are looking for a very small error of only several encoder counts which is something like 0.0001 inches.

    I removed the belt from the motor and got this:

    The closeup matches the pattern of the previous plots pretty close and has the same frequency as the motor rotation. Sure, the tune should be different without the load. I tried several basic tunes and still saw the pattern. I swapped my old servo back and it does it too. The old servo may be a little bit noisier. These are baldor servo motors (see attached and for details of the MT-3363-C which is pretty close to the model I have). Should I expect this as a normal and acceptable for this setup, or is this a sign of a known motor driver or motor issue?
    It seems you are referring to the ~ 0.5 count 26.3Hz p-p variation shown here? The one count of encoder quantization noise makes it hard to see. Significantly less than with the load attached.

    This might be caused by the encoder. If the encoder is not perfectly centered it ,may cause such a non-linearity.

    It might be fun to try to add a tiny sinusoidal correction factor.

    PID Servo Tuning with SnapAmp Chicken and Egg Variables-halfcountvariation-png


    Something that I keep coming back to that gives me some reason to believe this can be lessened by control loop is that my previous Centroid controller from the late 90's did not have the exaggerated chatter problem. Even with the same mechanics, as soon as it was moved to kflop and snapamp, the issue was apparent. Where the Centroid control was only configurable to P, I, and D, without any filtering configurable (at least that I recall) maybe it was soooo loose in how it was capable of following, sometimes more faceted as well, that it never became an apparent issue. Now that I do have the far better and preferred Dynomotion controls, maybe I am out of that ignorant bliss of the chatter free and sloppy operation.

    Most of my parts to cut with this machine are small with fine detail in plastics. Trying not to lose those with a looser control loop, but fine detail with chatter is probably worse than smooth with less detail. I had tried much softer and sluggish tunes that still had the problem, but did not dig too far into them to see if I could find a sweet spot. What count of error would you suggest I allow with a less aggressive tune?
    Hard to say. Because the "chatter" changes in direction and position I would expect it to be something mechanical (stiction, compliance, binding, etc).

    Since we can't seem to identify the "chatter" in the encoder position the servo isn't likely to be able to help with it.

    Too bad we don't have linear scales to try to observe it.

    To make the servo sloppy so the output is smooth and constant I would reduce the PID gains by a factor of 10 or more.

    Regards
    TK http://dynomotion.com


  20. #40
    Member
    Join Date
    Jan 2016
    Posts
    93
    Downloads
    0
    Uploads
    0

    Default Re: PID Servo Tuning with SnapAmp Chicken and Egg Variables

    Could you make a chart that shows positional error over time? Also, what are the units on the graph? It would be good to see some zoomed in portions of the graph so that we could see real time performance a bit better.

    - - - Updated - - -

    By positional error, I mean actual position vs commanded position.



Page 2 of 3 FirstFirst 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

PID Servo Tuning with SnapAmp Chicken and Egg Variables

PID Servo Tuning with SnapAmp Chicken and Egg Variables

PID Servo Tuning with SnapAmp Chicken and Egg Variables