- Posts: 224
- Thank you received: 115
Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
- Becksvill
- Offline
- Elite Member
-
Less
More
9 months 4 weeks ago #340947
by Becksvill
Replied by Becksvill on topic Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
hey guys i am also about to try scales plus ballscrews and encoders on a larger machine
just posting here to see if Nitram is still online at all?
hoping to make this work and then document it a bit for people and maybe post a config that is working etc
cheers
Andrew
just posting here to see if Nitram is still online at all?
hoping to make this work and then document it a bit for people and maybe post a config that is working etc
cheers
Andrew
Please Log in or Create an account to join the conversation.
- Doug Crews
- Offline
- Senior Member
-
Less
More
- Posts: 62
- Thank you received: 9
9 months 3 weeks ago #341030
by Doug Crews
Replied by Doug Crews on topic Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
Hi Andrew,
I don’t have anything specifically for hal configs yet, but it is high on my to do list. Your inquiry has helped me to get off my butt and write up what I’ve been doing and experiencing. I have a knee mill with one micron scales, servo motors & drives configured in velocity mode and ball screws.
The ball screws are from Rockford ballscrew they have an adjustable design that is supposed to be able to adjust the backlash out. It kind of works. The problem is instead of backlash they have “wind-up” I guess technically its not backlash like “open space” but the wind-up causes problems very similar. Because adjusting the ball nuts takes a lot of time I put it off and that’s when things got really interesting. The wind-up became more and more, up to nearly +/- ten thousandths. I could measure it because I integrated the original hand wheel dials in my retro fit. The dials are an excellent reference for tuning, you can literally see the oscillations and overshoot. As you probably know because of the windup all of the direction changes in circular interpolations had oscillations which could be seen the halscope but also in the surface finishes but not really measurable. Going point to point was and still is spot on within a tenth. With so much easy windup in the ball nut the cutter would occasionally grab and take a really heavy bite (climb cutting) and pull the wok piece/table into the cutter. It was easy to hear and almost visually perceivable when it happened. When it happens it is so very fast, so fast that I believe it’s beyond the linear scale encoders ability to read and it misses counts and results in a position losses.
I’m pretty sure this is happening because when cutting a pocket that steps down in increments the pocket migrates. Since the grab usually happens in the same place on each level it migrates the same direction, it’s very repeatable. After a few pocket increments I would command the tool to go to program Zero and it go to where the control displays zero but it is NOT at work piece zero. When I back-off the cut parameters so there is no tool grabbing (really light cuts)there is no loss of position. My gut has been telling me this is most likely NOT a problem for large machines with very heavy tables and very little backlash and I’m not sure how much a dual loop feed back will help with the grab and missing counts situation with my machine. If the ballscrews were truly zero backlash there would be no problem, potentially no need for dual loop feedback. I’m going to try some things, hopefully I’ll get some time to do it this winter.
-Doug
I don’t have anything specifically for hal configs yet, but it is high on my to do list. Your inquiry has helped me to get off my butt and write up what I’ve been doing and experiencing. I have a knee mill with one micron scales, servo motors & drives configured in velocity mode and ball screws.
The ball screws are from Rockford ballscrew they have an adjustable design that is supposed to be able to adjust the backlash out. It kind of works. The problem is instead of backlash they have “wind-up” I guess technically its not backlash like “open space” but the wind-up causes problems very similar. Because adjusting the ball nuts takes a lot of time I put it off and that’s when things got really interesting. The wind-up became more and more, up to nearly +/- ten thousandths. I could measure it because I integrated the original hand wheel dials in my retro fit. The dials are an excellent reference for tuning, you can literally see the oscillations and overshoot. As you probably know because of the windup all of the direction changes in circular interpolations had oscillations which could be seen the halscope but also in the surface finishes but not really measurable. Going point to point was and still is spot on within a tenth. With so much easy windup in the ball nut the cutter would occasionally grab and take a really heavy bite (climb cutting) and pull the wok piece/table into the cutter. It was easy to hear and almost visually perceivable when it happened. When it happens it is so very fast, so fast that I believe it’s beyond the linear scale encoders ability to read and it misses counts and results in a position losses.
I’m pretty sure this is happening because when cutting a pocket that steps down in increments the pocket migrates. Since the grab usually happens in the same place on each level it migrates the same direction, it’s very repeatable. After a few pocket increments I would command the tool to go to program Zero and it go to where the control displays zero but it is NOT at work piece zero. When I back-off the cut parameters so there is no tool grabbing (really light cuts)there is no loss of position. My gut has been telling me this is most likely NOT a problem for large machines with very heavy tables and very little backlash and I’m not sure how much a dual loop feed back will help with the grab and missing counts situation with my machine. If the ballscrews were truly zero backlash there would be no problem, potentially no need for dual loop feedback. I’m going to try some things, hopefully I’ll get some time to do it this winter.
-Doug
Please Log in or Create an account to join the conversation.
- Becksvill
- Offline
- Elite Member
-
Less
More
- Posts: 224
- Thank you received: 115
4 months 5 days ago #347359
by Becksvill
Replied by Becksvill on topic Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
hey guys
just wanted to report back on this dual feedback thread
I have a large cnc with 0.1mm backlash on the z axis. so i put a scale on it and the results are awesome
i have accuracy within 0.002mm (compared to the scale accuracy at least assuming that is good)
i tried both 1 PID loop and 2 PID loops that have the outputs summed together.
with the single loop i had the velocity PID input coming from the motor rotary encoder and the final position from the linear encoder. and it worked but was really rough and kept bouncing back and forth with the 0.1mm backlash
the two summed loops are really smooth and awesome the trick is the first loop has the high resolution encoder on servo drive and that has really good performance and of course no backlash. and I can change all the normal PID values except Integral and the 2nd PID loop only has the linear encoder input. and only PID setting is Integral. so i get nice and smooth motor but still backlash from first loop and then once the axis gets close the Integral moves the last 0.1mm over a second or so.
so by the time i am cutting the machine is perfectly where it should be. this is probably not so good for high speed surfacing stuff for that you need to remove the physical backlash. but for a slightly slower machine its awesome.
have a look at this thread where i show some more photos of it. its working most days now and running hard in production.
forum.linuxcnc.org/show-your-stuff/58689...ing-running-linuxcnc
cheers
just wanted to report back on this dual feedback thread
I have a large cnc with 0.1mm backlash on the z axis. so i put a scale on it and the results are awesome
i have accuracy within 0.002mm (compared to the scale accuracy at least assuming that is good)
i tried both 1 PID loop and 2 PID loops that have the outputs summed together.
with the single loop i had the velocity PID input coming from the motor rotary encoder and the final position from the linear encoder. and it worked but was really rough and kept bouncing back and forth with the 0.1mm backlash
the two summed loops are really smooth and awesome the trick is the first loop has the high resolution encoder on servo drive and that has really good performance and of course no backlash. and I can change all the normal PID values except Integral and the 2nd PID loop only has the linear encoder input. and only PID setting is Integral. so i get nice and smooth motor but still backlash from first loop and then once the axis gets close the Integral moves the last 0.1mm over a second or so.
so by the time i am cutting the machine is perfectly where it should be. this is probably not so good for high speed surfacing stuff for that you need to remove the physical backlash. but for a slightly slower machine its awesome.
have a look at this thread where i show some more photos of it. its working most days now and running hard in production.
forum.linuxcnc.org/show-your-stuff/58689...ing-running-linuxcnc
cheers
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- akb1212
- Away
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 12
4 months 4 days ago #347361
by akb1212
Replied by akb1212 on topic Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
Thanks for sharing! This is great stuff. My mill is from the same time period, so same problems as yours I guess. It's a 1989 Maho MH600E.
One thing though, would you mind sharing your actual config files? That whould be the absolute best way to help us others who are also trying to wotk out how to make this work. And since my machine have much the same issues as yours I'm hoping to be able to have a closer look at a config file which is actually working, and have solved this problem.
Thanks for sharing! I hope you see this and are willing to share your config files too!
Cheers
One thing though, would you mind sharing your actual config files? That whould be the absolute best way to help us others who are also trying to wotk out how to make this work. And since my machine have much the same issues as yours I'm hoping to be able to have a closer look at a config file which is actually working, and have solved this problem.
Thanks for sharing! I hope you see this and are willing to share your config files too!
Cheers
Please Log in or Create an account to join the conversation.
- Becksvill
- Offline
- Elite Member
-
Less
More
- Posts: 224
- Thank you received: 115
2 months 4 weeks ago #348368
by Becksvill
Replied by Becksvill on topic Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
hey logged on to linuxcnc and just saw this now i will get my config
The following user(s) said Thank You: akb1212
Please Log in or Create an account to join the conversation.
- Becksvill
- Offline
- Elite Member
-
Less
More
- Posts: 224
- Thank you received: 115
2 months 4 weeks ago #348369
by Becksvill
Replied by Becksvill on topic Dual PID loops and appropriate pins for feedback to the Trajectory Planner et al
hey let me know if you get this ok
The following user(s) said Thank You: akb1212, rodw, NWE
Please Log in or Create an account to join the conversation.
Time to create page: 0.493 seconds