We get the File with the G-Code that generates the toolpath for the isolation milling from Eagle. The G-Code assumes that the copper clad board is completely flat. It is recommended to modify the G-Code of the board before sending it to the CNC machine in order to account for unevenness of the physical board. The tool used for this purpose is available at
http://www.autoleveller.co.uk/
Hardware setup
The autolevelling method utilizes that fact that the copper board as well as the carving tool conduct electricity. When they touch, the resistance becomes zero, and that fact can be measured in one of the input ports of the CNC controller.You have to tell LinuxCNC that one of the input ports is a probe input.
Isolation Milling Process - Two Steps
This section describes the procedure for physically making a board after we have generated the milling files in Eagle. We will use the word "example" in the naming of the circuit files in Eagle. So we start out with the following files:example.top.drill.tap
example.top.etch.tap
example.top.mill.tap
To begin:
- Open Autoleveller
- click on "Browse for GCode" and navigate to
in your Eagle project directory
Check create probe file only
and click on create levelled GCode
This will create a file named
ALProbeexample.top.etch.ngc
This file will reside in the same folder as the file that you just loaded.
- Fix the board as flat as possible to the CNC table.
- Connect the board to one of the probe inputs.
- Connect the V bit to the other probe input.
- Open LinuxCNC.
- Load the file ALProbeexample.top.etch.ngc
- Move the V bit over the bottom left (x=0, y=0) of the board with the jog controls
- click on home for all axes
- run the program
- A notification will appear reminding you to connect the probe-then hit resume
The program will now lower the z-axis until the probe makes contact. Then it will move the z-axis up and a new notification will appear asking you to remove the probe cable. If you don't do that, the cable will wrap around the spindle!
- click on run to start the level acquisition
Once the process is finished, the board level data will be saved in a file named
RawProbeLog.txt
Located under your home directory at ~/linuxcnc/configs/your_machine_config
This is what the file contained in my case:
This is what the file contained in my case:
0.000000 0.000000 0.000313 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.375125 0.000000 0.006141 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.750250 0.000000 0.009221 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1.125375 0.000000 0.010220 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1.500500 0.000000 0.005724 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1.500500 0.460250 -0.001519 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1.125375 0.460250 0.003143 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.750250 0.460250 0.003310 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.375125 0.460250 -0.000187 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 0.460250 -0.004433 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 0.920500 -0.007014 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.375125 0.920500 -0.002518 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.750250 0.920500 -0.000686 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1.125375 0.920500 -0.002102 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1.500500 0.920500 -0.006098 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
It represents the elevation of the board in millimeters, relative to the starting position.
- Open Autoleveller and click on Browse for Probe Log. Navigate to the probe log, uncheck "create probe file only" and click on "Create Levelled GCode". This will create a file named
ALexample.top.etch.ngc
- Open LinuxCNC and open the file named ALexample.top.etch.ngc
- Click on Run.
Here is a picture of the finished product:
Amazing result with a home CNC machine!
Isolation Milling Process - One Step
Once you are comfortable with the process, you can do the milling in one step. Just uncheck the "create probe file only" checkbox and click on "Create Levelled GCode". Again, execute the file ALexample.top.etch.ngc in LinuxCNC, this time the probing and milling will be done from one G-Code file.
Drilling Process
Unfortunately, the drill G-Code generated by pcb-gcode seems to have some flaws. The code contains some M06 commands that cause the program to stop. A user on the pcbgcode.org forum has found a fix that works by changing the file
pcb-gcode-3.6.2.4/settings/gcode-defaults.h
http://pcbgcode.org/read.php?4,967,967
pcb-gcode-3.6.2.4/settings/gcode-defaults.h
http://pcbgcode.org/read.php?4,967,967
Also, the thickness of PCB boards tends to be 1.6 mm which results in a drill depth of -0.069 inches (make sure you enter the correct depth for your board)
After that, you can simply load the fileexample.top.drill.tap
in LinuxCNC and run it. Make sure to zero the drill before you start.
What not to do
One of the advantages of using the probe input is that the Z-motor stops when the bit touches it. It is recommended to always prepare your G-Code file with Autoleveller, because Autoleveller adds a section of code that probes the board before any milling is done.Here is what happens when the height of the bit is not properly set:
in the bottom left of the picture, the drill bit was pushed into the board, breaking it off. The bit was subsequently dragged across the board, wiping out the previously created traces-ouch!
Great blog. All posts have something to learn. Your work is very good and i appreciate you and hopping for some more informative posts,
ReplyDeleteCnc controller board
Thank you for a very interesting article. I greatly appreciate the time you take to do all the research to put together your posts. I especially enjoyed this one!!
ReplyDeleteCnc controller kit
Interesting information and nice article. I was curious about this subject on PCB router.
ReplyDeleteIn this blog pcb to schematic involves reverse-engineering the PCB layout to trace and identify component connections, recreating the original circuit diagram.
ReplyDelete