Zum Inhalt springen

CNC-Fräse: Unterschied zwischen den Versionen

Bkubicek (Diskussion | Beiträge)
Bkubicek (Diskussion | Beiträge)
Zeile 229: Zeile 229:


=== Drilling and cutting PCB's (epoxy) ===
=== Drilling and cutting PCB's (epoxy) ===
This is my (bkubiceks) current isolate and drilling workflow for creating pcbs.
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB. One can get much better results.]]


The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.
[[PCB_CNC]]
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate.
You need a 0.6 or 0.8 mm drill with a mounting diameter suitable for the Kress-"Spannzange", probably 3mm or 1/8 inch=3.1something.
 
We will create three ngc-files, one for the isolation, one for the drilling, and one for the final cutting. They will be glued together in one ngc file to align them graphically using ''Axis''.
 
* Prerequisites:
** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]
** On Windows, that is
** create a shortcut, respecting your paths, with the target ""C:\Program Files (x86)\Java\jre1.6.0_07\bin\java.exe" -Xmx1024000000 -jar C:\Users\bkubicek\Visolate.jar" and the working directory "C:/Users/bkubicek/Documents/eagle/LEDlampe/"
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.
 
* Create the Eagle board. Route only on Bottom Layer.
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp  . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"
 
* Output using File->RUN->(ulp-directory)->gcode.ulp  . Layer "bottom", Mill and drill deaktivated, cut active,outputfile "cut_boardname.ngc", other parameters are nearly irrelevant.
 
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"
 
* Then comes the joining of the three ngc files: Create a new ngc file starting with
M8 ; turn on spindle ; adjust to your mill
F450
G90
G21
G0 Z2.54 ; move up to 0.1 inch above
G0 X-0.24 Y-0.24  ;change this to align the drill holes with the the isolation path
G20
;; end head
then add the content of isolate_boardname.ngc without the m5 m3 tail. The isolation has relative coordinates, so we have to set a proper starting location via the previous head. Also, moving to the assumed Z=0 position would already mill the board, so we have to change the first Z move.
comment out the first move to Z-0.01
it could look something like this
G20
G17 G40 G49 G80
G91
G1 Z0.1
G0 X0.10814 Y0.28534
;G1 Z-0.1 ;; uncommented t
G1 X0.00392 Y0
;; end isolate
insert a commented line with an end program.
; G0 Z20 M2 ; program end to manual tool-change to drill
after the isolation we will insert the content of drill_boardname.ngc
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200
after the cutting, create some blank lines and insert a section of cut_boardname.ngc, namely the part between (Start cutting wires) and (finished). This movements cut out the pcb from the surrounding.
Maybe you have to invert all Y coordinates because of the mirroring
 
 
The complete file then should have some head, the isolation, the drilling and the cutting.
 
* Open this ngc file in axis, and adjust the relative position of the drills to the isolation by the G0 X Y in the head, saving and reloading in axis.
 
* Check if whether the board is in a right orientation or if it needs to be mirrored.  This can be achieved by my gcode -filters: http://www.linuxcnc.org/images/fbfiles/files/grecode.zip  , see also this [http://www.linuxcnc.org/component/option,com_kunena/Itemid,20/func,view/catid,38/id,2288/limit,6/limitstart,12/lang,english/#2448 forum post]
 
* after all is good, remove the commend right before the drilling, to have the the program stop there. Reload in axis. Insert a 30 Degree 0.1 or 0.2 mm "Gravierstichel", home the machine, touch off at a suitable location, and start the program.
* If the isolation is not deep enough, touch off z in lower height, and restart.
Then Change to a 0.6 mm drill with a 3.12mm 1/8 inch holing diameter, touch of Z again, and re-insert the comment right before the drilling.
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.
* do all the drilling and sidewards cutting.
 
 
 
* if you really want things to be perfect, you could locate the most outwards line in the isolation, and move them deeper Z-0.1 ->Z-0.12 and the following relative up-movent as well Z0.1 ->Z0.12. By that, there will be no copper close to the cutting locations.


=== Cutting and drilling Aluminium ===
=== Cutting and drilling Aluminium ===