Mach3 movement on CNC is driving me mad!

UKworkshop.co.uk

Help Support UKworkshop.co.uk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Arckivio

Established Member
Joined
13 Oct 2013
Messages
58
Reaction score
2
Location
Hoddesdon
I built my CNC a few years back & has done quite a bit of work. It only uses one motor for the Y and it runs on "U" bearings running on 12mm diameter st/steel rod. It actually ended up being a lot stronger than I thought it would & it was the cheapest option. I recently started buying wood clock & kinetic wall art plans. At the start of this saga, any part I made would have a slightly small hole but the outside would be 0.3mm oversize. I would just reduce the outer size only in aspire 9 & drill out the holes to the correct size.
I built a few clocks using this method but then decided to try & fix it. I mucked about with steps per mm in mach3 but holes were small & outer was oversized so not really fixable using mach3 settings. I decided to add a second motor to my Y in case the issue was the U bearings & it was causing some twist. Motor added & breakout board changed because I didn't know the A input wasn't working. I've always used cheap, generis boards. I thought everything had gone well. I slaved the motor & set steps per mm using an 850mm linear scale by Moore & Wright, I can get the X & Y accurate to 0.1mm. I have used up to 700mm of travel to set steps with the linear scale clamped in place.
The first gear I tried was 27.9 mm outer diameter with a 6.3mm hole & the gear teeth are 3.1mm max width. What I ended up with was 27.3 outer, 6.3mm hole & the gear teeth were 2.5mm wide. I checked loads of things that I might have changed by mistake & nothing seemed amiss, I also trammed the spindle just in case. Today I ran 25mm discs, 0.7 low on the Y & 0.5mm on the X. I started moving the axis using the steps per mm page by 100mm & just telling mach3 that it hadn't moved enough by the amount I was down on size. I even had to do this multiple times to get a 25mm dia disc. I then checked just how much out my machine was using the steps per mm setting & the linear scale & to get the 25mm disc now means that the X, for example moves 305mm when told to move 300mm!!! I did get a 25mm disc though so I tried to run the gear again. This time I was inly 0.1 down on the outer diameter but the gear teeth had not changed & were still 0.5mm thin!!! This has confused the hell out of me & I am in the mood to 🥵 I did try to increase the size in aspire & this worked for the outer diameter but the teeth were still 0.5mm under!!!! I am starting to wonder if my cheap boards are to blame. Could they be misinterpreting more complex signals? In a straight line using the linear scale it is perfect but the more complex movement for a gear is confusing it? I really can't work this out so if anyone out there has any ideas to put me out of my misery please share. Thanks to all that have a go at this one!
 
Last edited by a moderator:
Is the control system open or closed loop, I suspect it is open because it allows these errors otherwise it would correct and always achive setpoint.
 
