PDA

View Full Version : CNC machine cutting incorrect dimensions



Clem
23-02-2014, 05:35 PM
Hi,

I'm new to CNC machining and have just bought one of these Chinese 3020 machines. I'm happy with the build quality and cutting ability for what I need to do, but I have a problem with the size of the things I'm cutting with it.

The Problem:
The items I cut with it are not the correct size!

Basically, when I'm trying to mill a hole of 10mm, it comes out as ca. 9.8mm. When I mill a hole of 80mm, it is pretty much spot on (that's strange...). When I mill a square, of 50mm, it comes out at 49.7ish mm... However, a 100mm square came out as 100.3/100.4mm...

What's confusing me:
It's not a linear increase of the deviation. It's always around 0.2-0.4mm.

My setup:
I'm using Mach3 and gcode that was generated by HSMexpress in Autodesk Inventor.

The steps/mm are set as per instructions and when I'm moving the axis individually, it is quite accurate. Not spot on, but at the same time I probably introduce measurement errors myself.

What I tried:

Changed the dimension of the cutting tool setting in Mach3 and HSMexpress. Didn't help.
Changed feed rate, spindle speed and acceleration. Didn't help.
Tried different positions on the curring table. Didn't help.
Checked that the axis scaling in Mach3 is 1.00.
Checked for backlash/shaky axes. Everything seems to be alright.



Has anybody come across a similar problem before or knows, what the cause might be?
I tried searching the web and this forum for hours already but haven't found a solution...

Many thanks

Clemens

richie00boy
23-02-2014, 10:42 PM
I'll post up my settings later, they are a bit different from what was in the instructions files. TBH I don't fully trust the instructions. Maybe you are losing steps due to bad settings.

Neale
23-02-2014, 10:46 PM
What are you using to generate your gcode? There are basically two options when the gcode is generated for allowing for cutter diameter. One way is for the gcode generator to know the cutter diameter, and it generates gcode that allows for that diameter. So, the cutter path is offset round the outside of a profile, or inside a pocket, by the cutter radius. The other way is that the gcode generator creates a cutter path that is exactly on the line of the object being cut with no allowance for cutter size. What it does do is put some gcode instructions in the file that tells Mach3 (in your case) which side of the line to cut. You then tell Mach3 what the cutter size is, and it applies the offset. The advantage of doing it this way is that you don't have to regenerate the gcode if you change cutter size, or if the cutter is, say, cutting slightly over- or under-size as you can tune this out in Mach3. I use Vectric vCarve and it uses the first method; I have also used the free DXF2GCODE tool and it can do either. Important point is where you put the correction if you are cutting oversize. You say that changing tool size in Mach3 has no effect which implies that you are using the first method, so you need to change the cutter size in HSMexpress (although I don't know that software myself).

Does this make sense?

Clem
23-02-2014, 11:39 PM
What are you using to generate your gcode? There are basically two options when the gcode is generated for allowing for cutter diameter. One way is for the gcode generator to know the cutter diameter, and it generates gcode that allows for that diameter. So, the cutter path is offset round the outside of a profile, or inside a pocket, by the cutter radius. The other way is that the gcode generator creates a cutter path that is exactly on the line of the object being cut with no allowance for cutter size. What it does do is put some gcode instructions in the file that tells Mach3 (in your case) which side of the line to cut. You then tell Mach3 what the cutter size is, and it applies the offset. The advantage of doing it this way is that you don't have to regenerate the gcode if you change cutter size, or if the cutter is, say, cutting slightly over- or under-size as you can tune this out in Mach3. I use Vectric vCarve and it uses the first method; I have also used the free DXF2GCODE tool and it can do either. Important point is where you put the correction if you are cutting oversize. You say that changing tool size in Mach3 has no effect which implies that you are using the first method, so you need to change the cutter size in HSMexpress (although I don't know that software myself).

Does this make sense?

I'm using HSMexpress, which is a plugin for Autodesk Inventor. It reflects the tool size in the code, so doesn't just provide the lines for Mach3.

The funny thing is that I have this deviation with a 3mm cutter just as with a 6mm cutter... :/

I'll try the tools you mentioned and see if it works better!

Neale
23-02-2014, 11:53 PM
Have you tried changing tool size defined in HSMexpress to see what happens? You mentioned that you had changed tool size in Mach3.

Clem
23-02-2014, 11:56 PM
Have you tried changing tool size defined in HSMexpress to see what happens? You mentioned that you had changed tool size in Mach3.

Yes I have. In Mach 3, the tool size change doesn't affect the cut. Changing the tool size in HSMexpress changes the code accordingly.
But as the deviation from the dimensions is not constant, I can't just define a larger tool - that then messes up other areas if you know what I mean...

