Zum Inhalt springen

PCB CNC: Unterschied zwischen den Versionen

Reox (Diskussion | Beiträge)
Reox (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 58: Zeile 58:
* Hotter soldering is required, as there are no thermal pads.
* Hotter soldering is required, as there are no thermal pads.


== Metaboard*.sh ==
Metaboard are some bash shell scripts, that will automatically create cnc-paths in the form of gcode files. The starting point is the eagle .brd file.
Download of the files: [http://kariert.org/files/metaboard3/ Here]
Usage: metaboard3.sh <options> filename
filename: eagle brd file to process
-double: create a double sided gcode
-0.8:    use a 0.8mm mill head instead of a 0.6
-tight:  only offset by a distance of 0.3 mm
-filled: the eagle board file has a filed dimension area instead of lines
It calls a couple of external programs:
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del>
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.
* <del>[http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]: To create the isolation paths. We use an unreleased version, that is scriptable.</del>
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.
* [http://code.google.com/p/grecode/ grecode] To mirror the board for second side. (Grecode was created especially for metaboard.sh by --[[Benutzer:Bkubicek|Bkubicek]] 09:55, 26. Jul. 2010 (CEST))
While these are called, <del>a couple of windows will pop up and hopefully disappear again.</del> only shell output will be produced. you will get some debug images also in the current directory.


== Workflow Using gEDA pcb and pcb2gcode ==
== Workflow Using gEDA pcb and pcb2gcode ==


The Workflow using the gEDA suite and a seperate tool called pcb2gcode is well tested in the Metalab.
The Workflow using the [https://packages.debian.org/wheezy/geda gEDA] suite and a seperate tool called [https://packages.debian.org/wheezy/pcb2gcode pcb2gcode] is well tested in the Metalab.


First of all you will create a PCB in a program called pcb. Then you will export gerber files from the pcb and generate ngc files with pcb2gcode. These ngc files can be read by linuxcnc.
First of all you will create a PCB in a program called pcb. Then you will export gerber files from the pcb and generate ngc files with pcb2gcode. These ngc files can be read by linuxcnc.
Zeile 87: Zeile 67:
For a Single Layer PCB you will run Steps 1,2,3,4 and 7 for a dual Layer you will run 1 to 7.
For a Single Layer PCB you will run Steps 1,2,3,4 and 7 for a dual Layer you will run 1 to 7.


=== Create the PCB ===
=== 1. Create the PCB ===
[[Datei:Pcb layer groups.png|thumb|400px|grouping of layers in pcb]]
[[Datei:Pcb layer groups.png|thumb|400px|grouping of layers in pcb]]
gEDA's pcb is a complex tool to work with. It might not be as easy to use as other tools in the first place, but can do everything another tool can do.
gEDA's pcb is a complex tool to work with. It might not be as easy to use as other tools in the first place, but can do everything another tool can do.
Zeile 97: Zeile 77:
* Outline is one group
* Outline is one group


=== pcb2metalab.sh ===
=== 2. pcb2metalab.sh ===


is a fork of the metaboard script. while it was stripped down to the very basics, it now only works with gEDA pcb files.
is a fork of the metaboard script. while it was stripped down to the very basics, it now only works with gEDA pcb files.
Zeile 107: Zeile 87:
If you modify the Makefile and run make, it will build all necassary files for you. You can check the output of the gerber files with a tool called gerbv and there are also some png files for debugging.
If you modify the Makefile and run make, it will build all necassary files for you. You can check the output of the gerber files with a tool called gerbv and there are also some png files for debugging.


=== Milling of Bottom Side ===
=== 3. Milling of Bottom Side ===
Now its time to go to the CNC and put in the PCB. Load the backside ngc file. Now you need to touch off the workpiece.
Now its time to go to the CNC and put in the PCB. Load the backside ngc file. Now you need to touch off the workpiece.
Remember now two things: The coordinates in the pcb2metalab generated files are in inch and the PCB is not super flat!
Remember now two things: The coordinates in the pcb2metalab generated files are in inch and the PCB is not super flat!


=== Drilling the Bottom Side ===
=== 4. Drilling the Bottom Side ===
The Next step would be to drill. Because the workpiece is already touched-off, it should go smoothly.
The Next step would be to drill. Because the workpiece is already touched-off, it should go smoothly.


=== Switch Sides ===
=== 5. Switch Sides ===
[[Datei:G10command.jpg|thumb|400px|The math behind the G10 L2 command]]
[[Datei:G10command.jpg|thumb|400px|The math behind the G10 L2 command]]
This step is now crucial for the quality of the dual layer PCB.
This step is now crucial for the quality of the dual layer PCB.
Zeile 124: Zeile 104:
Use a tool of your choice to calculate the G10 command and enter it.
Use a tool of your choice to calculate the G10 command and enter it.


=== Mill the Top Side ===
=== 6. Mill the Top Side ===
The top side can be milled like the bottom side, but because of the active G10 you do not need to touch of anything!
The top side can be milled like the bottom side, but because of the active G10 you do not need to touch of anything!


=== Mill the Outline ===
=== 7. Mill the Outline ===
The outline is also milled like the bottom or top side. No extra step is needed!
The outline is also milled like the bottom or top side. No extra step is needed!


== Usage ==
== Workflow using eagle and metaboard.sh ==
 
The workflow splits into the following points:
The workflow splits into the following points:
* Preperation: create an eagle brd file, copy it
* Preperation: create an eagle brd file, copy it
Zeile 161: Zeile 142:


Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.
=== Metaboard*.sh ===
Metaboard are some bash shell scripts, that will automatically create cnc-paths in the form of gcode files. The starting point is the eagle .brd file.
Download of the files: [http://kariert.org/files/metaboard3/ Here]
Usage: metaboard3.sh <options> filename
filename: eagle brd file to process
-double: create a double sided gcode
-0.8:    use a 0.8mm mill head instead of a 0.6
-tight:  only offset by a distance of 0.3 mm
-filled: the eagle board file has a filed dimension area instead of lines
It calls a couple of external programs:
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del>
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.
* <del>[http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]: To create the isolation paths. We use an unreleased version, that is scriptable.</del>
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.
* [http://code.google.com/p/grecode/ grecode] To mirror the board for second side. (Grecode was created especially for metaboard.sh by --[[Benutzer:Bkubicek|Bkubicek]] 09:55, 26. Jul. 2010 (CEST))
While these are called, <del>a couple of windows will pop up and hopefully disappear again.</del> only shell output will be produced. you will get some debug images also in the current directory.
== Hints ==
== Hints ==


Zeile 194: Zeile 197:


[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]
== Further Things and TODO ==
* [http://phk.freebsd.dk/CncPcb/ Z-Height compensation]


[[Kategorie:Howto]]
[[Kategorie:Howto]]
[[Kategorie:Heavy_Machinery]]
[[Kategorie:Heavy_Machinery]]