https://metalab.at/wiki/api.php?action=feedcontributions&user=Bkubicek&feedformat=atomMetalab Wiki - Benutzerbeiträge [de]2024-03-29T00:45:02ZBenutzerbeiträgeMediaWiki 1.35.13https://metalab.at/wiki/index.php?title=Vinylplotter&diff=39465Vinylplotter2011-11-22T16:57:56Z<p>Bkubicek: /* Pledges */</p>
<hr />
<div>Ein paar Leute gerne einen Vinylplotter/cutter kaufen. Ich schlag hiermit mal folgendes Produkt vor:<br />
<br />
== [http://www.rolanddga.com/products/cutters/gx24/ Roland GX-24] ==<br />
<br />
Features:<br />
<br />
* '''Width''': Accepts material from two to 27.5 inches wide<br />
* '''Mechanical Resolution''': 0.0005 inches<br />
* '''Speed''': Cutting speeds up to 20 inches per second<br />
* '''Power''': Max down force of 250 grams<br />
* '''Optical Registration''': Recognizes crop marks produced by a variety of print-only devices and automatically aligns media so that printed graphics can be accurately contour cut.<br />
* '''Materials''': Vinyl, paint mask, reflective vinyls, twill, heat transfer, and sandblast<br />
<br />
Fuer eine Applikation von zB. T-Shirts drucken siehe: http://www.youtube.com/watch?v=FDdY4a9ChKc<br />
<br />
<s>Kosten liegen bei dem Model bei ca. $2095 ~ €1550</s><br />
<br />
Reale Kosten liegen bei [http://www.plotterinsel.de/schneideplotter/plottersets/610/einsteiger-komplettset-fuer-fahrzeugbeschriftung-roland ungefähr €1850] (billigstes Angebot innerhalb der EU das ich gefunden hab, inkludiert aber schon Material etc.)<br />
<br />
refurbished auf ebay: [http://www.ebay.at/itm/Roland-GX-24-CAMM-1-Servo-Vinyl-Cutter-Decals-REFURB-/270825726858?pt=LH_DefaultDomain_0&hash=item3f0e78a38a 1230€]<br />
<br />
== Why oh why! ==<br />
<br />
STICKER, STICKER, STICKER, T-SHIRTS, T-SHIRTS, T-SHIRTS!!!!!!111!<br />
<br />
== Pledges ==<br />
<br />
Als Finanzierungmodell wurde bisher mal Privatfinanzierung angedacht. Deshalb hier eine Liste an Leuten die mitkaufen wollen wuerden:<br />
<br />
{| border="0"<br />
| [[Benutzer:mzeltner|mzeltner]] <br />
| € 200<br />
|-<br />
| [[Benutzer:metaz|meta]]<br />
| € 200<br />
|-<br />
| [[Benutzer:wizard23|wizard23]]<br />
| € 200<br />
|-<br />
| [[Benutzer:cygenb0ck|cygenb0ck]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:lydschi|lydschi]]<br />
| € 100<br />
|-<br />
| [[Benutzer:kay|kay]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:red667|red667]]&nbsp;&nbsp;<br />
| € 200<br />
|-<br />
| [[Benutzer:hop|hop]]<br />
| € 200<br />
|-<br />
| overflo<br />
| € 100<br />
|-<br />
| You!<br />
| € GAZILLION<br />
|-<br />
|}<br />
Current sum:1400€</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Vinylplotter&diff=39464Vinylplotter2011-11-22T16:57:40Z<p>Bkubicek: /* Pledges */</p>
<hr />
<div>Ein paar Leute gerne einen Vinylplotter/cutter kaufen. Ich schlag hiermit mal folgendes Produkt vor:<br />
<br />
== [http://www.rolanddga.com/products/cutters/gx24/ Roland GX-24] ==<br />
<br />
Features:<br />
<br />
* '''Width''': Accepts material from two to 27.5 inches wide<br />
* '''Mechanical Resolution''': 0.0005 inches<br />
* '''Speed''': Cutting speeds up to 20 inches per second<br />
* '''Power''': Max down force of 250 grams<br />
* '''Optical Registration''': Recognizes crop marks produced by a variety of print-only devices and automatically aligns media so that printed graphics can be accurately contour cut.<br />
* '''Materials''': Vinyl, paint mask, reflective vinyls, twill, heat transfer, and sandblast<br />
<br />
Fuer eine Applikation von zB. T-Shirts drucken siehe: http://www.youtube.com/watch?v=FDdY4a9ChKc<br />
<br />
<s>Kosten liegen bei dem Model bei ca. $2095 ~ €1550</s><br />
<br />
Reale Kosten liegen bei [http://www.plotterinsel.de/schneideplotter/plottersets/610/einsteiger-komplettset-fuer-fahrzeugbeschriftung-roland ungefähr €1850] (billigstes Angebot innerhalb der EU das ich gefunden hab, inkludiert aber schon Material etc.)<br />
<br />
refurbished auf ebay: [http://www.ebay.at/itm/Roland-GX-24-CAMM-1-Servo-Vinyl-Cutter-Decals-REFURB-/270825726858?pt=LH_DefaultDomain_0&hash=item3f0e78a38a 1230€]<br />
<br />
== Why oh why! ==<br />
<br />
STICKER, STICKER, STICKER, T-SHIRTS, T-SHIRTS, T-SHIRTS!!!!!!111!<br />
<br />
== Pledges ==<br />
<br />
Als Finanzierungmodell wurde bisher mal Privatfinanzierung angedacht. Deshalb hier eine Liste an Leuten die mitkaufen wollen wuerden:<br />
<br />
{| border="0"<br />
| [[Benutzer:mzeltner|mzeltner]] <br />
| € 200<br />
|-<br />
| [[Benutzer:metaz|meta]]<br />
| € 200<br />
|-<br />
| [[Benutzer:wizard23|wizard23]]<br />
| € 200<br />
|-<br />
| [[Benutzer:cygenb0ck|cygenb0ck]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:lydschi|lydschi]]<br />
| € 100<br />
|-<br />
| [[Benutzer:kay|kay]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:red667|red667]]&nbsp;&nbsp;<br />
| € 200<br />
|-<br />
| [[Benutzer:hop|hop]]<br />
| € 200<br />
|-<br />
| overflo<br />
| € 100<br />
|-<br />
| You!<br />
| € GAZILLION<br />
|-<br />
|}<br />
Current sum:1500€</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Vinylplotter&diff=39331Vinylplotter2011-11-09T11:24:16Z<p>Bkubicek: /* Pledges */</p>
<hr />
<div>Ein paar Leute gerne einen Vinylplotter/cutter kaufen. Ich schlag hiermit mal folgendes Produkt vor:<br />
<br />
== [http://www.rolanddga.com/products/cutters/gx24/ Roland GX-24] ==<br />
<br />
Features:<br />
<br />
* '''Width''': Accepts material from two to 27.5 inches wide<br />
* '''Mechanical Resolution''': 0.0005 inches<br />
* '''Speed''': Cutting speeds up to 20 inches per second<br />
* '''Power''': Max down force of 250 grams<br />
* '''Optical Registration''': Recognizes crop marks produced by a variety of print-only devices and automatically aligns media so that printed graphics can be accurately contour cut.<br />
* '''Materials''': Vinyl, paint mask, reflective vinyls, twill, heat transfer, and sandblast<br />
<br />
Fuer eine Applikation von zB. T-Shirts drucken siehe: http://www.youtube.com/watch?v=FDdY4a9ChKc<br />
<br />
<s>Kosten liegen bei dem Model bei ca. $2095 ~ €1550</s><br />
<br />
Reale Kosten liegen bei [http://www.plotterinsel.de/schneideplotter/plottersets/610/einsteiger-komplettset-fuer-fahrzeugbeschriftung-roland ungefähr €1850] (billigstes Angebot innerhalb der EU das ich gefunden hab, inkludiert aber schon Material etc.)<br />
<br />
refurbished auf ebay: [http://www.ebay.at/itm/Roland-GX-24-CAMM-1-Servo-Vinyl-Cutter-Decals-REFURB-/270825726858?pt=LH_DefaultDomain_0&hash=item3f0e78a38a 1230€]<br />
<br />
== Why oh why! ==<br />
<br />
STICKER, STICKER, STICKER, T-SHIRTS, T-SHIRTS, T-SHIRTS!!!!!!111!<br />
<br />
== Pledges ==<br />
<br />
Als Finanzierungmodell wurde bisher mal Privatfinanzierung angedacht. Deshalb hier eine Liste an Leuten die mitkaufen wollen wuerden:<br />
<br />
{| border="0"<br />
| [[Benutzer:mzeltner|mzeltner]] <br />
| € 200<br />
|-<br />
| [[Benutzer:metaz|meta]]<br />
| € 200<br />
|-<br />
| [[Benutzer:wizard23|wizard23]]<br />
| € 200<br />
|-<br />
| [[Benutzer:cygenb0ck|cygenb0ck]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:lydschi|lydschi]]<br />
| € 100<br />
|-<br />
| [[Benutzer:kay|kay]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:red667|red667]]&nbsp;&nbsp;<br />
| € 200<br />
|-<br />
| [[Benutzer:hop|hop]]<br />
| € 200<br />
|-<br />
| bkubicek<br />
| € 100<br />
|-<br />
| overflo<br />
| € 100<br />
|-<br />
| You!<br />
| € GAZILLION<br />
|-<br />
|}<br />
Current sum:1500€</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Vinylplotter&diff=38976Vinylplotter2011-10-09T10:29:26Z<p>Bkubicek: /* Roland GX-24 */</p>
<hr />
<div>Ein paar Leute gerne einen Vinylplotter/cutter kaufen. Ich schlag hiermit mal folgendes Produkt vor:<br />
<br />
== [http://www.rolanddga.com/products/cutters/gx24/ Roland GX-24] ==<br />
<br />
Features:<br />
<br />
* '''Width''': Accepts material from two to 27.5 inches wide<br />
* '''Mechanical Resolution''': 0.0005 inches<br />
* '''Speed''': Cutting speeds up to 20 inches per second<br />
* '''Power''': Max down force of 250 grams<br />
* '''Optical Registration''': Recognizes crop marks produced by a variety of print-only devices and automatically aligns media so that printed graphics can be accurately contour cut.<br />
* '''Materials''': Vinyl, paint mask, reflective vinyls, twill, heat transfer, and sandblast<br />
<br />
Fuer eine Applikation von zB. T-Shirts drucken siehe: http://www.youtube.com/watch?v=FDdY4a9ChKc<br />
<br />
<s>Kosten liegen bei dem Model bei ca. $2095 ~ €1550</s><br />
<br />
Reale Kosten liegen bei [http://www.plotterinsel.de/schneideplotter/plottersets/610/einsteiger-komplettset-fuer-fahrzeugbeschriftung-roland ungefähr €1850] (billigstes Angebot innerhalb der EU das ich gefunden hab, inkludiert aber schon Material etc.)<br />
<br />
refurbished auf ebay: [http://www.ebay.at/itm/Roland-GX-24-CAMM-1-Servo-Vinyl-Cutter-Decals-REFURB-/270825726858?pt=LH_DefaultDomain_0&hash=item3f0e78a38a 1230€]<br />
<br />
== Why oh why! ==<br />
<br />
STICKER, STICKER, STICKER, T-SHIRTS, T-SHIRTS, T-SHIRTS!!!!!!111!<br />
<br />
== Pledges ==<br />
<br />
Als Finanzierungmodell wurde bisher mal Privatfinanzierung angedacht. Deshalb hier eine Liste an Leuten die mitkaufen wollen wuerden:<br />
<br />
{| border="0"<br />
| [[Benutzer:mzeltner|mzeltner]] <br />
| € 200<br />
|-<br />
| [[Benutzer:metaz|meta]]<br />
| € 200<br />
|-<br />
| [[Benutzer:wizard23|wizard23]]<br />
| € 200<br />
|-<br />
| [[Benutzer:jain7th|jain7th]]<br />
| € 100<br />
|-<br />
| [[Benutzer:cygenb0ck|cygenb0ck]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:lydschi|lydschi]]<br />
| € 100<br />
|-<br />
| [[Benutzer:kay|kay]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:red667|red667]]&nbsp;&nbsp;<br />
| € 200<br />
|-<br />
| [[Benutzer:hop|hop]]<br />
| € 200<br />
|-<br />
| bkubicek<br />
| € 100<br />
|-<br />
| You!<br />
| € GAZILLION<br />
|-<br />
|}</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Vinylplotter&diff=38935Vinylplotter2011-10-06T18:50:26Z<p>Bkubicek: /* Pledges */</p>
<hr />
<div>Ein paar Leute gerne einen Vinylplotter/cutter kaufen. Ich schlag hiermit mal folgendes Produkt vor:<br />
<br />
== [http://www.rolanddga.com/products/cutters/gx24/ Roland GX-24] ==<br />
<br />
Features:<br />
<br />
* '''Width''': Accepts material from two to 27.5 inches wide<br />
* '''Mechanical Resolution''': 0.0005 inches<br />
* '''Speed''': Cutting speeds up to 20 inches per second<br />
* '''Power''': Max down force of 250 grams<br />
* '''Optical Registration''': Recognizes crop marks produced by a variety of print-only devices and automatically aligns media so that printed graphics can be accurately contour cut.<br />
* '''Materials''': Vinyl, paint mask, reflective vinyls, twill, heat transfer, and sandblast<br />
<br />
Fuer eine Applikation von zB. T-Shirts drucken siehe: http://www.youtube.com/watch?v=FDdY4a9ChKc<br />
<br />
<s>Kosten liegen bei dem Model bei ca. $2095 ~ €1550</s><br />
<br />
Reale Kosten liegen bei [http://www.plotterinsel.de/schneideplotter/plottersets/610/einsteiger-komplettset-fuer-fahrzeugbeschriftung-roland ungefähr €1850] (billigstes Angebot innerhalb der EU das ich gefunden hab, inkludiert aber schon Material etc.) <br />
<br />
== Why oh why! ==<br />
<br />
STICKER, STICKER, STICKER, T-SHIRTS, T-SHIRTS, T-SHIRTS!!!!!!111!<br />
<br />
== Pledges ==<br />
<br />
Als Finanzierungmodell wurde bisher mal Privatfinanzierung angedacht. Deshalb hier eine Liste an Leuten die mitkaufen wollen wuerden:<br />
<br />
{| border="0"<br />
| [[Benutzer:mzeltner|mzeltner]] <br />
| € 200<br />
|-<br />
| [[Benutzer:metaz|meta]]<br />
| € 200<br />
|-<br />
| [[Benutzer:wizard23|wizard23]]<br />
| € 200<br />
|-<br />
| [[Benutzer:jain7th|jain7th]]<br />
| € 100<br />
|-<br />
| [[Benutzer:cygenb0ck|cygenb0ck]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:lydschi|lydschi]]<br />
| € 100<br />
|-<br />
| [[Benutzer:kay|kay]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:red667|red667]]&nbsp;&nbsp;<br />
| € 200<br />
|-<br />
| [[Benutzer:hop|hop]]<br />
| € 200<br />
|-<br />
| bkubicek<br />
| € 100<br />
|-<br />
| You!<br />
| € GAZILLION<br />
|-<br />
|}</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Vinylplotter&diff=38934Vinylplotter2011-10-06T18:49:56Z<p>Bkubicek: /* Pledges */</p>
<hr />
<div>Ein paar Leute gerne einen Vinylplotter/cutter kaufen. Ich schlag hiermit mal folgendes Produkt vor:<br />
<br />
== [http://www.rolanddga.com/products/cutters/gx24/ Roland GX-24] ==<br />
<br />
Features:<br />
<br />
* '''Width''': Accepts material from two to 27.5 inches wide<br />
* '''Mechanical Resolution''': 0.0005 inches<br />
* '''Speed''': Cutting speeds up to 20 inches per second<br />
* '''Power''': Max down force of 250 grams<br />
* '''Optical Registration''': Recognizes crop marks produced by a variety of print-only devices and automatically aligns media so that printed graphics can be accurately contour cut.<br />
* '''Materials''': Vinyl, paint mask, reflective vinyls, twill, heat transfer, and sandblast<br />
<br />
Fuer eine Applikation von zB. T-Shirts drucken siehe: http://www.youtube.com/watch?v=FDdY4a9ChKc<br />
<br />
<s>Kosten liegen bei dem Model bei ca. $2095 ~ €1550</s><br />
<br />
Reale Kosten liegen bei [http://www.plotterinsel.de/schneideplotter/plottersets/610/einsteiger-komplettset-fuer-fahrzeugbeschriftung-roland ungefähr €1850] (billigstes Angebot innerhalb der EU das ich gefunden hab, inkludiert aber schon Material etc.) <br />
<br />
== Why oh why! ==<br />
<br />
STICKER, STICKER, STICKER, T-SHIRTS, T-SHIRTS, T-SHIRTS!!!!!!111!<br />
<br />
== Pledges ==<br />
<br />
Als Finanzierungmodell wurde bisher mal Privatfinanzierung angedacht. Deshalb hier eine Liste an Leuten die mitkaufen wollen wuerden:<br />
<br />
{| border="0"<br />
| [[Benutzer:mzeltner|mzeltner]] <br />
| € 200<br />
|-<br />
| [[Benutzer:metaz|meta]]<br />
| € 200<br />
|-<br />
| [[Benutzer:wizard23|wizard23]]<br />
| € 200<br />
|-<br />
| [[Benutzer:jain7th|jain7th]]<br />
| € 100<br />
|-<br />
| [[Benutzer:cygenb0ck|cygenb0ck]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:lydschi|lydschi]]<br />
| € 100<br />
|-<br />
| [[Benutzer:kay|kay]]&nbsp;&nbsp;<br />
| € 100<br />
|-<br />
| [[Benutzer:red667|red667]]&nbsp;&nbsp;<br />
| € 200<br />
|-<br />
| [[Benutzer:hop|hop]]<br />
| € 200<br />
|-<br />
| [[Benutzer:bkubicek]<br />
| € 100<br />
|-<br />
| You!<br />
| € GAZILLION<br />
|-<br />
|}</div>Bkubicekhttps://metalab.at/wiki/index.php?title=2011-08-25_Jour_Fixe&diff=384012011-08-25 Jour Fixe2011-08-24T14:37:05Z<p>Bkubicek: /* Themen */</p>
<hr />
<div>Bei den Jours Fixes trifft sich das (nicht klar abgegrenzte) Orga-Team um laufende Entwicklungen und zukünftige Projekte zu besprechen. Alle Mitglieder, die konkret mithelfen wollen und können, sind eingeladen nach eigenem Ermessen mitzumachen.<br />
<br />
== Zeit ==<br />
Donnerstag '''2011-08-25, 19:30'''<br />
<br />
'''siehe Protokoll http://metalab.at/wiki/2011-07-21_Jour_Fixe '''<br />
<br />
== Organisatorisches ==<br />
# Schriftführer bestellen<br />
# Moderator bestellen<br />
<br />
== Berichte ==<br />
# ..<br />
<br />
== Themen ==<br />
* CNC Reparaturkosten.<br />
<br />
== Do Fixe ==<br />
# ..<br />
<br />
<br />
[[Kategorie:Protokolle]]<br />
[[Kategorie:Jour Fixe]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=2011-07-21_Jour_Fixe&diff=384002011-07-21 Jour Fixe2011-08-24T14:26:16Z<p>Bkubicek: /* Themen */</p>
<hr />
<div>Bei den Jours Fixes trifft sich das (nicht klar abgegrenzte) Orga-Team um laufende Entwicklungen und zukünftige Projekte zu besprechen. Alle Mitglieder, die konkret mithelfen wollen und können, sind eingeladen nach eigenem Ermessen mitzumachen.<br />
<br />
== Zeit ==<br />
Donnerstag '''2011-07-21, 19:30'''<br />
<br />
== Organisatorisches ==<br />
# Schriftführer bestellen<br />
# Moderator bestellen<br />
<br />
== Berichte ==<br />
* [[User:daxim|daxim]] OpenBio Hackathon war ein Erfolg. Es gab keine Probleme und unsere Gäste waren zufrieden<br />
* [[User:daxim|daxim]] am 4. November gibts einen TwinCity Perl Workshop, Ankündigung folgt<br />
<br />
== Themen ==<br />
* [[Diskussion:2011-07-21_Jour_Fixe#Lounge%20Sauberkeit%20L%C3%B6sungsvorschl%C3%A4ge|Lounge Sauberkeit]]<br />
** Beim [[2011-08-18_Jour_Fixe|Jour Fixe nach dem Camp]] soll ein neues Lounge Konzept erstellt werden. Der Raum soll belebt und wieder gemütlicher gemacht werden. Konzepte sind gefragt. Diese Konzepte müssen nicht gezwungenermaßen eine Raucherlaubnis beinhalten. Ideen und Konzepte sollen schon vorher auf der Mailingliste und im Wiki diskutiert werden. Am Ende des JF soll eines der Konzepte gewählt werden. Die Proponenten haben 1 Monat für die Umsetzung. Falls diese Scheitert hat das nächstgereihte Konzept 1 Monat Zeit.<br />
* Getraenkekistendrill<br />
** Es braucht neue Schilder, die Flaschen werden teilweise falsch einsortiert. Die Schilder sollen benutzerfreundlicher werden (Bilder, in Form der entsprechenden Flaschen). Alex kümmert sich<br />
* CNC Instandsetzung. Übernimmt das Lab einen die Reparaturkosten, oder nicht. <br />
<br />
<br />
[[Kategorie:Protokolle]]<br />
[[Kategorie:Jour Fixe]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=2011-07-21_Jour_Fixe&diff=383992011-07-21 Jour Fixe2011-08-24T14:23:17Z<p>Bkubicek: /* Themen */</p>
<hr />
<div>Bei den Jours Fixes trifft sich das (nicht klar abgegrenzte) Orga-Team um laufende Entwicklungen und zukünftige Projekte zu besprechen. Alle Mitglieder, die konkret mithelfen wollen und können, sind eingeladen nach eigenem Ermessen mitzumachen.<br />
<br />
== Zeit ==<br />
Donnerstag '''2011-07-21, 19:30'''<br />
<br />
== Organisatorisches ==<br />
# Schriftführer bestellen<br />
# Moderator bestellen<br />
<br />
== Berichte ==<br />
* [[User:daxim|daxim]] OpenBio Hackathon war ein Erfolg. Es gab keine Probleme und unsere Gäste waren zufrieden<br />
* [[User:daxim|daxim]] am 4. November gibts einen TwinCity Perl Workshop, Ankündigung folgt<br />
<br />
== Themen ==<br />
* [[Diskussion:2011-07-21_Jour_Fixe#Lounge%20Sauberkeit%20L%C3%B6sungsvorschl%C3%A4ge|Lounge Sauberkeit]]<br />
** Beim [[2011-08-18_Jour_Fixe|Jour Fixe nach dem Camp]] soll ein neues Lounge Konzept erstellt werden. Der Raum soll belebt und wieder gemütlicher gemacht werden. Konzepte sind gefragt. Diese Konzepte müssen nicht gezwungenermaßen eine Raucherlaubnis beinhalten. Ideen und Konzepte sollen schon vorher auf der Mailingliste und im Wiki diskutiert werden. Am Ende des JF soll eines der Konzepte gewählt werden. Die Proponenten haben 1 Monat für die Umsetzung. Falls diese Scheitert hat das nächstgereihte Konzept 1 Monat Zeit.<br />
* Getraenkekistendrill<br />
** Es braucht neue Schilder, die Flaschen werden teilweise falsch einsortiert. Die Schilder sollen benutzerfreundlicher werden (Bilder, in Form der entsprechenden Flaschen). Alex kümmert sich<br />
* CNC Instandsetzung.<br />
<br />
<br />
<br />
[[Kategorie:Protokolle]]<br />
[[Kategorie:Jour Fixe]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37593PCB CNC2011-05-28T07:35:07Z<p>Bkubicek: /* Routing */</p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px perrow=2><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. Short circuiting copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|400px|How to make your solder easier.]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done by having arbitrary diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really good, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or connected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knife to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. In this case, it is not an actual isolation distance, but just for the screws. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37592PCB CNC2011-05-28T07:34:25Z<p>Bkubicek: /* Hints */</p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px perrow=2><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. Short circuiting copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|400px|How to make your solder easier.]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really good, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or connected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knife to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. In this case, it is not an actual isolation distance, but just for the screws. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37591PCB CNC2011-05-28T07:33:05Z<p>Bkubicek: /* VIAS */</p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px perrow=2><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. Short circuiting copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|400px|How to make your solder easier."]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37590PCB CNC2011-05-28T07:32:29Z<p>Bkubicek: /* VIAS */</p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px perrow=2><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. Short circuiting copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|400px|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37589PCB CNC2011-05-28T07:31:28Z<p>Bkubicek: /* Examples */</p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px perrow=2><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. Short circuiting copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37588PCB CNC2011-05-28T07:30:54Z<p>Bkubicek: /* Examples */</p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px perrow=2><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37587PCB CNC2011-05-28T07:30:27Z<p>Bkubicek: </p>
<hr />
<div>==Introduction==<br />
<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
== Examples ==<br />
<gallery widths=400px heights=300px><br />
Bild:nicerpcb.png|A normal isolated result.<br />
Bild:cncpcb.png|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.<br />
Bild:normalpcb.png| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight<br />
Bild:visolate.png|A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] <br />
</gallery><br />
<br />
<br />
<br />
==Time Consumption==<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37586PCB CNC2011-05-28T07:22:16Z<p>Bkubicek: </p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|center|thumb|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|thumb|center|800px| Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|thumb|center|600px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37585PCB CNC2011-05-28T07:14:27Z<p>Bkubicek: /* Routing */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|800 px|thumb Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|600 px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37584PCB CNC2011-05-28T07:14:06Z<p>Bkubicek: /* Routing */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|800 px|]]<br />
Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|600 px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37583PCB CNC2011-05-28T07:13:41Z<p>Bkubicek: /* Isolation Distances */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|800 px|Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
<br />
[[Datei:peeledpcb.png|600 px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:Peeledpcb.png&diff=37582Datei:Peeledpcb.png2011-05-28T07:13:08Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37581PCB CNC2011-05-28T07:12:40Z<p>Bkubicek: /* Routing */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
<br />
[[Datei:brdgoodpad.png|800 px|Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
=== Mounting Holes ===<br />
Currently PCB2Gcode does not respect mounting holes, meaning that it would grow the wires possibly in a way that two different signals could be short-circuited by the screw. To prevent this, place a bottom wire-arc around the screw. Then it gets it's own "pad".<br />
<br />
=== Isolation Distances ===<br />
If you happen to work with larger voltages, you need isolated gaps on the PCB. I would do that by drawing a filled polygon on the bottom layer, or a group of overlapping or conntected wires, as if the isolation were a wire.<br />
After the milling, I would use a sharp knive to lift the copper from the board at a corner, and peel it off. If you know the trick, it works quite well.<br />
[[Datei:peeledpcb.png|600 px|A peeled off PCB. Ok that not for isolation. You see here that I needed to peel off multiple areas. If I had connected the individual regions with overlapping wires, I could have saved some time.]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37580PCB CNC2011-05-28T07:04:27Z<p>Bkubicek: /* Routing */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized. This is done my making complete diagonals, and successively moving outer wires further outside. <br />
[[Datei:brdgoodpad.png|800 px|Example of good (not really, but sufficient) and bad wire placement". It is not a very good example, I will try to produce if there is time]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37579PCB CNC2011-05-28T07:02:54Z<p>Bkubicek: </p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A usually milled PCB, using pcb-gcode eagle plugin. This can be done by metaboard3.sh -tight]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized.<br />
<br />
[[Datei:brdgoodpad.png|800 px|Example of good (not really, but sufficient) and bad wire placement"]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37578PCB CNC2011-05-28T07:00:29Z<p>Bkubicek: /* VIAS */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized.<br />
<br />
[[Datei:brdgoodpad.png|800 px|Example of good (not really, but sufficient) and bad wire placement"]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37577PCB CNC2011-05-28T07:00:21Z<p>Bkubicek: /* Routing */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized.<br />
<br />
[[Datei:brdgoodpad.png|800 px|Example of good (not really, but sufficient) and bad wire placement"]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:Brdgoodpad.png&diff=37576Datei:Brdgoodpad.png2011-05-28T06:59:55Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37575PCB CNC2011-05-28T06:59:42Z<p>Bkubicek: /* Tips */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Hints ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
=== Routing ===<br />
While the eagle autorouter tries to bundle wires closely together, for voronoi shaped pcbs, this is not so optimal.<br />
You can still use the autorouter, however I would recommend it only on the bottom layer. I use a 12.5 mil routing grid usually, and * for bottom N/A for top.<br />
Then I move the wires around, so that the sidewards distance is maximized.<br />
[[Datei:brdgoodpad.png|Example of good (not really, but sufficient) and bad wire placement"]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:Goodpad.png&diff=37574Datei:Goodpad.png2011-05-28T06:50:16Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37573PCB CNC2011-05-28T06:49:53Z<p>Bkubicek: </p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Tips ==<br />
<br />
=== VIAS===<br />
[[Datei:08ernieten.jpg|thumb|400px| larger "Kupferhohlnieten" ]]<br />
[[Datei:06ernieten.jpg|thumb|400px| smaller "Kupferhohlnieten"]]<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.7 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.7mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
[[Datei:goodpad.png|Example of good and bad via placement"]]<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:06ernieten.jpg&diff=37572Datei:06ernieten.jpg2011-05-28T06:36:16Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:08ernieten.jpg&diff=37571Datei:08ernieten.jpg2011-05-28T06:35:57Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37570PCB CNC2011-05-28T06:35:36Z<p>Bkubicek: </p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
== Tips ==<br />
<br />
=== VIAS===<br />
Milled vias form no automatic connection between top and bottom. You can solder them using a small copper wire. Or the magical Kupferhohlnieten.<br />
[[Datei:08ernieten.jpg]]<br />
[[Datei:06ernieten.jpg]]<br />
If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.8 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.8mm pin.<br />
<br />
Pins of through-hole mounted devices also do not form automatic top-bottom connections. This especially frustrating with the eagle autorouter, because I found no way of turning this off. Sometimes you can compensate by soldering also on the top side of the part, but very often there is really no space for that. Best thing is to manually overwork the board in eagle.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:Nicerpcb.png&diff=37569Datei:Nicerpcb.png2011-05-28T06:29:34Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37568PCB CNC2011-05-28T06:29:21Z<p>Bkubicek: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
[[Bild:nicerpcb.png|thumb|400px|A normal isloated result.]]<br />
<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
* If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.8 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.8mm pin.<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37567PCB CNC2011-05-28T06:19:33Z<p>Bkubicek: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. <br />
* It is possible to have one wire between the 2.54mm piched pins.<br />
* Also 1.27mm pitch SMD chips are usually ok. <br />
* If you change the diameter of your vias to 0.8, you can use the 0.6 inner diameter "Kupferhohlnieten". if you have a double side-connected pin of you 0.8 mm you might want to use a 1mm hole, to use the larger "hohlnieten", where you can then insert a 0.8mm pin.<br />
<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37566PCB CNC2011-05-28T06:14:44Z<p>Bkubicek: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 2 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 30 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 1 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37565PCB CNC2011-05-28T06:12:54Z<p>Bkubicek: </p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37564PCB CNC2011-05-28T06:10:29Z<p>Bkubicek: /* Detailed Instructions */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<del>== Detailed Instructions, ==<br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.6 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37563PCB CNC2011-05-28T06:09:39Z<p>Bkubicek: /* Usage */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
== Usage ==<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
== Detailed Instructions ==<br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.6 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37562PCB CNC2011-05-28T06:09:22Z<p>Bkubicek: /* Preperation */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
=== Usage ===<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
<br />
<br />
== Detailed Instructions ==<br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.6 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37561PCB CNC2011-05-28T06:08:54Z<p>Bkubicek: /* Preperation */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
=== Usage ===<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
<br />
<br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.6 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=Datei:Gravierstichel.jpg&diff=37560Datei:Gravierstichel.jpg2011-05-28T06:08:06Z<p>Bkubicek: </p>
<hr />
<div></div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37559PCB CNC2011-05-28T06:07:02Z<p>Bkubicek: /* Metaboard*.sh */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<br />
<br />
<br />
<br />
=== Usage ===<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard3.sh . It will require a 0.6 mm mill head, which is the best, as small IC holes are possible, and the tool length is so small that little sidewards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
* Setup: <br />
** mount the board in the geilomat using double sided sticky tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp Gravierstichel .<br />
[[Datei:gravierstichel.jpg]]<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
<br />
Bottom layer: <br />
** Isolation-milling: use the *back.ngc file created by metaboard3.sh<br />
** drilling: use the *drill*.ngc file created by metaboard3.sh<br />
** and cutting: use the *outline*.ngc file created by metaboard3.sh.<br />
<br />
For single sided boards, the process stops here.<br />
Double sided boards are more sophisticated:<br />
* Flipp the board, mounting it in any usefull position.<br />
* Top layer:<br />
* note down two drill hole coordinates from the drill file, in mm units. <br />
* navigate using the joypad to the holes location on the flipped mounted PCB. Write down the coordinates of the special holes.<br />
* call "grecode -align x1 y1 x2 y2 X1 Y1 X2 Y2 *front*.ngc > tmp.ngc" to rotate and shift. Maybe you have to change the signs of the x1 and x2, depending of the pcb2gcode version you use.<br />
* Loading the tmp.ngc file just created <br />
* check if the gcode is now aligned with the pcb.<br />
* Isolate the top.<br />
<br />
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves.<br />
<br />
<br />
<br />
<br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.8 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37558PCB CNC2011-05-28T05:56:26Z<p>Bkubicek: /* Metaboard*.sh */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del><br />
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<del><br />
Possible issues:<br />
* Eagle sometimes stays on top: just close the opened .brd, and load your .brd again using the menu. If have no clue why this happens.<br />
* It might be necessary to have a parent project file in the same directory?<br />
</del><br />
<br />
<br />
<br />
=== Usage ===<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard0.6.sh . It will require a 0.6 mm mill head, which is the best, as small ic holes are possible, and the tool length is so small that little sidwards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
** If 0.6mm are once again not available, drop back to metaboard2.sh, which uses 0.8mm mill heads.<br />
* Setup: <br />
** mount the board in the geilomat using double sided tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp gravierstichel or the 0.6/0.8mm millhead.<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
* Bottom layer: <br />
** Isolation-milling<br />
** drilling and cutting<br />
For single sided boards, the process stops here.<br />
* Flipping the board, mounting it.<br />
* Top layer:<br />
** Loading the top layer debugging file. <br />
** Aligning: Rotate and shift the top layers using grecode, so that the new gocde matches the mounted board.<br />
** Isolate the top.<br />
<br />
<br />
Create yourself a directory in ~/gcodes/ and copy your .brd file there. <br />
Then open up a shell window, move to the directory call <br />
metaboard0.6.sh yourboard.brd<br />
or<br />
metaboard2.sh yourboard.brd<br />
<br />
<br />
This is outdated <br />
<del> <br />
If all goes well, you will obtain a lot of *.ngc files + some PNGs, that contain [[http://en.wikipedia.org/wiki/G-code Gcode]] for the CNC process. Also, a tmp directory will be created, where there are even more files.<br />
The files in the original directoy are:<br />
* xxx_??.ngc: The top layer isloation paths.<br />
* xxx_bottom.ngc: The bottom layer isloation paths.<br />
* xxx_drillcuttop.ngc: The top layer drilling and cutting.<br />
* xxx_drillcutbottom.ngc: The bottom layer drilling and cutting.<br />
* xxx_debug.ngc: A file so you can view the content of all the other files at once, to check for errors, or measure coordinates..<br />
</del><br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.8 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=37553PCB CNC2011-05-27T18:04:05Z<p>Bkubicek: /* Metaboard*.sh */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
Download of the files: [http://kariert.org/files/metaboard3/ Here]<br />
<br />
Usage: metaboard3.sh <options> filename<br />
filename: eagle brd file to process<br />
-double: create a double sided gcode<br />
-0.8: use a 0.8mm mill head instead of a 0.6<br />
-tight: only offset by a distance of 0.3 mm<br />
-filled: the eagle board file has a filed dimension area instead of lines<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<del><br />
Possible issues:<br />
* Eagle sometimes stays on top: just close the opened .brd, and load your .brd again using the menu. If have no clue why this happens.<br />
* It might be necessary to have a parent project file in the same directory?<br />
</del><br />
<br />
<br />
<br />
=== Usage ===<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard0.6.sh . It will require a 0.6 mm mill head, which is the best, as small ic holes are possible, and the tool length is so small that little sidwards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
** If 0.6mm are once again not available, drop back to metaboard2.sh, which uses 0.8mm mill heads.<br />
* Setup: <br />
** mount the board in the geilomat using double sided tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp gravierstichel or the 0.6/0.8mm millhead.<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
* Bottom layer: <br />
** Isolation-milling<br />
** drilling and cutting<br />
For single sided boards, the process stops here.<br />
* Flipping the board, mounting it.<br />
* Top layer:<br />
** Loading the top layer debugging file. <br />
** Aligning: Rotate and shift the top layers using grecode, so that the new gocde matches the mounted board.<br />
** Isolate the top.<br />
<br />
<br />
Create yourself a directory in ~/gcodes/ and copy your .brd file there. <br />
Then open up a shell window, move to the directory call <br />
metaboard0.6.sh yourboard.brd<br />
or<br />
metaboard2.sh yourboard.brd<br />
<br />
<br />
This is outdated <br />
<del> <br />
If all goes well, you will obtain a lot of *.ngc files + some PNGs, that contain [[http://en.wikipedia.org/wiki/G-code Gcode]] for the CNC process. Also, a tmp directory will be created, where there are even more files.<br />
The files in the original directoy are:<br />
* xxx_??.ngc: The top layer isloation paths.<br />
* xxx_bottom.ngc: The bottom layer isloation paths.<br />
* xxx_drillcuttop.ngc: The top layer drilling and cutting.<br />
* xxx_drillcutbottom.ngc: The bottom layer drilling and cutting.<br />
* xxx_debug.ngc: A file so you can view the content of all the other files at once, to check for errors, or measure coordinates..<br />
</del><br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.8 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=PCB_CNC&diff=36864PCB CNC2011-04-23T06:14:24Z<p>Bkubicek: /* Metaboard.sh */</p>
<hr />
<div>==Introduction==<br />
CNCs can facilitate in the creation of PCBS:<br />
* Manual etching and then using CNC to drill automatically.<br />
* Cutting out the board , to have round PCBs, or similar.<br />
* Automated isolation routing: From a PCB some surface parts are milled away, so that the connection copper area are left isolated.<br />
<br />
Currently, all three steps are working on the [http://metalab.at/wiki/Geil-o-mat Geilomat]. <br />
[[Bild:cncpcb.png|thumb|400px|A rather badly isloated and drilled PCB done on the Geilomat. One can get much better results. Short-Circuiting Copper flakes are visible on the center left.]]<br />
<br />
For the isolation, there is the normal approach, where all contours of copper areas are milled.<br />
[[Bild:normalpcb.png|thumb|400px| A normal milled PCB, using pcb-gcode eagle plugin]]<br />
However much faster results can be obtained by milling the minimal path necessary to create the PCB-topology.<br />
[[Bild:visolate.png|thumb|400px| A voronoi milled PCB (left), a normally milled PCB, and a traditional PCB. [http://www.mit.edu/~vona/Visolate/Visolate-info.html Source] ]]<br />
<br />
Some results are given in the soup of the [http://geilomat.soup.io/ Geilomat]<br />
<br />
===Time Consumption===<br />
For a complete, dense EuroPCB, expect about one hour of total time:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 15 minutes for drilling/cutting.<br />
* 20 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 20 minutes for the top isolation<br />
* 10 minutes for manual overworking the board.<br />
<br />
For an arduino shield, expect about 35 minutes:<br />
* 10 minutes for preperation, mounting and setup.<br />
* 5 minutes for drilling/cutting.<br />
* 5 minutes for the isolation of the bottom layer.<br />
* 5 minutes for flipping/remounting/aligning<br />
* 5 minutes for the top isolation<br />
* 5 minutes for manual overworking the board.<br />
=== Pros/Cons ===<br />
Pros:<br />
* Quite Faster than manual UV-exposing, etching and drilling.<br />
* Cool<br />
* No chemicals<br />
* Good for high currents, as wired are wide.<br />
* Cheaper PCB material. (Same area approx 50% the price)<br />
* PCBs of up to 30x20 cm. However, flatness is problematic.<br />
Cons:<br />
* If the board is not mounted completely flat, the isolation might be not deep enough, and hence there are short circuits.<br />
* Sometimes, flakes of copper short circuit neighboring copper areas. Usually at corners. A knife helps.<br />
* Dust.<br />
* Loud.<br />
* Capacity between adjacent copper areas.<br />
* Hotter soldering is required, as there are no thermal pads.<br />
* 0805 SMD resistors work fine, although the solder locations are not visible any more. However, SMD chips are probably to small<br />
<br />
== Metaboard*.sh ==<br />
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.<br />
It will be published, if it is working a little bit more reliable...<br />
<br />
It calls a couple of external programs:<br />
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer<br />
* eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.<br />
* <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><br />
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used.<br />
* [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))<br />
<br />
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.<br />
<br />
<del><br />
Possible issues:<br />
* Eagle sometimes stays on top: just close the opened .brd, and load your .brd again using the menu. If have no clue why this happens.<br />
* It might be necessary to have a parent project file in the same directory?<br />
</del><br />
<br />
=== Usage ===<br />
The workflow splits into the following points:<br />
* Preperation: create an eagle brd file, copy it<br />
* Metaboard*.sh: create the gcode files for the geilomat<br />
** For the most current worflow use metaboard0.6.sh . It will require a 0.6 mm mill head, which is the best, as small ic holes are possible, and the tool length is so small that little sidwards forces are created. Hence, mill speed is larger than for 0.8mm tools.<br />
** If 0.6mm are once again not available, drop back to metaboard2.sh, which uses 0.8mm mill heads.<br />
* Setup: <br />
** mount the board in the geilomat using double sided tape. <br />
** On the flat milled wood area. <br />
**Which should be de-dusted first. <br />
**Double sided tape should not overlap, as this creates 0.1mm height difference. <br />
**Insert a suitable tool. Either a sharp gravierstichel or the 0.6/0.8mm millhead.<br />
* EMC-setup: home the machine "home all", "touch off"/set coordinate system so milling will be on the actual board<br />
* Bottom layer: <br />
** Isolation-milling<br />
** drilling and cutting<br />
For single sided boards, the process stops here.<br />
* Flipping the board, mounting it.<br />
* Top layer:<br />
** Loading the top layer debugging file. <br />
** Aligning: Rotate and shift the top layers using grecode, so that the new gocde matches the mounted board.<br />
** Isolate the top.<br />
<br />
<br />
Create yourself a directory in ~/gcodes/ and copy your .brd file there. <br />
Then open up a shell window, move to the directory call <br />
metaboard0.6.sh yourboard.brd<br />
or<br />
metaboard2.sh yourboard.brd<br />
<br />
<br />
This is outdated <br />
<del> <br />
If all goes well, you will obtain a lot of *.ngc files + some PNGs, that contain [[http://en.wikipedia.org/wiki/G-code Gcode]] for the CNC process. Also, a tmp directory will be created, where there are even more files.<br />
The files in the original directoy are:<br />
* xxx_??.ngc: The top layer isloation paths.<br />
* xxx_bottom.ngc: The bottom layer isloation paths.<br />
* xxx_drillcuttop.ngc: The top layer drilling and cutting.<br />
* xxx_drillcutbottom.ngc: The bottom layer drilling and cutting.<br />
* xxx_debug.ngc: A file so you can view the content of all the other files at once, to check for errors, or measure coordinates..<br />
</del><br />
===Preperation===<br />
<br />
Then you start [[linuxcnc.org/ EMC]] on the computer next to the geilomat. You load the xxx_debug.ngc file and look at it really intense to see weather it is correct.<br />
<br />
Then you press the home-all bottom, and the mill will move to its home position on the close left corner in front of you.<br />
<br />
Mount the board using the thin double sided tape and stick it to the flat-milled piece of wood.<br />
<br />
You want to insert a 0.8 mm mill-head in the Kress (a drill might break in the the sidewards cutting movement). <br />
Then you move to one location just above the mounted PCB, and set the working coordinate system using "touch off" in X and Y. For the Z, you move next to the PCB, and go tiny bit deeper than the lower board edge, and touch off at the lowest z-coordinate value, which should be -2.5 mm. For security, move up so that the mill can move freely thereafter.<br />
<br />
===Bottom Layer===<br />
<br />
Load the xxx_bottomdrillcut.ngc file.<br />
<br />
For the drilling, set the Kress to speed "2".<br />
<br />
Close the geilomat-latch. Turn the spindle on in EMC so that the Kress rotates. Press the play button and watch out for problems. Stop with the Stop button, or with F1. After an emergency off with F1, you maybe have to reposition the machine. Try not to be overwhelmed by all the noise and awesomeness.<br />
<br />
Load the xxx_bottom.ngc file. <br />
Change the mill-head to a 0.1mm-0.3mm 30°-45° "Gravierstichel".<br />
Aproach an intended pcb corner location of the copper surface with the tool, home x and y according to the absolut locations visible in emc. Then slowly, using the joypad analog controls, lower the z axis so its nearly nearly touching. but not touching. And home z to 0.2mm. if first tests fail due to too little copper removal, stop the isolation process while its at height z=0, and rehome with 0.13, so it gets deepper at the next try.<br />
<br />
Isolate the bottom. <br />
Then insert the 0.6/0.8mm millhead. <br />
Lower again very close to the copper, again using analog controls. set z=0, 0.4 mm deviation are no problem at all in this step.<br />
drill.<br />
cut.<br />
<br />
<br />
===Top layer===<br />
<br />
Then remove the board, remove the sticky tape, and clean the surface a bit. Mount a new batch of tape to the milled surface, and glue it onto the wood so that you see the to-be top layer.<br />
<br />
load the xxx_debug file.<br />
Define two positions on the board that you identify both on the mounted board and the in the software. Only drill holes or cut-corners on the flipped top surface are suitable !<br />
Read the coordinates of this points in EMC by clicking at the line and reading the X-Y coordiates in the gcode-text-view. Write them down. <br />
<br />
<br />
Move the mill to the according locations in the flipped pcb, and write down the coordinates displayed in the 3d-window.<br />
<br />
Open a konsole, call with the inserted coordinates:<br />
grecode xxx_top.ngc -o xxx_topnew.ngc -overlay physicalPointAx physicalPointAy physicalPointBx physicalPointBy GcodePointAx GcodePointAy GcodePointBx GcodePointBy <br />
This will produce a shift-rotated gcode file xxx_topnew.ngc.<br />
Touch off the Z-height to a suitable value.<br />
Load xxx_topnew.ngc and isolate the top.<br />
<br />
----<br />
==== Metaboard OUTDATED background info ====<br />
<br />
This is the manual workflow, that is now obsolete as most steps are done by metaboard.sh.<br />
<br />
<br />
The PCB have to be put on a plain-milled surface of at least 3 mm thickness, as we are drilling.<br />
The slightest bend (0.2 mm) in the PCB will probably move the "Gravierstichel" out of the plane where it would isolate. <br />
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.<br />
<br />
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''. <br />
<br />
* Prerequisites:<br />
<del>** download [http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]</del><br />
** On Windows, that is<br />
** 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/"<br />
** download and install [[https://java3d.dev.java.net/binary-builds.html java3d]]<br />
** save [[Bild:drillbernhard.ulp.txt]] into your eagle/ulp directory without the .txt extension. Its an ugly hack of the next original ulp...<br />
** save [[Bild:gcode.ulp.txt]] into your eagle/ulp directory without the .txt extension.<br />
<br />
* Create the Eagle board. Route only on Bottom Layer.<br />
* Output using the cam-processor, using the "GERBER_RS274" device, and '''only''' the layers "bottom","pads", "vias". Filename gerber_boardname.<br />
* Output using File->RUN->(ulp-directory)->drillbernhard.ulp . Layer "bottom", Mill and cut deaktivated, drill active,outputfile "drill_boardname.ngc"<br />
<br />
* 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.<br />
<br />
* Then start Visolate, load the gerber file, make if full screen. press Fit. Fix Topology. Make toolpaths. Output file as "isolate_boardname.ngc"<br />
<br />
* Then comes the joining of the three ngc files: Create a new ngc file starting with<br />
M8 ; turn on spindle ; adjust to your mill<br />
F450<br />
G90 <br />
G21 <br />
G0 Z2.54 ; move up to 0.1 inch above<br />
G0 X-0.24 Y-0.24 ;change this to align the drill holes with the the isolation path<br />
G20<br />
;; end head<br />
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.<br />
comment out the first move to Z-0.01<br />
it could look something like this<br />
G20<br />
G17 G40 G49 G80<br />
G91<br />
G1 Z0.1<br />
G0 X0.10814 Y0.28534<br />
;G1 Z-0.1 ;; uncommented t<br />
G1 X0.00392 Y0<br />
;; end isolate<br />
insert a commented line with an end program. <br />
; G0 Z20 M2 ; program end to manual tool-change to drill<br />
after the isolation we will insert the content of drill_boardname.ngc<br />
adjust the variables posdown to -2.1 posup to 1, feedown to 100,feedup to 200<br />
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.<br />
Maybe you have to invert all Y coordinates because of the mirroring<br />
<br />
<br />
The complete file then should have some head, the isolation, the drilling and the cutting.<br />
<br />
* 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.<br />
<br />
* 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]<br />
<br />
* 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.<br />
* If the isolation is not deep enough, touch off z in lower height, and restart.<br />
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.<br />
* Reload in Axis, scroll to the line right before the drilling, right click->run from here.<br />
* do all the drilling and sidewards cutting.<br />
<br />
<br />
<br />
* 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.<br />
<br />
==Links==<br />
[http://millpcbs.com/ PCB milling]<br />
<br />
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!]<br />
<br />
[[Kategorie:WhateverLab]] <br />
[[Kategorie:Projekte]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=HSC2011/Team&diff=36396HSC2011/Team2011-03-28T14:24:19Z<p>Bkubicek: </p>
<hr />
<div>{|border="1" cellpadding="5" cellspacing="0" style="text-align:left;"<br />
|- style="background:#ccc;"<br />
! Nickname !! Assigned Tasks<br />
|- <br />
| [[Benutzer:Overflo|Overflo]] || Communication, Coordination, Roadmapoverview, Documentation, Soldermonkey<br />
|- <br />
| [[Benutzer:Clifford|Clifford]] || PCB layout, firmware basics<br />
|-<br />
| [[Benutzer:Amir|Amir]] || Server implementation, protocol design<br />
|- <br />
| [[Benutzer:stereotype|Stereotype]] || Community updates + ?<br />
|- <br />
| [[Benutzer:bkubicek|bkubicek]] || Platinen, falls mir wer eagle.brd files gibt.<br />
|- <br />
| [[Benutzer:chrysn|chrysn]] || firmware, RF, serial communication<br />
|- <br />
| [[Benutzer:?|?]] || ?<br />
|- <br />
<br />
|}<br />
<br />
<br />
<br />
[[Kategorie:HSC2011]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=T-Shirts/T-Shirt_1.1&diff=36212T-Shirts/T-Shirt 1.12011-03-19T17:16:18Z<p>Bkubicek: /* ich möchte bestellen! */</p>
<hr />
<div>''Shirts - kewl! Hier gehts zur T-Shirt [[T-Shirts|Übersichtsseite]]''<br />
<br />
<br />
Das Metalab Wappen T-Shirt wie ursprünglich von von [[User:Stereotype|Leo]] und [[User:Cygenb0ck|cygenb0ck]] vorgestellt und jetzt von Stefan überarbeitet.<br />
<br />
Viribus Unitis (dt. = mit vereinten Kräften) war der Wahlspruch Kaiser Franz Josephs I.<br />
<br />
[[wde:SMS_Viribus_Unitis|Dereinst hatten wir ja noch eine ECHTE Marine..]] :)<br />
<br />
==pdf==<br />
[[Bild:Metalab_wappen_neu.pdf|(cc) by nc-sa, überarbeitet von Stefan]]<br />
<br />
==png==<br />
[[Bild:Metalab_wappen_neu.png|600px|(cc) by nc-sa, überarbeitet von Stefan]]<br />
<br />
<br />
=Facts=<br />
Von diesem Shirt wurden noch keine Charge geordert.<br />
<br />
Es ist aber gerade eine Bestellung im Laufen - also nix wie mitbestellen!<br />
<br />
Link zur [[T-Shirts/T-Shirt_Bestellung|Bestellseite]]<br />
<br />
<br />
==ich möchte bestellen!==<br />
*2x vandebina (girlie)<br />
*fin: 1*S, 1*M, 1*S-girly<br />
*ra: 1*M<br />
*tina: 1*M, 1*Girlie fuers Kind<br />
*consti: 1*M (Männlich) 1*M (Weiblich)<br />
*cygenb0ck: 1*XL<br />
*[[Benutzer:fosstux|fosstux]]: 2*XXL<br />
*[[Benutzer:pepi|pepi]] 1*M<br />
*queltos: 1*M<br />
*[[Benutzer:scripty|scripty]] 1*L<br />
*[[Benutzer:mind|mind]] 1*S, 1*M<br />
*[[user:thp|thp]]: 1*M<br />
*[[user:Mynnia|Mynnia]]: 1*M(girlie), 1*M("boyie")<br />
*[[Benutzer:oib|oib]] 1*L<br />
*[[Benutzer:chrysn|chrysn]] 1*L<br />
*[[Benutzer:AndiS|AndiS]] 1*M<br />
*[[Benutzer:Eisbaer|Eisbaer]] 1*XL<br />
*[[Benutzer:Herbert|Herbert]] 2*S<br />
*[[Benutzer:amir|amir]] 2*L<br />
*[[Benutzer:metaz|meta]] 1*XL, 1*L<br />
*[[Benutzer:mazzo|mazzo]] 1*XL<br />
*[[Benutzer:datacop|datacop]] 2*M<br />
*[[User:Pk|PK]] 1*XL, 1*L<br />
*[[User:bons|bons]] 1*L, 1*L(girlie)<br />
*[[User:japhy|japhy]] 1*XS evtl. S, 1*S(girlie), 1*XS(girlie)<br />
*[[Benutzer:worm23|worm23]] 2*XL<br />
*[[Benutzer:stereotype|Leo]] 2*S, 1*S girlie<br />
*[[Benutzer:bkubicek|Bernhard Kubicek]] 2*XL [herrlich] 1M (fraulich)<br />
*[[Benutzer:markus|markus]] 1*L<br />
*[[Benutzer:jain7th|jain7th]] 1*M<br />
<br />
[[Kategorie:Shirts]]</div>Bkubicekhttps://metalab.at/wiki/index.php?title=T-Shirts/T-Shirt_1.1&diff=36205T-Shirts/T-Shirt 1.12011-03-19T07:25:53Z<p>Bkubicek: /* ich möchte bestellen! */</p>
<hr />
<div>''Shirts - kewl! Hier gehts zur T-Shirt [[T-Shirts|Übersichtsseite]]''<br />
<br />
<br />
Das Metalab Wappen T-Shirt wie ursprünglich von von [[User:Stereotype|Leo]] und [[User:Cygenb0ck|cygenb0ck]] vorgestellt und jetzt von Stefan überarbeitet.<br />
<br />
Viribus Unitis (dt. = mit vereinten Kräften) war der Wahlspruch Kaiser Franz Josephs I.<br />
<br />
[[wde:SMS_Viribus_Unitis|Dereinst hatten wir ja noch eine ECHTE Marine..]] :)<br />
<br />
==pdf==<br />
[[Bild:Metalab_wappen_neu.pdf|(cc) by nc-sa, überarbeitet von Stefan]]<br />
<br />
==png==<br />
[[Bild:Metalab_wappen_neu.png|600px|(cc) by nc-sa, überarbeitet von Stefan]]<br />
<br />
<br />
=Facts=<br />
Von diesem Shirt wurden noch keine Charge geordert.<br />
<br />
Es ist aber gerade eine Bestellung im Laufen - also nix wie mitbestellen!<br />
<br />
Link zur [[T-Shirts/T-Shirt_Bestellung|Bestellseite]]<br />
<br />
<br />
==ich möchte bestellen!==<br />
*2x vandebina (girlie)<br />
*fin: 1*S, 1*M, 1*S-girly<br />
*ra: 1*M<br />
*tina: 1*M, 1*Girlie fuers Kind<br />
*consti: 1*M (Männlich) 1*M (Weiblich)<br />
*cygenb0ck: 1*XL<br />
*[[Benutzer:fosstux|fosstux]]: 2*XXL<br />
*[[Benutzer:pepi|pepi]] 1*M<br />
*queltos: 1*M<br />
*[[Benutzer:scripty|scripty]] 1*L<br />
*[[Benutzer:mind|mind]] 1*S, 1*M<br />
*[[user:thp|thp]]: 1*M<br />
*[[user:Mynnia|Mynnia]]: 1*M(girlie), 1*M("boyie")<br />
*[[Benutzer:oib|oib]] 1*L<br />
*[[Benutzer:chrysn|chrysn]] 1*L<br />
*[[Benutzer:AndiS|AndiS]] 1*M<br />
*[[Benutzer:Eisbaer|Eisbaer]] 1*XL<br />
*[[Benutzer:Herbert|Herbert]] 2*S<br />
*[[Benutzer:amir|amir]] 2*L<br />
*[[Benutzer:metaz|meta]] 1*XL, 1*L<br />
*[[Benutzer:mazzo|mazzo]] 1*XL<br />
*[[Benutzer:datacop|datacop]] 2*M<br />
*[[User:Pk|PK]] 1*XL, 1*L<br />
*[[User:bons|bons]] 1*L, 1*L(girlie)<br />
*[[User:japhy|japhy]] 1*XS evtl. S, 1*S(girlie), 1*XS(girlie)<br />
*[[Benutzer:worm23|worm23]] 2*XL<br />
*[[Benutzer:stereotype|Leo]] 2*S, 1*S girlie<br />
*[[Benutzer:bkubicek|Bernhard Kubicek]] 2*XL [herrlich] <br />
<br />
[[Kategorie:Shirts]]</div>Bkubicek