Proximity sensor for mapping work area of CNC

I’ve build mpcnc and I mainly use it for hobby or small project. I’ve prepared raw stock and then I leave rest for CNC. I would like to cut more then one piece at the same time but this requires quite precise postioning of objects.
I wonder if anyone consider using some proximity technolog to detect stock inside work area and then somehow mapping it to required gcode.
I’ve wonder if placing some VCSEL (like VL6180) on the bottom of tool core will not allow me to precisely map the stock.
Do you think this idea is worth exploring? Am I missing something obvious here?

Use the CNC itself to cut a positioning fixture, then as you load in each piece it should be positioned very well.

Something like this typically uses a software package to go with it. We don;t have anything like that.

We do use touch probes and they are extremely effective for the <$10 price tag.

1 Like

I’ve seen the kind of thing you are asking about implemented on some laser engravers/cutters. I believe it is implemented through cameras and vision recognition. Based on watching user videos, the camera software also detects stock rotation.

Nothing like this exists in Marlin. It might be possible to add this kind of functionality using a separate microcontroller, but I expect this would be a significant slog to get it working.

What you can do is think of the problem in reverse. For 99.9% of the people using V1 machines, cutting (and therefore the g-code) is relative to a stock point. Usually either the bottom left corner, or the center of the stock is used. As long as you can mount your stock on the spoilboard at the same place in machine coordinates each run with the stock aligned with the machine, you can repeatably use the same g-code.

Fixtures as mentioned by Ryan is one solution. I use fixtures frequently when using the laser on my machine. Another solution is to use aligned pegs. I’ve used my CNC to create peg holes in a horizontal and vertical row. When I push the stock up against the pegs, the coordinate of the bottom left corner of my stock is repeatably the same, and I’m assured the stock is aligned with the machine. I can easily pull the pegs out after the stock is mounted to avoid any collision between the pegs and the router.

I assume you are using a table saw to cut out your stock. Another solution is to have your CNC work on multiple pieces on a larger piece of stock. You can have your CNC score the cut lines. As long as the stock is aligned with the machine, you should be able to accurately cut out your pieces on the table saw using the scored lines.

Maybe it’ll be a feature of the new lightburn for cnc - overhead camera stock detection.

I dub this imaginary software SpinCut…

You are right that adding such technology for stock positioning will not fly. Other thing that I was thinking of was processing of raw lumber but still as you pointed out the amount of technical work for it can be overwhelming for now.
And in this case maybe going with vision and all fancy stuff should be easier and more future proof.

1 Like

Since CNC is a pretty mature industrial technology, almost any “problem” we run up against in the hobby CNC world has already been solved in the big production shops, and a lot of times the solution gets folded into the gcode standard.

@robertbu’s solution above assumes you mount a series of single workpiece blanks in a set location and re-run the gcode for each one. “Work coordinate systems” allow reuse of the same gcode multiple times on a single blank large enough for several instances of the same part. You use a G92 X0 Y0 Z0 at the beginning of the first part to locate it on the blank, then when that part is done you shift to the new origin and send another G92 X0 Y0 (I’d leave Z0 off the re-origin command if the Z height doesn’t need to change) then run the same gcode commands again and it makes the same cuts relative to the newly reset origin. Repeat until you’ve used all the available space on your blank. Now, there’s no intelligence here to figure out how many pieces you can get from the stock, that’s the CNC programmer’s job.

I know that placement and nesting tools are available for CAM packages to help organize parts on a blank, and to fit small parts into spaces in big parts, but I’ve never used one so can’t provide guidance on their relative strengths and weaknesses.