Bilinear bed leveling

Hi everyone,

‘Finished’ my first MPCNC build recently and have been playing with it and testing limitations. One thing I am curious about it bed leveling with Marlin.

I use it on my 3d printer and it is indispensable in that case. I know Ryan has suggested it’s not really required for subtractive work like a CNC mill, but I would like to get it working.

So I’ve gotten my touch probe to function fine with homing the Z axis. However, with G29 commands I seem to get a “Error: Probing Failed” message after the router tip touches the plate on the first point and the function stops.

I can upload my Marlin configurations, cause I really can’t see the issue. I’ve gone through it line by line between the Rambo Dual Endstop firmware and the version of Marlin on my 3d printer.

Schmorrison

Does it look right with M119?

I have wanted to try this, but I would rather it probe a specific area on the top of the workpiece, not the whole spoil board.

Yeah, M119 shows triggered for the z-min when the router bit is touching the touch plate, open when not touching.

The exact command I am using is: G29 P3 L10 R110 F10 B110 V4 which should probe a 3x3 grid within the bounding box [10,10], [110,110]. And it arrives to the first point exactly where it should, but then the terminal shows the error described. I do have verbose debugging on and it doesn’t seem to change the gcode terminal logging at all.

I have been thinking a bit about bed levelling as well.

On mpcnc there is no easy way to make sure everything is in parallel to the work table. I used a stack of Lego Duplo in the corners to adjust height, turned out I bottomed 1 corner-pipe so I had to raise the others ever so little. Still it turns out not very even if I put a dial gauge on the tool-holder so back to fine tuning corners that has no fine tuning other than loosen a clamp, raise or lower and retighten again. I know there are threaded add-ons on thingiverse that does the trick)…

That means adjusting height is as easy as turn a nut…

So what else?

Milling the entire bed surface to make sure it is parallel is not an option as it indicates your machine is off.

In comes sensors like bed levelling and I might give BLtouch a go…

I’m not sure what you mean. Plenty of people do this (surface the spoil board) and it is very common in cnc.

I am not sure what is going on with G29. I didn’t realize it had the option to do a small area. Which bed levelling do you have on in the firmware? Bilinear?

Yeah I have bilinear, fixed mounted probe, setup in the firmware. Going through it just now I noticed that while I have DEBUG_LEVELING_FEATURE defined, the comment above it shows to turn it on I must issue M111 S32 which I never did. Thats the next thing i’ll try.

I use bed levelling a lot… I have an open issue on the marlin firmware… probing fails if your stock height is higher than your z endstop. There is a sanity check that fails if the two don’t match up. There is a line of code I had to comment out to get it working.

2 Likes

Thanks Greg, that is genius. I’ll definitely try that when I get to the shop on Monday. I knew it had to be something like that, I tried alot of the variables that related to Z endstops because I knew it was something related to it.

Solution pending trial!

Edit: I also wonder what will happen if I zero my Z way up high, then probe the stock?

That it is a temporary solution that has to be applied over and over when you replace your spoilboard. The proper way to fix it is to make sure your machine is parallel to the desk/work surface even if you replace the spoilboard.

I measured mine with a dial-gauge 0,001mm and it is now as good as it gets.

2 Likes

I made the change to the firmware as suggested, I didn’t see that there are in fact two places I need to comment that line in probe.cpp. works flawlessly now.

0.001mm? WOW. Is that some kind of laser guided atomic powered dial indicator?

1 Like

LOL - No but it is definitely an overkill in this case. I borrowed it from work.

A regular dial gauge would be enough with 0,01mm and it is still very tricky to adjust MPCNC to be as close as possible due to leg design. I used some straight angular pieces made for measurements in the end. Without any fine-tuning on legs up/down you must rely on something to put between table and tubes, then clamp and pray. My last try was made with a gentle tap from a rubber mallet :smiley:

I got my low rider level within 0.02mm but then I found I still needed to bed level when cutting rabbets since even a small gap shows up and if you miss one little wood chip on your spoil board or if there is swelling with humidity or if you clamp the edge of the board too hard your cut is ruined unless you bed leveled. I just do a 9 point level on just the area I am cutting by slipping a probe into the mill bit it’s very fast.

Sounds nice.

I’m not nearly as picky as you guys. If my material is uneven, I’ll let the software compensate. If I need to cheat the tool path up or down a little, w/e. And I don’t mind spoiling my spoil board.

Though I do understand the desire for things to be “just right” :100:

A lot of people say that it is just fine to mill the spoil board surface. But in my opinion that does not compansate for the sag of the rails. At least not in a good manner. If your spoil board is absolutely straight but your rails have sag all you do by milling the surface is to mill a crater in the spoil board. By doing a bed leveling I hope to compensate for the sag so that the movements of the tool are really parallel to the board.

When you mill the spoil board the movements would be parallel to a curve, am I right with my thoughts?

Right, but the magnitude matters.

If you have 2mm drop over a 1200mm span, then any material you put on the spoil board will sag into that crater anyway. If you only have 400mm span, the sag will be much smaller.

For things like through cuts, It doesn’t matter. Just overcut.

The cuts where it matters is when trying to do v carves and what is important is the Z is at the right depth from the top of the workpiece. Milling the spoil board will get you there.

The only worry I have about milling a spoil board is if there is something inconsistent. As an extreme example, the Z leadscrews on a low rider might be different every time you start. If you dont do something to make that consistent first, then you will spend hours milling a spoil board and then have a board that is perfectly trammed to a gantry that no longer exists.

This can be solved by using M851 and specifying a negative Z probe offset.

1 Like

Good to know ! Looks like they closed the issue as fixed so may no longer be a problem.
Haven’t tested though.