Z Axis Runaway (help solve my mystery)

I’ve been using the Onefinity CNC for about 1 year now and this is the first time that anything like this has happened to me. While cutting a project today, I had the z-axis continue to cut down through the project and into the waste board. Common sense would dictate that I told the machine to do that - so i’m hoping you can help me solve the mystery on what I did incorrectly - or if there is something more sinister afoot.

Before we get too far into the story (I tried to include as much information as possible… strap in, it’s a bit of a read), here is a little bit of background:

  • Onefinity Wordworker
  • Vectric VCarve Pro
  • Makita Router
  • 1/4 Amana Upcut bit, 120 inch/min

So, first off - for those of you using VCarve, here is my Vcarve file. 3Round.crv (2.5 MB) Take a look, poke around - see if anything is “off”

For those of you using other software, here are some of the screen shots of the project. The wood was 0.675" thick.

In that project, I have a profile pass to cut an outline around the project at a depth of 0.68" thick. This will (intentionally) go 0.005 into the waste board.

ProfilePass

Each of the 3 passes were broken up as such (confirmed in the GCode posted below). With the final depth of cut at 0.68" as seen at both the top of the “Specify Pass Depths” image and “2d Profile Pass” image.

Using that information, I created 3 tool paths (as seen in the VCarve file.

  • Profile Pass
  • Roughing Tool Pass
  • Finishing Tool Pass

Unfortunately, I didn’t get pass the profile pass before wrecking my router and creating a hole in my table.


In theory, the machine only does what it is told to do - so lets talk Gcode (full file if you want to follow along):
3Round_1-outline_UPEM_0.25.ngc (18.4 KB). Here are the most pertinent parts -

Part 1 - the Setup

  • GCode sets the correct plane and tells the machine it should be in inches. Verifies that the spindle is up to speed with the on screen button.
  • From there, you see it set F50.0 (50 inch/m), drop from Z= 0 to Z= -0.2267 and sets F120.0
%
(VECTRIC POST REVISION)
(14915DE88D57FEB54FDB7F235745EEBE)
T105
G0 G17 G20 G90 G40 G49 G64 P0.0001
G0Z0.2500
G0X0.0000Y0.0000
M3 S18000
M0(MSG, Click 'Continue' when the spindle is up to speed)
G0X0.7542Y0.6107Z0.2000
G1Z0.0000F50.0
G1X0.7288Y0.6417Z-0.0182
G1X0.7043Y0.6732Z-0.0363
G1X0.6805Y0.7053Z-0.0544
G1X0.6576Y0.7380Z-0.0725
G1X0.6355Y0.7712Z-0.0905
G1X0.6143Y0.8049Z-0.1086
G1X0.5939Y0.8391Z-0.1267
G1X0.5744Y0.8739Z-0.1447
G1X0.5557Y0.9091Z-0.1628
G1X0.5379Y0.9448Z-0.1809
G1X0.5210Y0.9810Z-0.1990
G1X0.5049Y1.0176Z-0.2171
G1X0.4970Y1.0371Z-0.2267
G1X0.4898Y1.0547Z-0.2267F120.0

...

Part 2 - the calm before the storm

  • First round pass completes without any issue.
  • Next, you see it slow down to 50in/m as it does its next drop from Z=-0.2353 to Z= -0.4533 and then speeds back up to 120 inch/min
...
G1X0.4970Y1.0371
G1X0.4898Y1.0547Z-0.2353F50.0
G1X0.4755Y1.0922Z-0.2535
G1X0.4621Y1.1302Z-0.2718
G1X0.4496Y1.1686Z-0.2900
G1X0.4380Y1.2073Z-0.3084
G1X0.4273Y1.2465Z-0.3268
G1X0.4176Y1.2860Z-0.3452
G1X0.4087Y1.3259Z-0.3638
G1X0.4008Y1.3662Z-0.3824
G1X0.3938Y1.4068Z-0.4011
G1X0.3877Y1.4477Z-0.4198
G1X0.3826Y1.4883Z-0.4384
G1X0.3789Y1.5211Z-0.4533
G1X0.3767Y1.5406Z-0.4533F120.0
G1X0.3768Y1.7683
...

Part 3 - where it all goes south…

  • In theory, the Gcode is telling it to now slow down to 50in/m, go from Z-0.4622 to Z-0.6800, and then speed back up to 120.0 in/m and then continue the cut. However, it continues to decrease at a constant Z level until it cuts the spoil board and runs into the aluminum t-track.
  • BUT, notice that the Gcode tells it to only go down to Z-0.6800 - and I don’t know why it kept going negative Z.
...
G1X0.3789Y1.5211
G1X0.3767Y1.5406Z-0.4622F50.0
G1X0.3768Y1.7683Z-0.5655
G1X0.3847Y1.8331Z-0.5951
G1X0.3938Y1.8979Z-0.6247
G1X0.4053Y1.9628Z-0.6546
G1X0.4172Y2.0176Z-0.6800
G1X0.4192Y2.0267F120.0
G1X0.4355Y2.0896
...

Here is the aftermath in all it’s glory… After pulling the project up and inspecting the damage. You can see that it completed the first two passes without any issues.

Looking at the continuation of Z-Axis decline…

You can see how as it started ramping down near the X/Y=0 point, it continues to ramp down through the spoil board and into the aluminum t-track. At 120in/m it was through the spoil board and into the t-track only a couple of seconds. Upon hitting the t-track, it stalls the router (and burns out the brushes) and ruins the 1/4 bit.

Ok… so, router, bit, and spoil board destruction aside, what I am trying to figure out is what happened so that I don’t do it again.

To get a couple questions / answer addressed upfront:

  • I’m not a G-Code expert, but it doesn’t look like the Gcode was telling the CNC to continue to drop below Z-0.6800.
  • I’ve run dozens of projects like this using V-Carve to create Gcode and this is the first time I’ve had this happen.
  • This is the only copy of Gcode I created, there are no additional Gcodes to have run a file that had incorrect parameters
  • No, and I hope this is obvious, but I didn’t destroy my spoil board on purpose
  • After the crash, I ran the exact same file again (to ensure it wasn’t a Gcode file issue) without a bit in it without restarting the machine. It did not have the same issue, it performed normally.

Any ideas what went wrong? Anything I can do different in the future? VCarve Bug? Onefininty Bug? User error? I’m open to anything and I appreciate you reading through this and offering any assistance!

Hey Dean,

yet I did not have a look at your g-code because the most usual source of errors like this, especially suddenly after a longer successful use of the machine, is a cable/connector problem, e.g. like here.

If the current was interrupted at the Z stepper, an upcut bit would drill its way down.

To try to track it down, you should re-run the program with ‘milling air’, i.e. without a bit in the router, and check if the Z behaves correctly or if you can reproduce the error.

PS: I assume you clamped the bit firmly with the two wrenches (not the red button and one wrench)

Welcome to the forum!

Hey Aiph5u, thanks for taking a minute to look at my issue. Similar to the “What the heck happened” issue that you linked, it’s possible that it could be a cable/connector issue? Just like my problem, his issue exhibited z-axis behavior that was not programed in the gcode. For his circumstance, I believe it was solved by replacing the z-cable.

However, his was a brand new machine and the cable was replaced for being faulty - I’ve been running this machine quite a bit over the last year and this is the first time it has happened.

But I wanted to make sure to answer your questions as well:

  • you should re-run the program with ‘milling air’ - Yep, I completed that after the crash without any additional error. I’m quite positive it was not a Gcode issue, rather a onefinity /cable? / stepper motor? issue. I was not able to reproduce the issue using the same gcode without restarting the machine.
  • clamped the bit firmly with the two wrenches Yep, it was tight and the bit didn’t slip up/down during the cut.

Maybe it’s just a cable that went bad? Hopefully it’s not a bigger issue as two machines have done nearly identical things? Hopefully I can figure out how to prevent it from happening again! :laughing:

Thanks for the welcome!

p.s. in the “What the heck happened” thread, there was a comment about shielded cables and “trying to cut too deep/too fast are all possible causes.” I was running the 1F faster than I normal do (120 in/min). Not sure if that contributed to it. If that’s the case, it’s odd it make it through the first two layers without an issue and decided to go awry about 75% of the way (60 seconds into the 75 second) through the cut.

p.p.s Reading through your comment again, interesting thought on the upcut bit. I was running upcut, so if the z-motor lost signal, it could have been what pulled it down. Guess next step is to inspect the wiring.

Hey Dean,

I would try to reproduce it multiple times, with ‘milling air’.

Your g-code does not look to me as the source of the issue. A grep -n Z 3Round_1-outline_UPEM_0.25.ngc gives:

~$ grep -n Z 3Round_1-outline_UPEM_0.25.ngc
6:G0Z0.2500
10:G0X0.7542Y0.6107Z0.2000
11:G1Z0.0000F50.0
12:G1X0.7288Y0.6417Z-0.0182
13:G1X0.7043Y0.6732Z-0.0363
14:G1X0.6805Y0.7053Z-0.0544
15:G1X0.6576Y0.7380Z-0.0725
16:G1X0.6355Y0.7712Z-0.0905
17:G1X0.6143Y0.8049Z-0.1086
18:G1X0.5939Y0.8391Z-0.1267
19:G1X0.5744Y0.8739Z-0.1447
20:G1X0.5557Y0.9091Z-0.1628
21:G1X0.5379Y0.9448Z-0.1809
22:G1X0.5210Y0.9810Z-0.1990
23:G1X0.5049Y1.0176Z-0.2171
24:G1X0.4970Y1.0371Z-0.2267
25:G1X0.4898Y1.0547Z-0.2267F120.0
353:G1X0.4898Y1.0547Z-0.2353F50.0
354:G1X0.4755Y1.0922Z-0.2535
355:G1X0.4621Y1.1302Z-0.2718
356:G1X0.4496Y1.1686Z-0.2900
357:G1X0.4380Y1.2073Z-0.3084
358:G1X0.4273Y1.2465Z-0.3268
359:G1X0.4176Y1.2860Z-0.3452
360:G1X0.4087Y1.3259Z-0.3638
361:G1X0.4008Y1.3662Z-0.3824
362:G1X0.3938Y1.4068Z-0.4011
363:G1X0.3877Y1.4477Z-0.4198
364:G1X0.3826Y1.4883Z-0.4384
365:G1X0.3789Y1.5211Z-0.4533
366:G1X0.3767Y1.5406Z-0.4533F120.0
694:G1X0.3767Y1.5406Z-0.4622F50.0
695:G1X0.3768Y1.7683Z-0.5655
696:G1X0.3847Y1.8331Z-0.5951
697:G1X0.3938Y1.8979Z-0.6247
698:G1X0.4053Y1.9628Z-0.6546
699:G1X0.4172Y2.0176Z-0.6800
1028:G0Z0.2000
1030:G0Z0.2500
~$ grep G91 3Round_1-outline_UPEM_0.25.ngc

(result: nothing, no incremental distance mode)

~$ grep G90 3Round_1-outline_UPEM_0.25.ngc
G0 G17 G20 G90 G40 G49 G64 P0.0001

PS: You could also check point 4) (ball screw coupler) as described in this FAQ document. If the Z axis’ ball screw coupler slips, this could be an error that could appear under load and not when milling air.

Awesome - I appreciate you giving me some things to try. I’ll give those a shot and see if I notice anything abnormal happening. Plus, it gives me a good reason to give the machine a once-over and make sure everything is clean and tight.

I’ll report back once I get a chance to do all of that!

Hey Dean,

I’m just telling what comes to my mind :slight_smile:

Good luck!

1 Like

Hey Dean,

Were you able to find the cause of this error? I’m sure the forum visitors who find this thread with a search will want to know… :slight_smile:

Hey Dean,

I’m actually one of the visitors whos having a similar issue - any luck finding the cause? Thinking mine could be EMI noise related issues, going to try to run the router on a different circuit but wanted to see if there was something else i should look for. After i ran into the issue during a cut, I used the joypad and the Z would move up if i pressed down and did weird things. Weird because I havent had any issues for the last 6 months. Let me know if you found what caused yours so I can look out for it when i troubleshoot later.

Any time a axis move the opposite way than told to, it’s 100% a wire/connection issue:

1 Like