Autolevelling for Milling PCBs
Hey everyone! For my final project I need to mill some rather large PCBs (I'm using most of the surface of the 150x150mm blanks we have), and I've started to run into issues with the flat-ness of the PCBs. I need some pretty tight clearance for some of the parts, so I'm using a V-bit and the variance in height is causing issues.
I've noticed that some people use electrical contact probes to create a heightmap of the PCB Stock before milling and then use that to warp the NC coordinates accordingly (see for example here in ChiliPeppr). Here at OpenDot we have a ShopBot and a Roland MDX-40A, both of which have conductive probes, so I wanted to try this out.
After some experimentation, I have it working for the shopbot now, the code and some documentation is here: https://gitlab.fabcloud.org/sol.bekic/sbp-pcb-autolevel
It consists of a SBP Part file that does the probing and a python script for warping SBP-format CNC code.
For the MDX-40, which we usually use for PCB milling at OpenDot, I couldn't find a way to use the conductive probe from NC code. There is no mention of it in the Roland NC specification, and when the tool is moved manually via the control software, engaging or disengaging the contact doesn't cause the movement to be stopped. Does anyone know more about using the probe on Roland machines from NC code? Does the fab network have a contact at Roland that could dig deeper than we can?
I would also be very curious to hear from anyone who has used or created any other tools for this, and which CNC machines you are using.