Retrofitting a 1986 Maho MH400E
26 May 2019 06:53 - 26 May 2019 06:54 #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: 26 May 2019 06:54 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
26 May 2019 08:50 #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.
26 May 2019 09:24 #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
27 May 2019 16:41 #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.
27 May 2019 19:41 #135083
by RotarySMP
Replied by RotarySMP on topic Retrofitting a 1986 Maho MH400E
Thanks for taking the time to put your thoughts together on tuning. Could you please upload your Ini, so I can see what the results look like?
Please Log in or Create an account to join the conversation.
- Glemigobles
- Offline
- Elite Member
Less
More
- Posts: 201
- Thank you received: 18
31 May 2019 15:23 #135476
by Glemigobles
Replied by Glemigobles on topic Retrofitting a 1986 Maho MH400E
Hi Mark, I'm attaching the ini file. It's definitely not perfect, but a replacement spindle arrived this week and the machine has been cutting at 20% faster rates than on the Philips due to the possibility of using feeds above 1500. The parts look good and I hope tool life will be better as well, since I replaced all the plunges with fancy entry strategies.
Previously, out of the 18000 rpm available on the little Elte spindle I was using around 14000 due to the feedrate cap. Now it's working at full speed, and feedrates have gone from 1500 to 1890 mm/min. In reality, the feeds in helical cuts are ca. 500, but my parts are mostly straight and the increased cutting speed is actually used most of the time.
I'm mentioning all this to let you know that I'm actually using this config and it works. So it's not a situation where I'm a backseat driver goading you into doing something risky. If the service tech I've been in contact with actually comes to inspect the mill I will ask him about the tuning and post his opinions as well. He is well acquainted with the subject. A retired machine tool electronics specialist whom I know and bothered over the phone on this subject suggested that I should find manuals for the Siemens Sinumerik 810 control online and try their method. I haven't tried that yet due to lack of time, but if the Philips has decent info on tuning but the gains are dervied instead of entered manually, chances are some other controller with a good manual could provide good targets to shoot for that can be more easily applied to LinuxCNC.
Previously, out of the 18000 rpm available on the little Elte spindle I was using around 14000 due to the feedrate cap. Now it's working at full speed, and feedrates have gone from 1500 to 1890 mm/min. In reality, the feeds in helical cuts are ca. 500, but my parts are mostly straight and the increased cutting speed is actually used most of the time.
I'm mentioning all this to let you know that I'm actually using this config and it works. So it's not a situation where I'm a backseat driver goading you into doing something risky. If the service tech I've been in contact with actually comes to inspect the mill I will ask him about the tuning and post his opinions as well. He is well acquainted with the subject. A retired machine tool electronics specialist whom I know and bothered over the phone on this subject suggested that I should find manuals for the Siemens Sinumerik 810 control online and try their method. I haven't tried that yet due to lack of time, but if the Philips has decent info on tuning but the gains are dervied instead of entered manually, chances are some other controller with a good manual could provide good targets to shoot for that can be more easily applied to LinuxCNC.
Please Log in or Create an account to join the conversation.
03 Jun 2019 12:15 #135738
by RotarySMP
Replied by RotarySMP on topic Retrofitting a 1986 Maho MH400E
Sorry I didn't respond, but we took a long weekend in Solvenia last weekend. Thanks for sending your INI.
Mark
Mark
Please Log in or Create an account to join the conversation.
- Glemigobles
- Offline
- Elite Member
Less
More
- Posts: 201
- Thank you received: 18
03 Jun 2019 13:50 #135749
by Glemigobles
Replied by Glemigobles on topic Retrofitting a 1986 Maho MH400E
No problem, would like a vacation as well!
One thing I changed since it was posted was the max velocity for axes Y and Z, they were incorrect and different. I set them to 2500, which in machine units per second is 41.6666667.
There's a lot of stuff I should do with my files to clean them up, but while it's all working I prefer to focus on other things. At some point I'll come back to tweaking.
One thing I changed since it was posted was the max velocity for axes Y and Z, they were incorrect and different. I set them to 2500, which in machine units per second is 41.6666667.
There's a lot of stuff I should do with my files to clean them up, but while it's all working I prefer to focus on other things. At some point I'll come back to tweaking.
Please Log in or Create an account to join the conversation.
04 Jun 2019 12:52 #135831
by RotarySMP
Replied by RotarySMP on topic Retrofitting a 1986 Maho MH400E
I have a few things to tidy up as well. I still need to learn how to use the LinuxCNC tool change offsets, rather than just touching off each time. My Feed override encoder is not working etc.
Please Log in or Create an account to join the conversation.
- Glemigobles
- Offline
- Elite Member
Less
More
- Posts: 201
- Thank you received: 18
05 Jun 2019 08:53 #135921
by Glemigobles
Replied by Glemigobles on topic Retrofitting a 1986 Maho MH400E
Mark, I have a question about the Maho user manual. Mine is in French and I don't understand technical terminology in that language. There's a chapter there on the differences between manual change (standard) ISO toolholders and DIN69871 ones for automatic changing. Can manual ISO toolholders be used in the MAHO spindle? Do they require some sort of modification (I assume turning)? It looks like the manual type is longer and wouldn't fit in the cartridge, or is it that the clamping force is lower?
I wonder what that chapter is about (3.12, 3.13). You can sometimes buy toolholders at good prices second-hand, I was wondering if both types are okay or just the one I've been using.
I wonder what that chapter is about (3.12, 3.13). You can sometimes buy toolholders at good prices second-hand, I was wondering if both types are okay or just the one I've been using.
Please Log in or Create an account to join the conversation.
Moderators: piasdom
Time to create page: 0.164 seconds