Bed levelling, wrap milling

Hi,

I would like to ask you about GCode wrapping. I have tried to find as much information as I can, but now I feel I’m stuck.

This is my first post. On beginning , thank you for this wonderful community. Sorry, English is not my strong feature.

I built my first CNC a mounth ago. I’ve never worked with CNC before, so I quite new in this world, so sorry for dumb questions.

Now to my problem. My machine is fine and running on Rambo and Marlin. I did some wood working quite well. My today project is to engrave logo to my microphones. So it’s engraving to uneven surface. (Rounded body of microphone)

So I did some research and found that ESTLCAM can do that, but not with MPCNC. Second option was to use gcode wrapper software. I found 2 utilities, which can do that. But to do a great engraving I need to touch the surface, right? I can’t just do a software wrap, because I can’t easy than find manually the right zero within 0.1 mm to do perfect engrave and even a small offset from zero it will engrave more or less into the body of microphone.

So only option I found is to try Bed leveling. I read some post here, someone was trying to do it for correcting PCB before milling. So I dig in and tried to touch the surface with grid 8x8 in working space 15mm x 15mm, where the logo should be.

I used the Bilinear bed levelling and the probing was successful. It did 64 probe points. When I was manually moving the spindle, machine was copying the surface. Then I tried to test on some random points, that the spindle was at right Z height. (I went slowly down from Z = 1 to 0 by 0.1 steps and it always touch the surface at 0) So it looked well.

After that I ran the Gcode with logo (exported from ESTLCAM) and the height for Z was set at 0. So I just wanted the spindle will be only slightly touching the surface. Instead of that machine went into the surface deeply. You can see it on attached picture.

Then I tried to do it again with Z = –0.5 and the result was bit better but the spindle was again touch the surface, which it shouldn’t.

Does anybody is using bed levelling to mill into rounded (uneven) space? Can be the levelling used like that or it’s just feature to correct small unevens of bed. So it usable to correct bed for PCB milling etc.

Does anybody know how the algorithm of bedleveling is working? When I send Gcode to move for example on Y axis the firmware should divide this command into many others and in small steps moving the Y and correcting the Z. Am I right?

Is it possible, that the control board is not quick enough to correct my Z values “live” when I have quite big Z differences (rounded mic) in quite small work space (15mm x 15mm). So it means it must do a lot of corrections on small space. So if the machine is moving 5mm/s it will do maybe thousands of correction / s?

Thank you for your inputs!

I use bilinear mesh leveling on my printers. But not on my CNC. Have you looked at the values it measured (It prints them after a G29). That looks like a pretty round surface, so if you plotted them (in excel or google spreadsheets) it should look like a circle. That will tell you if there are measurment errors.

I don’t know much about the math they use to interpolate between the points, but they were thinking about a mostly flat surface, with slight errors, and relatively large offsets. I would not be surprised if some of the math gets a little weird when dealing with offsets larger than the distance traveled.

One easy way to do the probing is with a touch plate. It is like a metal spatula you put on the workpiece, and you wire up the bit. When they touch, it looks just like a closed microswitch. This will help, but you will need the touch plate to be parallel to the surface to get accurate results. Another option is to tightly wrap it with metal tape, and use that as a touch plate.

Looking at this shape. It looks like you could be better suited to use a rotary axis to engrave. If you can attach a motor rigidly to the workpiece, just replace the Y motors with that motor, and line everything up so a movement in X stays just touching the surface of the workpiece. Then a 2D design in CAD will result in a perfect engrave on the surface of the work.

Have you looked at the values it measured (It prints them after a G29). That looks like a pretty round surface, so if you plotted them (in excel or google spreadsheets) it should look like a circle. That will tell you if there are measurment errors.

Yes, I checked it up and it seems ok. So the probing was done perfectly. I was checking some points after probing with classic Multimeter in “beep” mode, connected instead of Z probe (the body of microphone is conductive), and 5 random points was within the 0.1 tolerance (Z). So I’m pretty sure, that the data from probing was ok and the trouble is maybe in the algorithm.

I would not be surprised if some of the math gets a little weird when dealing with offsets larger than the distance traveled.

That’s what I’m also thinking.

I just was curious if someone was trying that on similar purpose. It seems I need to build a rotary axis.

Thank you for your post.

1 Like