Small hole, outside oversized... sure you're not using a 6mm bit but telling the CAM software it's 6.35mm (1/4")?
 
Small hole, outside oversized... sure you're not using a 6mm bit but telling the CAM software it's 6.35mm (1/4")?
No, using 1.5mm router bits that I've always used. I suppose it's never been right but it is more wrong now & it's just confusing
 
Is the control system open or closed loop, I suspect it is open because it allows these errors otherwise it would correct and always achive setpoint.
Open loop. I know it's not the most accurate but my issue just seems to be weird that I have to underrate the steps per mm in one setting to get a part that is only correct in certain areas
 
I use different software, but, whilst i use the same tool for internal finishing as i do for external work, i have the tool diameters set differently in the software.

Again, same tool, but i get very slightly different finished dimensions according to how the tool is run. This isnt an error, but more a function of how i drive the cutter for different jobs, and hence i compensate for this by programming diameters that i know to be incorrect to give the dimensions that i want at the end of the job.
 
I use different software, but, whilst i use the same tool for internal finishing as i do for external work, i have the tool diameters set differently in the software.

Again, same tool, but i get very slightly different finished dimensions according to how the tool is run. This isnt an error, but more a function of how i drive the cutter for different jobs, and hence i compensate for this by programming diameters that i know to be incorrect to give the dimensions that i want at the end of the job.
I think I understand what you do & I could probably do this as far as internal holes are concerned but the thing i don't understand about my problem is the gear teeth still being undersized on the width even though everything else is now not too bad. I don't think I could fix that in cam software settings.
 
What you need is feedback so you tell the cutter what you want, ie a setpoint and it delivers based on positional feedback. Often refered to as three term controllers they are proportional, integral and derivitive. This means the control is proportional to the error, dependant on both the change in the error over time and to the rate of it's change.
 
What you need is feedback so you tell the cutter what you want, ie a setpoint and it delivers based on positional feedback. Often refered to as three term controllers they are proportional, integral and derivitive. This means the control is proportional to the error, dependant on both the change in the error over time and to the rate of it's change.
I'm a hobbyist & while I appreciate your expertise, I don't have any of the above so trying to fix what I do have. There's obviously an issue with my particular setup now that I can fix in one area but not in another. It is also a new issue as it worked better before the addition of the new motor & breakout board. What would make mach3's steps per mm be completely different in the settings mode compared to actually running a part?
 
Are you using an inherited system?

Mach has so very many settings that a previous user may have added somthing and it be hidden away somewhere.

Ultimately with a clean install, Mach doesn't care about inside or outside. It just follows the string of coordinates in the gcode file. Indeed, I said above "doesn't care" but "doesn't know" would be more accurate. It's just a string of "go here" then "go here" and that's it.

A clean install and there is no offset information or anything. All that will be set in whatever you use to create the gcode.

The computer connected to my CNC machine knows nothing at all, apart from the essential information. All the offsets etc are written to the code on another computer entirely.

What I mean is, it's just positioning the tool. It has no idea if it's the outside or inside of a shape.

If your setup ends up the same then there's something else going on, as, as above, Mach won't have a clue if it's working on the inside or outside of the shape.
 
Ps I don't believe you need feedback for wood cutting.

I can leave the machine running for days and loose no steps on standard stepper motors. Sure if you drive it beyond what it's capable of, then there will be errors, but this isn't going to show up in the way you are describing at all.
 
Are you using an inherited system?

Mach has so very many settings that a previous user may have added somthing and it be hidden away somewhere.

Ultimately with a clean install, Mach doesn't care about inside or outside. It just follows the string of coordinates in the gcode file. Indeed, I said above "doesn't care" but "doesn't know" would be more accurate. It's just a string of "go here" then "go here" and that's it.

A clean install and there is no offset information or anything. All that will be set in whatever you use to create the gcode.

The computer connected to my CNC machine knows nothing at all, apart from the essential information. All the offsets etc are written to the code on another computer entirely.

What I mean is, it's just positioning the tool. It has no idea if it's the outside or inside of a shape.

If your setup ends up the same then there's something else going on, as, as above, Mach won't have a clue if it's working on the inside or outside of the shape.
Yes I understand that Mach3 just follows the cam software. I have got Artcam as well as aspire so I may try that. I also have a spare breakout board that I could try. I just thought this might be an issue that others are aware of that I wasn't
 
No, using 1.5mm router bits that I've always used. I suppose it's never been right but it is more wrong now & it's just confusing
1.5mm strikes me as a pretty small diameter for milling holes (other than pecked because they need to be ~1.5mm dia) or cutting the outside of shapes; though for clock parts I guess you need intricate shapes. Bit deflection may well be an issue with such a small diameter cutter.

As far as I understand, all cuts you're doing are effectively not quite cutting enough material (internal holes undersized, external parts oversized). One possible fix may be to run a finishing pass; whereby you set up your CAM software to leave parts oversized by some small amount, then run a second finishing pass. Alternatively, you could simply run your current job(s) twice and see if it takes a bit more material the second time; if so, the first pass is likely cutting oversized due to bit deflection.

What sort of feeds and speeds are you running (IPM, rpm, depth of cut)?

PS I'm inclined to agree with julianf about feedback; you'd probably need really weedy steppers to push them into missing steps when using a 1.5mm bit in wood (you'd be more likely to snap the bit first).
 
1.5mm strikes me as a pretty small diameter for milling holes (other than pecked because they need to be ~1.5mm dia) or cutting the outside of shapes; though for clock parts I guess you need intricate shapes. Bit deflection may well be an issue with such a small diameter cutter.

As far as I understand, all cuts you're doing are effectively not quite cutting enough material (internal holes undersized, external parts oversized). One possible fix may be to run a finishing pass; whereby you set up your CAM software to leave parts oversized by some small amount, then run a second finishing pass. Alternatively, you could simply run your current job(s) twice and see if it takes a bit more material the second time; if so, the first pass is likely cutting oversized due to bit deflection.

What sort of feeds and speeds are you running (IPM, rpm, depth of cut)?

PS I'm inclined to agree with julianf about feedback; you'd probably need really weedy steppers to push them into missing steps when using a 1.5mm bit in wood (you'd be more likely to snap the bit first).
Actually, what you've described is what I had before the motor & board & change, now my holes are perfect but parts undersized. I thought about cutter deflection initially & used larger cutters for test cuts but the result was the same. To get this machine to cut a 25mm disc accurately, I had to change the steps per mm so it was moving 305mm when told to move 300. An extra 5mm of movement over 300mm of so the disc would be 25mm in the Y instead in 24.3??? It's all very odd. I thought this might be one of those issues that others might be aware of but I'm starting to think my cheap breakout board is confused!!!
 
Actually, what you've described is what I had before the motor & board & change, now my holes are perfect but parts undersized. I thought about cutter deflection initially & used larger cutters for test cuts but the result was the same. To get this machine to cut a 25mm disc accurately, I had to change the steps per mm so it was moving 305mm when told to move 300. An extra 5mm of movement over 300mm of so the disc would be 25mm in the Y instead in 24.3??? It's all very odd. I thought this might be one of those issues that others might be aware of but I'm starting to think my cheap breakout board is confused!!!
When you say "holes are perfect" do you mean >1.5mm diameter holes that are routed out with the 1.5mm bit, or do you mean 1.5mm holes peck drilled with the 1.5mm bit?

The reason I ask is that the machine itself doesn't care whether it's doing an inside or outside cut; so any scaling problems should affect everything equally. It'll be harder to spot on small features obviously (e.g. a 10mm hole, vs a 300mm externally cut part).

One other thought; how are the axes driven (ballscrews, threaded rod, belt etc)? Backlash may be causing problems if you're not using good quality ballscrews.
 
When you say "holes are perfect" do you mean >1.5mm diameter holes that are routed out with the 1.5mm bit, or do you mean 1.5mm holes peck drilled with the 1.5mm bit?

The reason I ask is that the machine itself doesn't care whether it's doing an inside or outside cut; so any scaling problems should affect everything equally. It'll be harder to spot on small features obviously (e.g. a 10mm hole, vs a 300mm externally cut part).

One other thought; how are the axes driven (ballscrews, threaded rod, belt etc)? Backlash may be causing problems if you're not using good quality ballscrews.
On this particular gear, the hole is 6.3mm diameter & the max diameter of the gear is 17.9mm using a 1.5mm bit but I also cut this with a 1/8" bit & the result is the same. The 300m I'm talking about isn't a cut, it's using the mach3 steps per mm setting page. I can set up the machine axis to move accurately with no backlash when just setting but the the part is small, especially the width of the gear teeth.
 
Thinking 'outside the box' - are you absolutely sure that the bit is really cutting to 'size' ? ie. You may have what is ostensibly a 1.5mm end mill but is is being held accurately and running true in the collet ? I use end mills/burrs as small as 0.6mm but regularly 1.0, 1.5 & 2mm and at these sizes a discrepancy of even 0.1mm will make a big difference which needs to be compensated for.

In your position I would do some test holes -- after first removing any modifications in the steps per mm settings -- set up (say) 6, 9 & 12mm holes to be cut with a 1/8" bit (3.175mm) using a Spiral Mill MOP, making sure that the 'Tool Diameter' setting is 3.175mm and that there is a zero roughing clearance ...... I've just realized that I'm assuming that you are using CamBam to generate your G-Code, if that's not the case then you may need help which I can't provide :( - Essentially though, what I'm suggesting is that is sounds as though your tool diameter is incorrect or that your collet/tool holder isn't running true.

You could also try a Profile MOP (inside) rather than a Spiral Mill MOP -- this may be another issue which you haven't yet (as far as I can see) mentioned, you'll obviously be using a Profile MOP for the gear teeth but could be using a Spiral Mill or Profile MOP for the hole. Which may account for the hole being good but the profile bad. There are still many 'unknowns' which makes suggestions for correction difficult.
 
Last edited:
Thinking 'outside the box' - are you absolutely sure that the bit is really cutting to 'size' ? ie. You may have what is ostensibly a 1.5mm end mill but is is being held accurately and running true in the collet ? I use end mills/burrs as small as 0.6mm but regularly 1.0, 1.5 & 2mm and at these sizes a discrepancy of even 0.1mm will make a big difference which needs to be compensated for.

In your position I would do some test holes -- after first removing any modifications in the steps per mm settings -- set up (say) 6, 9 & 12mm holes to be cut with a 1/8" bit (3.175mm) using a Spiral Mill MOP, making sure that the 'Tool Diameter' setting is 3.175mm and that there is a zero roughing clearance ...... I've just realized that I'm assuming that you are using CamBam to generate your G-Code, if that's not the case then you may need help which I can't provide :( - Essentially though, what I'm suggesting is that is sounds as though your tool diameter is incorrect or that your collet/tool holder isn't running true.
My spindle certainly seems to be running true as I tested it when I first installed it with larger bits. It is quite new as the thread locked up on my previous one. You noticed from my previous comments that I had to compensate by setting the steps completely wrong to make the part the correct size, What is really confusing me is that I ended up with a correct inner hole, correct outer maximum diameter of the gear but the teeth width was still undersized!!! I can't get my head round how that is even possible!!! This same spindle & collet made an undersize hole but a slightly large outer but the gear teeth were Ok before the new motors & board change. I've even fiddled with constant velocity settings in mach3 as i know that getting these wrong can make it cut corners so I wondered if it was direction change that was messing up sizes. Maybe I should investigate that more. I would explain why it's nearly perfect when setting steps per mm but not when running a part.
 
A couple of things to check, I don't know if this is what you are doing but, when you are setting the "steps per" in Mach3 press alt 6 then go down to "set steps per unit" pick an axis enter a figure to move then measure how far it moved enter that figure press accept you should find it moves correct, do same for other axis.
Aspire: make sure you do not have any offsets setup, on centre hole use a "Profile cut", set your cutter pass depth to 0.125, set depth of cut (your work) say 1mm, select 6mm hole vector "Inside Left" select "add ramps to tool path" "Spiral", name and calculate.
Do same for outside teeth, only change "Outside / Right" select "add ramps to tool path" "Spiral", name and calculate.

When using a Profile cut if you make the pass depth of cutter small and chose ramp spiral it will make a super steady cut all the way through but don't forget to add "Tabs" or screw the part down well.

Test cut: if still not cutting correct you need to look at mechanical is there any play on ball screw, nut, motor connector.
 
I am doing exactly as your first step describes & the movement is repeatable to within 0.1mm or spot on. I did look at aspire settings & nothing seemed wrong but I will certainly try different cutting profiles. I have rarely separated inner & outer when creating Gcode as aspire will just cut the inner as an inside cut & the outer as outside but it's worth a go to try them separate.
 
Back
Top