- Posts: 19899
- Thank you received: 4655
Retrofitting a 1986 Maho MH400E
- andypugh
- Offline
- Moderator
-
Less
More
7 years 5 months ago #134932
by andypugh
Replied by andypugh on topic Retrofitting a 1986 Maho MH400E
I am not going to get it published in time, but I have an idea for a touch-probe that needs much less accurate machining than the 6-ball type.
(well, its's an idea I stole from Zeiss, actually, but it means that you can make a pretty good probe with a drill press and a hexagonal collet block. Or a 4th axis if you have one.)
The idea is to use the intersection of the axes of holes as the reference geometry rather than the depth of dimples. The balls are replaced with ground dowel pins.
photos.app.goo.gl/gspx8Xw7nuDsBHY69
(well, its's an idea I stole from Zeiss, actually, but it means that you can make a pretty good probe with a drill press and a hexagonal collet block. Or a 4th axis if you have one.)
The idea is to use the intersection of the axes of holes as the reference geometry rather than the depth of dimples. The balls are replaced with ground dowel pins.
photos.app.goo.gl/gspx8Xw7nuDsBHY69
The following user(s) said Thank You: Todd Zuercher, drimaropoylos
Please Log in or Create an account to join the conversation.
- RotarySMP
- Offline
- Platinum Member
-
Less
More
- Posts: 1635
- Thank you received: 595
7 years 5 months ago - 7 years 5 months ago #134983
by RotarySMP
Replied by RotarySMP on topic Retrofitting a 1986 Maho MH400E
Thanks for sharing that. It is food for thought, but would require a complete restart, as my housing is short and fat, without enough length to fit that. The probe carrier is the same for both methods. A bar with three pins at 120°.
So for that Zeiss method, you would set up the rotary table on an angle plate, find center of the angled blank, offset it, go around three times
1/ mill flats so the drill starts don't wander,
2/ drill and
3/ ream three holes, then adjust the angle plate, recenter, and repeat.
- two multi axis set up operations, and 18 machining operations.
Verses
clamp down the lathe chuck, find center and run six lines of code to punge the ball mill.
G90 G81 X0 Y16 Z-4 R10
X-9.18 Y13.11
X-13.96 Y-8
X-6.76 Y-14.75
X13.86 Y-8
X15.94 Y1.39
I am a lot more confident in the Maho's ability to hit the same depth 6 times, on six locations, in a single set up based on the lathe chucks parallelism, than I am in my ability to accurately set up and execute the Zeiss version.
I hope that the ball spacing and height errors will contribute less to inaccuracy than other features I already have.
From what I have seen so far, the stack of threads (Renishaw stylus--> Adaptor --> center body) could be a source of run out. I would have liked to use a more rigid insulation material like Corian, but couldn't find any. The plastic I have doesn't repeat well in collets, so I inserted the threaded brass insert, to be able to mount it on a mandrel for finish turning it, and for drilling the 120° holes. M3 would not have been strong enough, so I went for M5 as you can also get Stylus in M5, but then this M3 stylus with carbide shaft was too good to refuse.
The next issue is going to be centering and mounting the ball carrier in the housing, without tilt, which is why I want to do all machining in the one chuck set up, including parting. I hope mounting the head onto the 40 taper shank with four opposing clamping screws gives me enough adjustment to compensate for my machining sins.
EDIT: I was thinking a bit more about that Zeiss design. Both this and the six ball version are static indeterminate, and therefore dependant on high precision and some deformation to get electrical continuity through the whole system. The narrowed angle between the pins could be matched by increased ball spacing. When you machine yours, please post pictures of the set up. I guess it can be done without changing the angle plate angle, by just moving across and rotating 120°. How would you set up the angle if you use a hex block instead of a rotary table on an angle plate?
So for that Zeiss method, you would set up the rotary table on an angle plate, find center of the angled blank, offset it, go around three times
1/ mill flats so the drill starts don't wander,
2/ drill and
3/ ream three holes, then adjust the angle plate, recenter, and repeat.
- two multi axis set up operations, and 18 machining operations.
Verses
clamp down the lathe chuck, find center and run six lines of code to punge the ball mill.
G90 G81 X0 Y16 Z-4 R10
X-9.18 Y13.11
X-13.96 Y-8
X-6.76 Y-14.75
X13.86 Y-8
X15.94 Y1.39
I am a lot more confident in the Maho's ability to hit the same depth 6 times, on six locations, in a single set up based on the lathe chucks parallelism, than I am in my ability to accurately set up and execute the Zeiss version.
I hope that the ball spacing and height errors will contribute less to inaccuracy than other features I already have.
From what I have seen so far, the stack of threads (Renishaw stylus--> Adaptor --> center body) could be a source of run out. I would have liked to use a more rigid insulation material like Corian, but couldn't find any. The plastic I have doesn't repeat well in collets, so I inserted the threaded brass insert, to be able to mount it on a mandrel for finish turning it, and for drilling the 120° holes. M3 would not have been strong enough, so I went for M5 as you can also get Stylus in M5, but then this M3 stylus with carbide shaft was too good to refuse.
The next issue is going to be centering and mounting the ball carrier in the housing, without tilt, which is why I want to do all machining in the one chuck set up, including parting. I hope mounting the head onto the 40 taper shank with four opposing clamping screws gives me enough adjustment to compensate for my machining sins.
EDIT: I was thinking a bit more about that Zeiss design. Both this and the six ball version are static indeterminate, and therefore dependant on high precision and some deformation to get electrical continuity through the whole system. The narrowed angle between the pins could be matched by increased ball spacing. When you machine yours, please post pictures of the set up. I guess it can be done without changing the angle plate angle, by just moving across and rotating 120°. How would you set up the angle if you use a hex block instead of a rotary table on an angle plate?
Last edit: 7 years 5 months ago by RotarySMP.
Please Log in or Create an account to join the conversation.
- RotarySMP
- Offline
- Platinum Member
-
Less
More
- Posts: 1635
- Thank you received: 595
7 years 5 months ago - 7 years 5 months ago #134984
by RotarySMP
Replied by RotarySMP on topic Retrofitting a 1986 Maho MH400E
Glemigobles, could you please take a look at the post above with your machine constants in it, and give me some feeds back on your tuning methods. I had some questions in there.
Last edit: 7 years 5 months ago by RotarySMP.
Please Log in or Create an account to join the conversation.
- Glemigobles
- Offline
- Elite Member
-
Less
More
- Posts: 201
- Thank you received: 18
7 years 5 months ago #134987
by Glemigobles
Replied by Glemigobles on topic Retrofitting a 1986 Maho MH400E
Sure, I'll get on it tomorrow. After a nearly month-long marathon of constant geeking and freaking out in the workshop, I'm having a family weekend. I'm sorry if we're at cross purposes here, you mostly have time to MAHO on the weekends, whereas for me it's the day job.
Please Log in or Create an account to join the conversation.
- RotarySMP
- Offline
- Platinum Member
-
Less
More
- Posts: 1635
- Thank you received: 595
7 years 5 months ago #134988
by RotarySMP
Replied by RotarySMP on topic Retrofitting a 1986 Maho MH400E
No Worries. For me this is just a hobby.
Please Log in or Create an account to join the conversation.
- Glemigobles
- Offline
- Elite Member
-
Less
More
- Posts: 201
- Thank you received: 18
7 years 5 months ago #135072
by Glemigobles
Replied by Glemigobles on topic Retrofitting a 1986 Maho MH400E
I've read through your post again, and here's my 0.02 cents (which in Polish money is about 48 nano-Euros). These are mostly musings and ramblings, so beware!
It's my understanding that the tuning method originally employed for the Philips/Indramat servo loop had the integrator/builder enter only the following errors for smaller machines, and then an additional third acceleration factor for larger ones.
The former two values were automatically translated into gain factors for ease of set up (probably). The latter was probably a fine adjustment for spikes in the initial movement of the slide and towards the end of the move. Since PID tuning and velocity mode servo drives are both very old by now, I think it's reasonable to assume that the Philips system was adjusting the same gain factors we are, only working backwards from easily-measurable values. LinuxCNC has to give you more freedom to be universally applicable across a wide variety of machines. The Philips controller was proprietary and probably a cooperative effort with the company's largest clients (which was probably only MAHO anyway, lol). So it could've been customised to make things easy for specific machine tool builders.
I guess in the olden days of the 1980s, MAHO system builders would hook up an oscilloscope to each drive to measure the following error in time. The Philips controller only asked them to input the highest following error when the drives were working at rapid traverse rates with minimal or no gains. Then, if necessary, and if the version of the controller allowed for it, they'd also tell the computer the time frame in milliseconds over which the following error spiked after the curve had already been flattened by the first two gains.
This is completely imagined by me based on the manuals. Despite the machine constants being different between each version of the controller, the tuning process was the same, and the constants described largely the same parameters. It also just seems like a very nice and streamlined way to accomplish a potentially complex task which a machine tool builder would have to repeat all the time for each machine.
So based on this, probably entirely fictional, picture of the original process I decided that:
1) contrary to contemporary tutorials, the drives were intended to be tuned at rapid speed (maybe becuase 1980s rapids weren't so rapid to begin with and they expected the machines to work very much the same across the entire spectrum of available speeds?; maybe because the Indramat servos responded slowly? maybe because you can use the procedures recommended on the forum for a wide variety of machines with success, even if you have a closed-loop stepper system? IDK really) The Indramat people wanted you to test the worst-case scenario, in which the motor would be fed the highest possible voltage of 9V (nominally 10V, but limited in case of overshoots to protect the motors), and work from there. Presumably, doing this the other way around would yield poor results at higher speeds and would require more time to tune. Also there's the issue of the built-in algorithm which calculated the gains and which allowed you visualise the process through Kv graphs.
2) my machine, unlike the MH500C from the smoregrava page, did use the secondary acceleration gain parameter for tuning
3) the internal workings of the tuning mechanism as employed by the Philips controller are probably beyond my severely limited understanding of engineering, and technology in general. I can use the broad strokes to see if I can get the machine working in a similar manner as before, but I don't really know what following errors it had previously. I just know what the machine used to behave like.
4) there was no maximum acceleration setting like we have in our ini files; maybe that was a function embedded in the thyristor amp rather than the computer? The old Philips computer had stone-age processing capabilities compared to even a potato-level PC of today, it had no business handlig too many variables (my CPU wasn't even an x86 architecture).
This post is getting excessively long, but my machine is cutting 3x slower until I get a replacement spindle so I'm going to continue as if this was normal.
With the tools you get in LinuxCNC, it's certainly possible to "over-tune" the Indramat servo loop, and it's not that hard. You can hear it when the motors make loud, weird noises, or when the movement of the machine seems forced somehow.
One thing I've noticed is that the acceleration rate from the ini file is not directly translated to movements registered with Halscope. Maybe it's because my machine is worn and badly in need of rebuilding/reconditioning. On the X axis, for example, there isn't a 1:1 relation between commanded value and actual output. I would be curious to hear what it's like on your machine, since it's in far better mechanical shape (and wasn't abused for 30 years at a Swiss robotics company).
One thought I had about this was that maybe the gains limit the acceleration to a little below what is set, and the system simply slows the axis down?
But, within the P, fe1 and fe2 values, you should tune down to even 6 digits overall, if necessary. It makes a difference, both for following errors and for the behaviour of the machine. Especially fe1 & 2 can be 5-6 digits long. I read various articles on websites by servo drives manufacturers and engineering sites, and the values were pretty long. Only proportional gain seemed not to yield good benefits with more detailed input.
Conclusions: I tuned at rapid traverse rates and at acceleration rates that I found gave me results close to those recommended in the 3TRM2 manual. Then I decreased acceleration rates when I saw that beyond a certain thershold they only increased the following error, but not the actual time it took for the slide to achieve the commanded feed.
Once the acceleration rates were reasonable, I tried to get the errors down to small values. Proportional gain was low overall. I listened if the motors weren't working too hard when idle. I found that with low following errors in rapid traverse, following errors at lower feeds were just better. All the following errors I got were spikes at the start of the move. This suggests to me that I might have setttled on acceleration rates that are still too high. That's because otherwise, the tuning seems to match the inertia of the machine and the output of the drives rather reasonably. I did not have dips below the center line like you posted, I fixed those with fe2 adjustments.
Also, like Andy and Peter wrote, errors of a few 0,01 mm aren't really that important unless you're contouring small, complex geometries at high speeds. There's also the mechanics of slide ways to consider when each axis is made to move initially. From what I've heard from guys who used to build machine tools in my town in the 80s and 90s, and who then worked as independent service techs, servo tuning is connected with gib adjustments if you have slide ways.
My machine is bound to have a lot of play in places were it shouldn't, as well as wear on portions of the ways which have seen the most use. Rarely does a machine wear evenly across its travels because jobs assigned to it usually fall within a certain envelope. So it might be possible that the following error is higher near the axes limits, because the gibs are over-tightened in those portions of the travel, to compensate on the wear (which can be visualised as a bow) near the centre of the travel where the machine was actually used, and where company personnel wanted to keep tighter tolerances.
Anyway, sorry for the super long post. IDK if it's worth anything, but these are my ideas on the subject. I'm still not really super happy with how the machine sounds and will ask a visiting service guy to tell me what he thinks about my tuning. We've been trying to set up a meeting for a couple of weeks now, so I'm keeping my fingers crossed it's going to happen soon.
It's my understanding that the tuning method originally employed for the Philips/Indramat servo loop had the integrator/builder enter only the following errors for smaller machines, and then an additional third acceleration factor for larger ones.
The former two values were automatically translated into gain factors for ease of set up (probably). The latter was probably a fine adjustment for spikes in the initial movement of the slide and towards the end of the move. Since PID tuning and velocity mode servo drives are both very old by now, I think it's reasonable to assume that the Philips system was adjusting the same gain factors we are, only working backwards from easily-measurable values. LinuxCNC has to give you more freedom to be universally applicable across a wide variety of machines. The Philips controller was proprietary and probably a cooperative effort with the company's largest clients (which was probably only MAHO anyway, lol). So it could've been customised to make things easy for specific machine tool builders.
I guess in the olden days of the 1980s, MAHO system builders would hook up an oscilloscope to each drive to measure the following error in time. The Philips controller only asked them to input the highest following error when the drives were working at rapid traverse rates with minimal or no gains. Then, if necessary, and if the version of the controller allowed for it, they'd also tell the computer the time frame in milliseconds over which the following error spiked after the curve had already been flattened by the first two gains.
This is completely imagined by me based on the manuals. Despite the machine constants being different between each version of the controller, the tuning process was the same, and the constants described largely the same parameters. It also just seems like a very nice and streamlined way to accomplish a potentially complex task which a machine tool builder would have to repeat all the time for each machine.
So based on this, probably entirely fictional, picture of the original process I decided that:
1) contrary to contemporary tutorials, the drives were intended to be tuned at rapid speed (maybe becuase 1980s rapids weren't so rapid to begin with and they expected the machines to work very much the same across the entire spectrum of available speeds?; maybe because the Indramat servos responded slowly? maybe because you can use the procedures recommended on the forum for a wide variety of machines with success, even if you have a closed-loop stepper system? IDK really) The Indramat people wanted you to test the worst-case scenario, in which the motor would be fed the highest possible voltage of 9V (nominally 10V, but limited in case of overshoots to protect the motors), and work from there. Presumably, doing this the other way around would yield poor results at higher speeds and would require more time to tune. Also there's the issue of the built-in algorithm which calculated the gains and which allowed you visualise the process through Kv graphs.
2) my machine, unlike the MH500C from the smoregrava page, did use the secondary acceleration gain parameter for tuning
3) the internal workings of the tuning mechanism as employed by the Philips controller are probably beyond my severely limited understanding of engineering, and technology in general. I can use the broad strokes to see if I can get the machine working in a similar manner as before, but I don't really know what following errors it had previously. I just know what the machine used to behave like.
4) there was no maximum acceleration setting like we have in our ini files; maybe that was a function embedded in the thyristor amp rather than the computer? The old Philips computer had stone-age processing capabilities compared to even a potato-level PC of today, it had no business handlig too many variables (my CPU wasn't even an x86 architecture).
This post is getting excessively long, but my machine is cutting 3x slower until I get a replacement spindle so I'm going to continue as if this was normal.
With the tools you get in LinuxCNC, it's certainly possible to "over-tune" the Indramat servo loop, and it's not that hard. You can hear it when the motors make loud, weird noises, or when the movement of the machine seems forced somehow.
One thing I've noticed is that the acceleration rate from the ini file is not directly translated to movements registered with Halscope. Maybe it's because my machine is worn and badly in need of rebuilding/reconditioning. On the X axis, for example, there isn't a 1:1 relation between commanded value and actual output. I would be curious to hear what it's like on your machine, since it's in far better mechanical shape (and wasn't abused for 30 years at a Swiss robotics company).
One thought I had about this was that maybe the gains limit the acceleration to a little below what is set, and the system simply slows the axis down?
But, within the P, fe1 and fe2 values, you should tune down to even 6 digits overall, if necessary. It makes a difference, both for following errors and for the behaviour of the machine. Especially fe1 & 2 can be 5-6 digits long. I read various articles on websites by servo drives manufacturers and engineering sites, and the values were pretty long. Only proportional gain seemed not to yield good benefits with more detailed input.
Conclusions: I tuned at rapid traverse rates and at acceleration rates that I found gave me results close to those recommended in the 3TRM2 manual. Then I decreased acceleration rates when I saw that beyond a certain thershold they only increased the following error, but not the actual time it took for the slide to achieve the commanded feed.
Once the acceleration rates were reasonable, I tried to get the errors down to small values. Proportional gain was low overall. I listened if the motors weren't working too hard when idle. I found that with low following errors in rapid traverse, following errors at lower feeds were just better. All the following errors I got were spikes at the start of the move. This suggests to me that I might have setttled on acceleration rates that are still too high. That's because otherwise, the tuning seems to match the inertia of the machine and the output of the drives rather reasonably. I did not have dips below the center line like you posted, I fixed those with fe2 adjustments.
Also, like Andy and Peter wrote, errors of a few 0,01 mm aren't really that important unless you're contouring small, complex geometries at high speeds. There's also the mechanics of slide ways to consider when each axis is made to move initially. From what I've heard from guys who used to build machine tools in my town in the 80s and 90s, and who then worked as independent service techs, servo tuning is connected with gib adjustments if you have slide ways.
My machine is bound to have a lot of play in places were it shouldn't, as well as wear on portions of the ways which have seen the most use. Rarely does a machine wear evenly across its travels because jobs assigned to it usually fall within a certain envelope. So it might be possible that the following error is higher near the axes limits, because the gibs are over-tightened in those portions of the travel, to compensate on the wear (which can be visualised as a bow) near the centre of the travel where the machine was actually used, and where company personnel wanted to keep tighter tolerances.
Anyway, sorry for the super long post. IDK if it's worth anything, but these are my ideas on the subject. I'm still not really super happy with how the machine sounds and will ask a visiting service guy to tell me what he thinks about my tuning. We've been trying to set up a meeting for a couple of weeks now, so I'm keeping my fingers crossed it's going to happen soon.
The following user(s) said Thank You: RotarySMP
Please Log in or Create an account to join the conversation.
Time to create page: 0.695 seconds