What's new
What's new

EDM cuts on size, but I'm off positionally

Lotaxi

Aluminum
Joined
Jun 9, 2020
Hello!

I'm working with an old Charmilles Robofil 510 and I'm having an issue with either measurement or setup leading to the inaccurate placement of a very accurately sized hole.

I'm trying to cut a passage for a gear rack that needs to be centered in a workpiece. I have milled a custom fixture that in theory allows me to locate the proper start hole in relation to the workpiece profile based on a 0 set on a specific corner of the fixture. When I evaluate the fixture it measures properly, as I expect. It's sweeping in properly when I put an indicator on it in the EDM. I measure and set my 0 where it should be on the fixture, move over to the theoretical center of the start hole based on the fixture's measured position, and cut. When the part comes out of the machine, however, the profile is correctly sized but it's shifted in Y by about 0.010" and it's driving me insane. When I anticipate the 0.010 shift and set my 0 to compensate, the part still comes out wrong. I'm about ready to pull my hair out here.

Where am I going wrong?
 

implmex

Diamond
Joined
Jun 23, 2002
Location
Vancouver BC Canada
Hi Lotaxi:
Your problem could be one or more of many things.
They fall into a few categories:
1) The machine does not move where it's commanded to move.
This is easy to verify.
The fact that you can make the correct shape but in the wrong place tells me that the motion control system is likely working correctly.

2) The contact sensing circuits are not working correctly so you can't do a correct touch off.
This is also simple to check.
Pick up a feature and set your origin.
Pick it up again and see if you end up in the same spot.
Look and see if the wire is where it is supposed to be...an error of 0.010" is easy to see. especially if you use a magnifier.
Into this category also falls things like worn out power contacts or discharge cables.

3) There is a burr or the fixture is not square or there is some other geometric imperfection that wrecks your pickup or the positioning of your part in it.

4) The fixture is not as good as you think it is, at positioning the part.

5) You're setting the offset wrong after you do your touch off and set your part origin.

6) You've made an error in your code and it doesn't cut your feature where you thought it would.

7) You've used G92 inappropriately and the program is re-setting your origin when you didn't want it to.

As a first step, try single point boring your wire start hole and deburring it carefully so you know exactly where it is.
Rewrite your code so your wire start hole is directly over the origin.
Pick up and cut your part from that new origin, eliminating any chance of fixture errors or positioning errors or offsetting errors.
See what you get and go from there as you try to figure out which problem(s) you've got.

Cheers

Marcus
www.implant-mechanix.com
www.vancouverwireedm.com
 

Lotaxi

Aluminum
Joined
Jun 9, 2020
Thanks for the reply!

I tried a couple things and got MUCH closer than I was.

1) The machine does not move where it's commanded to move.
I agree with you that the machine is doing fine on movement.

2) The contact sensing circuits are not working correctly so you can't do a correct touch off.
The only time I'm having issues is when I'm NOT using a central start hole as my 0, meaning when I'm cutting in relation to existing geometry. This might be an issue, but I haven't noticed any errors in holes that are very close to the final dimension. For example when cutting into a start hole that's <0.010 smaller than the final diameter, I'm cutting everything both to size and on location. I typically measure a start hole twice, once at a relative angle of 0 and once at a relative angle of 30 or 45 degrees. Typically I see a deviance of ~0.00004-0.00007 between the two measurements with a drilled hole, so I'm not too concerned with the sensing circuit.

3) There is a burr or the fixture is not square or there is some other geometric imperfection that wrecks your pickup or the positioning of your part in it.
I chamfer all my edges and then gently sand all sides of my fixtures with 800-1500 grit specifically to avoid burrs, and I've double checked my fixture dimensions. Typically I model both and create an assembly so that I can take accurate theoretical measurements to ascertain my 0 properly. The fixture in question here is +/-.0002in on all relevant locating features.

4) The fixture is not as good as you think it is, at positioning the part.
This one is a possibility, I suppose. I've double checked everything, but there's always the possibility I miss something. I'll review it again.

5) You're setting the offset wrong after you do your touch off and set your part origin.
In what way do you mean? Are you talking about my machining offset? If so, I would imagine the dimensions of my pocket would be coming out incorrectly, no? If you're talking about the withdrawal offset of the wire from the fixture surface, that is actually something I fixed that made a pretty big difference. I redid my calculations for the measurement spark gap and a couple other things, and that helped a lot. I'm currently down from 0.010 off to ~0.002 off. Not perfect, but good enough for the prototype I'm making.

6) You've made an error in your code and it doesn't cut your feature where you thought it would.
HUGE possibility. I've reviewed my code and don't see anything wrong, but it might be worth reprogramming it entirely just to be sure. I'm no expert in programming EDM yet.

7) You've used G92 inappropriately and the program is re-setting your origin when you didn't want it to.
This is something that I actually have very little idea about, actually. I'm mostly self-taught through the manuals and whatever training I can find online. I know that G92 sets the part origin in relation to the machine origin, but I don't know exactly what the proper use is. In general, I will set G92 to where the program origin should be in relation to the part 0. So for example if I need to cut a pocket in close relation to an existing, reamed hole, I set my 0 in the center of the existing hole and then move the wire to the theoretical center of the feature to be cut. I then write the program in relation to the 0 centered in the existing hole. The resulting G92 code would look something like, for example, G92 X0.11684 Y-0.37500. Should I not be doing this? I have no idea what standard practice for programming this stuff is.

