I use Marlin with a Ramps board to control my CNC machine, its been working great. But, I do a lot of V-carving of signs on edge glued pine boards. The wood is never true and flat. I don't have a planner (and most of the boards I use are 17-20" wide), and i don't want to hassle with CNC leveling each board - so, what I want to do is use the ABL feature to map the surface of the board, and apply that when V-Carving. I configured my configuration.h file to enable it, and i've made a limit sw i can quickly attach to the spindle (I use a touch plate hooked up to Z-min to find the top surface height of the stock using gcode G30 command - and the limit switch for surface mapping plugs-in in parallel with the Z-min input).
I know that I can send the G29 command and tell Marlin where X Y start position is, and the stock (bed) max lengths using the B (back) F (Front) L (left) R (right) tags.
I got it set up, but, haven't tried it yet, because I am not sure how to set it up any further, or exactly how Marlin will apply this relative to a CNC setup. The limit sw (probe) isn't going to be the same Z length as the various bits - so, the height map the G29 reads is not going to be the exact top of the surface of the material when i replace the limit sw with the cutting Bit and run the G30 command to get the surface height of the stock. So, after i run a G29 command, how do i give the Z offset between the map readings and the G30 surface height reading?
Hopefully someone can understand what i am getting at.
What I see the code needs to do is create a map of the surface where the Left Front (x y corner of the stock material) would be Zoffset of 0 and the the mapped heights will all be relative (same or higher or lower) than the first reading. Then, i would put in the cutting bit and run a g30 at the same X Y corner - getting the actual stock height at that corner. Then as it carves the wood it will adjust Z height according to the map. That is how i see this needs to work. So, is that how Marlin's ABL works by default, or will I need to go into the Cpp code and make my own hack to the code? (which i am willing to do)
I know that I can send the G29 command and tell Marlin where X Y start position is, and the stock (bed) max lengths using the B (back) F (Front) L (left) R (right) tags.
I got it set up, but, haven't tried it yet, because I am not sure how to set it up any further, or exactly how Marlin will apply this relative to a CNC setup. The limit sw (probe) isn't going to be the same Z length as the various bits - so, the height map the G29 reads is not going to be the exact top of the surface of the material when i replace the limit sw with the cutting Bit and run the G30 command to get the surface height of the stock. So, after i run a G29 command, how do i give the Z offset between the map readings and the G30 surface height reading?
Hopefully someone can understand what i am getting at.
What I see the code needs to do is create a map of the surface where the Left Front (x y corner of the stock material) would be Zoffset of 0 and the the mapped heights will all be relative (same or higher or lower) than the first reading. Then, i would put in the cutting bit and run a g30 at the same X Y corner - getting the actual stock height at that corner. Then as it carves the wood it will adjust Z height according to the map. That is how i see this needs to work. So, is that how Marlin's ABL works by default, or will I need to go into the Cpp code and make my own hack to the code? (which i am willing to do)