Carving turned into drilling.... :(

I just smoked an $80 block of maple doing a 3D relief map of a local trail. I have no idea what happened–curious to hear if anyone has any ideas. The workpiece was 13” square, 3” thick. All prep work was done in ESTLCAM V12. The model files were generated using USGS DEM files, a script that turned them into STL files, SolidWorks to do the trail trench relief, and then STL export to ESTLCAM to do the gcode setup. QGIS was also involved.

Machining is divided up into 3 phases–roughing cut (1/4” end mill), first finishing cut (1mm ball nose tapered), and second finishing cut (same bit). The plan was to do epoxy fill in between finishing 1 and 2–finishing 1 includes a 3mm deep groove that represents the trail, and finishing 2 would take off the same contours as finishing 1 but 1mm lower and without the groove..

Roughing cut was fine–no issues; took ~18 hours. First finishing cut started out fine. After about 8 hours, I noticed that the cuts were a little rougher (a little bit of fuzz in between adjacent z-levels in some spots) and that the unit was making some cyclic vibrating noises during z-axis movement. The profile was still quite good, however. I figured something needed tightening eventually, but wasn’t concerned since the movement still seemed pretty smooth and I was going to do finishing cut 2 later and could tighten things up to try and remove the vibration before that last pass. I have no idea if this is related to what happened next….

All of a sudden, I hear the sound of major material removal; by the time I make it downstairs, it’s drilled two huge holes in the workpiece and carved a decent sized trench along an axis extending from one hole to the other. See pic below (red line is axis of trench; the curvy trench is supposed to be there–it’s the trail).

I’d done this same process a few weeks ago on the same equipment with an 11” square, 2.75” thick workpiece and using a similar approach (different model files, however–due to aspect ratio, had to change extent of map). No issues and it turned out gorgeous–there’s a photo below of it before I completely finished it.

I checked the gcode that I was using (attached), and I can’t see any odd low points that would cause it to suddenly start drilling straight down. A preview of the gcode shows nothing like these features. It seems like it must be the controller misinterpreting/misexecuting the gcode. But I’m no gcode expert so maybe I missed something.

The mill itself is an MPCNC Primo, but the control board is from ~2020. It started out as a Burly, but I re-printed all the parts as Primo this year and upgraded it. The controller stayed the same and is a Rambo Dual running Marlin 2.0.x (whatever it shipped with–never bothered to update it, I think–maybe that was a mistake). The dual endstops are enabled. It is attached to a V1 “full graphic smart controller (big)”, which has the SD input, display, and scroll dial/selector. I’ve never had it do anything like this before–the issues that I’ve had have usually been when a workpiece breaks free and bounces around the table.

Not sure if the workpiece is salvageable–the lowest point on the map is pretty thin, so even if I plug the holes with dowels and shift it all downward to try and eliminate the trench, I may run out of material at the bottom.

There was one thing that was different between the earlier successful attempt and this one (aside from size). To make the trail trench, I had to import the terrain STL file into SolidWorks and then import the trail DXF file into the same model. The terrain STL was turned into a solid body. I then did a bidirectional offset from the 2D trail path to make a ~1mm wide “trail” outline; this was then used to split the terrain solid model so that the trail portion was able to be moved downward by 3mm relative to the remaining portion to make a terrain-following trench. I then re-joined the trail portion to the terrain portion in the previous successful attempt so that they were one solid part. In the latest version, I didn’t bother to re-join the two portions after moving the trail portion downward since it didn’t seem to matter. But now I’m wondering if there was a stray vertex down at the bottom at the interface between the trail slice and the terrain and that vertex maybe registered as being a feature to machine (and it wasn’t there in the previous one because I joined the two bodies). The preview doesn’t show such movement, however, so I think it’s probably unlikely.

Any thoughts/ideas on what happened? And how to prevent it from happening again?

Cheers,

Christian

PS: Didn’t include the CAD/STL output since they are gargantic.

The casualty….

What the preview looks like of the finishing program (first stage)….

The MPCNC…it’s pretty big, but has worked well until this.

The previous attempt at something similar.

13 in finish 1.zip (2.6 MB)

You should never, ever leave your machine unattended.

You’re lucky the router didn’t start a fire and burn the place down.

4 Likes

That can be fixed easily with wood glue mixed with maple dust. Fill the holes with it, compress it well and you basically won’t see it after the second finishing pass..

2 Likes

I’m glad i didn’t have to say it :relieved_face: :face_with_tongue:

Those are some very long cut times though.

I do normally stay in the garage with the mill when I’m cutting, but relief carving takes a very long time, as Tim noted. Staying with it through all of an 18-hour job isn’t very realistic. My compromise is to remain in earshot and check it in person periodically. There’s also a smart smoke detector positioned directly above the MPCNC on the off chance that something does start to smoke/burn. And the firehouse is literally 1.5 blocks away.

I’ve never tried it, but I guess I could tile the job in ESTLCAM and do it in quadrants to make it more manageable/amenable to staying with it. Something to explore, I guess, in the interests of safety.

Setting aside my Slim Picken’s approach to risk management, if anyone does have any ideas on what caused this behavior to occur, I’d really appreciate feedback in that regard.

There are two other data points that I didn’t think were relevant when I initially posted but now think might be:

a) We are relatively recent adopters of a PV system with PowerWalls and do route power back into the grid when we have excess power.

b) The MPCNC did, several hours earlier, stop milling and enter a pause state. I have no idea why. I selected resume print, and it picked right up where it left off and seemed fine. The drilling fiasco happened hours after that.

I’m curious if maybe the PV system caused some sort of small power fluctuation when grid power switched from inbound to outbound that may have caused the controller to malfunction/lose its coordinate frame but not cause the controller to reset/stop. The MPCNC is not on a UPS, so it might be susceptible to something like that. The gcode largely consists of long passes that follow contour lines, but on almost every milling layer, there were also multiple instances where there were little “islands” of lower elevation in the previous layer, so it would frequently do lots of return-to-clearance-plane, high-speed XY reposition, extend to current layer depth, and move less than a millimeter operations in each layer. These were often scattered all over the place. If Z-axis coordinate frame was lost/reset and shifted downward an inch or so, then it is entirely possible that these two holes are two of these “islands” and the XY reposition between them is the “trench.”

1 Like

I understand that carve workflows can be a time-intensive activity.
I still encourage you to not leave your machine unattended as in don’t leave the room.
You might be able to break you work into segments that let you get time to do other things between job segments.

The bummer is we don’t have a log of what the machine was doing.
For really long jobs, it might be worthwhile to get fluidterm to log it.

You know, having a web socket log output of those log messages would be a really good feature request to add to FluidNC. Maybe this is something one of our experts like @jeyeager could facilitate…

A power glitch is a credible scenario, but most grid tied PV inverters don’t produce transients that would cause this. I wouldn’t rule out a power gltch, though.

1 Like

If you have the WebUI running, it will show those in the terminal. The problem is, if the controller crashes, those details will never get pushed through the websocket.

Ahh, but if the job log from FluidNC were being spit out with line numbers, you’d know to within a few lines of where it crashed.

Could be a simple socket output, screen or netcat or whatever could be a lightweight viewer/logger

quote="MakerJim, post:6, topic:54191"

A power glitch is a credible scenario, but most grid tied PV inverters don’t produce transients that would cause this. I wouldn’t rule out a power gltch, though

/quote

Adult beverage coolers do though :shaking_face:

2 Likes