As a first step, try single point boring your wire start hole and deburring it carefully so you know exactly where it is.
My start hole needs to be small enough to create the feature that this isn't realistically possible. I'm using 17-4PH in condition H950, so the fact that it's been hardened already makes it a little more difficult as well. It was drilled with carbide while it was still in condition A, though, so it should be reasonably accurate. Given the aspect ratio being 12:1, however, I don't know if I trust it enough to use as a measured start hole. That's why I'm using the fixture or other related features to set my 0.

Rewrite your code so your wire start hole is directly over the origin.
I think this is my next step.

Thank you for all the troubleshooting help so far. If you have any other thoughts based on what I've added here, they would be greatly appreciated.
 

implmex

Diamond
Joined
Jun 23, 2002
Location
Vancouver BC Canada
Hi again Lotaxi:
Since you seem to have the bulk of it well covered, lets talk about how you are touching off and programming it.
It is common to touch off on a side of the fixture that's aligned in X and then touch off on a side of the fixture that's aligned in Y.
If you zero the relevant coordinate after each touch, the center of the wire will not be directly over the fixture corner...it will be 0.0049" away from the corner (with 0.25 mm wire).
Lots of people will type in compensation coordinates instead of zeroing the control in order to accommodate the wire radius and bring the center of the wire directly over the datum corner of the fixture (or the part).
Obviously if you input +0.0049 when you should have input -0.0049 you will be 0.010 (approximately) out of position.

It's a common brain fart to make.
So when you complained about being out of position by 0.010" in one axis that was my first thought.

Also, G92 is dangerous to put in at the beginning of a program because it will re-set the work coordinate system to whatever the G92 line commands, so unless the wire is actually in that position when you invoke the command it will just goober the origin you touched off to, and put it somewhere else.
Normally you rapid to the coordinates on the G92 line before G92 gets invoked, but if you don't you're screwed.

I've never seen the value of putting that code into programs that will only ever use one origin, so I just never invoke it, and my post doesn't put it in.

So my policy is to position the part in CAM so the code is written in such a way as to allow me to just zero the control as soon as I make my touch off without having to visualize whether my offset direction is +.0049 or -.0049.
There is never a G92 in my code unless I'm running a sub in several different positions, and then I run the sub in G55 so the origin I touched off to in G54 is preserved.

Some of my wire EDM buddies react almost with violence to my sacrilege but I don't care...it works well for me.

So look over the way you are setting up and make sure it is correct.

Cheers

Marcus
www.implant-mechanix.com
www.vancouverwireedm.com
 

Lotaxi

Aluminum
Joined
Jun 9, 2020
If you zero the relevant coordinate after each touch, the center of the wire will not be directly over the fixture corner...it will be 0.0049" away from the corner (with 0.25 mm wire).
That wasn't obvious to me until yesterday 😆
When I calculated the touch gap I realized I hadn't been taking the back-off value into account because I'm so accustomed to the centering measurement cycle I normally use.

Also, G92 is dangerous to put in at the beginning of a program because it will re-set the work coordinate system to whatever the G92 line commands, so unless the wire is actually in that position when you invoke the command it will just goober the origin you touched off to, and put it somewhere else.
I have noticed the G92 set point issue, yeah. If I don't do it right or start my CMD file in the right position the draw screen simulation will go crazy. My inexperience is likely showing, but when I'm writing my CMD files, the first command always goes to the initial wire position using the SEP,1/GOP,1 pairing so that it's always in the proper position for the G92 start. If anything is wrong with the position when it runs G92, it doesn't simulate right and that's my warning to figure out what I did wrong. I kind of assumed that G92 was a necessary line in my code...

The last thing I do every time I'm setting up a part is setting those initial points based on my measured systems. Between different ISO programs within a part, I'll have the machine rapid to the next start coordinate using the MOV command and then set G92 to the same location. I wonder if I'm screwing myself over by using the machine coordinates vs the part coordinates, though.

I just never invoke it, and my post doesn't put it in.
I made the changes to our post, so I guess I should figure out how to get it out of there.

my policy is to position the part in CAM so the code is written in such a way as to allow me to just zero the control as soon as I make my touch off
That's a really great idea. I should probably start doing that.

sacrilege
I've taught myself mill, lathe, w-edm, and a couple other systems without any formal education to speak of past reading manuals, articles, and forum help, so I'm sure I do my share of weird stuff too. Rotary axis w-edm and 5 axis milling are my next opportunities to do things wrong.
 

KilrB

Stainless
Joined
Feb 18, 2007
Location
Angleton, Texas
Have you done a guide alignment?
Have you cleaned your contact block and/or changed your contacts.
Your cutting hardened material. Are you doing anything to compensate for possible stress related movement?
 








 
Top