Neale
24-02-2014, 11:21 AM
Are the errors the same in x and y on any given piece? Are you cutting a piece out of a larger piece, or just trimming edges? Missed steps would be a classic problem but would tend to give undersize work on external cuts, and probably not be consistent on x and y. Are the cuts comfortably within the capacity of the machine, so it's not a deflection/bending issue? Still thinking out loud here...

Just reread your first post. Are these all internal shapes? Could be missing steps, in that case.

routercnc
24-02-2014, 01:22 PM
Hi Clem,

You haven't mentioned the material you are cutting. You mention 'mill a hole of . . .' so is this aluminium? If so that could be your problem right there - I don't think the 3020 machine will be stiff enough for that.

If it is wood then again machine stiffness could be allowing the cutter to be pulled slightly off track. If you've ever free-hand routed you will know that the cutter wants to pull you off course, especially a profile cut along one edge. Same with CNC machine except it bends the machine slightly.

To check this you can either rig up a spring loaded pen and allow the gcode to 'draw' the shapes on a piece of paper to check the dimensions, or take the lightest possible cut, say 0.1mm into the blank and measure the dimensions. If they are still out as per the random figures above then it is unlikely to be machine stiffness since the loads are zero/low under these conditions.

You are then into checking all the above, missed steps, leadscrew backlash, and more . . .

richie00boy
24-02-2014, 11:09 PM
http://www.readresearch.co.uk/personal/mycncuk/x_tuning.png

http://www.readresearch.co.uk/personal/mycncuk/y_tuning.png

http://www.readresearch.co.uk/personal/mycncuk/z_tuning.png

Also, in Ports & Pins make sure Kernel Speed is 25000Hz.

Clem
25-02-2014, 08:15 PM
Hi Clem,

You haven't mentioned the material you are cutting. You mention 'mill a hole of . . .' so is this aluminium? If so that could be your problem right there - I don't think the 3020 machine will be stiff enough for that.

If it is wood then again machine stiffness could be allowing the cutter to be pulled slightly off track. If you've ever free-hand routed you will know that the cutter wants to pull you off course, especially a profile cut along one edge. Same with CNC machine except it bends the machine slightly.

To check this you can either rig up a spring loaded pen and allow the gcode to 'draw' the shapes on a piece of paper to check the dimensions, or take the lightest possible cut, say 0.1mm into the blank and measure the dimensions. If they are still out as per the random figures above then it is unlikely to be machine stiffness since the loads are zero/low under these conditions.

You are then into checking all the above, missed steps, leadscrew backlash, and more . . .

Right, I believe you identified the problem: not enough machine stiffness!
I'm milling Delrin/Acetal with it and just tested it with a Z cut depth of 0.2mm instead of 1mm.

10mm holes are now less than 0.05mm off the required dimension (instead of 0.3-0.4mm), and 100mm cuts are within 0.1mm or so. That's good enough for me!

Thanks a lot for find the problem for me guys!

Clemens

Neale
25-02-2014, 09:19 PM
Wow - can't manage 1mm cut in acetal. That's an interesting testimonial to the machine...

JAZZCNC
25-02-2014, 10:58 PM
Right, I believe you identified the problem: not enough machine stiffness!
I'm milling Delrin/Acetal with it and just tested it with a Z cut depth of 0.2mm instead of 1mm.

Nah you have some other issue that's causing this. While these machines are rubbish in lots of areas they are stiff enough to cut Acetal at 1mm DOC.

The reason you are not losing position now is the load is less and 0.2mm in plastic is almost like cutting fresh air. You need to find what's causing the lose of steps and the first place I'd look at is the motor tuning.!
Just for testing purposes lower the velocity for each axis by 50% and try cutting again at the 1mm Doc and see what happens.

Edit: Just spotted that the Motor tuning below is not yours so what is your tuning set at.? The figures in the tuning below are about where I would expect for this machine and why I said to only low velocity not acceleration as this is on the low side anyway. If your acceleration is much higher than this then lower that also by 50%.

richie00boy
26-02-2014, 08:33 PM
I have cut anodised alloy at 0.5mm depth with those settings, so I agree with Jazz that you haven't fixed it yet!

Clem
26-02-2014, 10:00 PM
I have cut anodised alloy at 0.5mm depth with those settings, so I agree with Jazz that you haven't fixed it yet!

Yeah after some more testing I agree with you as well... :-/
That wasn't the issue...

I've played around with the motor tuning (speed and acceleration), but it hasn't changed anything.

More testing to be done at the weekend, I guess... :-)