Ero sivun ”Piirilevyjyrsintä” versioiden välillä

Helsinki Hacklabin wikistä
Siirry navigaatioon Siirry hakuun
 
(69 välissä olevaa versiota toisen käyttäjän tekemänä ei näytetä)
Rivi 1: Rivi 1:
 
[[Category:Vinkit]]
 
[[Category:Vinkit]]
 +
[[Category:Hiili|Piirilevyjyrsintä]]
 +
 +
For English tranlation use google link https://wiki-helsinki-hacklab-fi.translate.goog/Piirilevyjyrsint%C3%A4?_x_tr_sl=fi&_x_tr_tl=en
  
 
== Piirilevyjyrsinnän työvaiheet==
 
== Piirilevyjyrsinnän työvaiheet==
Rivi 5: Rivi 8:
 
=== Piirilevylayoutin suunnittelu ===
 
=== Piirilevylayoutin suunnittelu ===
  
* Piirilevylayoutin suositusspeksit:  
+
* Piirilevylayoutin suunnittelu
** track: 0.5mm, trackien isolaatiot 0.4mmpad 0805 (=2mmx1.2 mm padit. '''1)'''
+
** Piirilevyn suunnitteluspeksit:  
** Hacklab piirilevyjyrsinnän peruskonfiguraatiossa oletuksena, että kaikki PTH (=kupari) reijät ovat saman kokoisia. Samoin kaikki NPTH (=kiinnitys= ei-kupari) reijät saman kokoisia. '''2)'''
+
*** track 0.25mm, pad 0603, soic paketti - soic paketin jalkojen väli 1.27 mm, jolloin tracking kuljettamista soic pad:ien välistä on mahdolista '''1)'''
* Piirilevyn sijoittaminen koordinaatistoon '''3)'''
+
*** Hacklab piirilevyjyrsinnän peruskonfiguraatiossa oletuksena, että kaikki PTH (=kupari) reijät ovat saman kokoisia. Samoin kaikki NPTH (=kiinnitys= ei-kupari) reijät saman kokoisia. '''1)'''
** Yksipuoleisen piirilevyllä origo sijoitetaan piirilevyn vasempaan alanurkkaan  
+
** Piirilevyn sijoittaminen koordinaatistoon '''2)'''
** Kaksipuoleisella origo sijoitetaan piirilevyn alareunan keskikohtaan. Kaksipuoleisen piirilevyn kohdistamista varten Y-akselille kaksi via:aa: '''4)'''
+
*** Yksipuoleisen piirilevyn origo sijoitetaan piirilevyn vasempaan alanurkkaan  
*** Toinen y-akselille kohtaan X=0, Y=-3 mm  
+
*** Kaksipuoleisella piirilevyllä origo sijoitetaan piirilevyn alareunan keskelle. Kaksipuoleisen piirilevyn kohdistamista varten Y-akselille kaksi via:aa: '''3)'''
 +
**** Toinen y-akselille kohtaan X=0, Y=-3 mm  
 
***ja toinen Y-akselille 3 mm piirilevyn yläreunan yläpuolelle.
 
***ja toinen Y-akselille 3 mm piirilevyn yläreunan yläpuolelle.
 +
** Laserkaiverruksen kohdistusksen merkitseminen (mikäli aiot laser kaivertaa piirilevyn ei-kuparipuolelle merkintöjä, kupariin CO2 laser:lla ei voi tehdä merkintöjä)
 +
*** Tee (front tai back silkkikerrokseen) pieni kulmamerkki levyn vasempaan alareunaan ja oikeaan yläreunaan. '''4)'''
 
* Piirilevyn layoutin suunnittelun lopputuloksena projektin ''PROJ'' Gerber -tiedostot '''5)'''
 
* Piirilevyn layoutin suunnittelun lopputuloksena projektin ''PROJ'' Gerber -tiedostot '''5)'''
 
** <code>PROJ_F_Cu.gbr</code>: etupuolen kuparikerros
 
** <code>PROJ_F_Cu.gbr</code>: etupuolen kuparikerros
Rivi 18: Rivi 24:
 
** <code>PROJ_Edge_Cuts.gbr</code>: piirilevyn reunat
 
** <code>PROJ_Edge_Cuts.gbr</code>: piirilevyn reunat
 
** <code>PROJ_PTH.drl</code>: kuparireikien (Plated Through Hole) porausohjeet
 
** <code>PROJ_PTH.drl</code>: kuparireikien (Plated Through Hole) porausohjeet
** <code>PROJ_NPTH.drl</code>: ei kuparireikien (Non Plated Through Hole) porausohjeet
+
** <code>milldrill.ngc</code> (tai <code>PROJ_NPTH.drl</code> jos cam konfiguraatiossa käytössä reikien poraus eikä jyrsintä) : asennusreikien (Non Plated Through Hole) porausohjeet
  
 
----
 
----
1) Käytännössä näillä spekseillä pädien välistä olevat vedot eivät onnistu. Pienemmätkin toleranssit voivat onnistua - kokeilemalla selviää.<br/>
+
1) Erikokoisten reikien käyttö piirilevyssä ks. alla  [[gerber->gcode muunnoksen konfigruaatiot/pcb2gcode työkalun konfiguraatiot]]<br/>
2) Erikokoisten reikien käyttö piirilevyssä ks. alla  [[gerber->gcode muunnoksen konfigruaatiot/pcb2gcode työkalun konfiguraatiot]]<br/>
+
2) CAM - työkalun konfiguraatiossa mahdollista, että CAM -työkalu siirtää piirilevyn origon automaagisesti jyrsinnän kannalta oikeaan kohtaa. Lab jyrsintäputkessa tätä toimintoa ei ole käytetty. <br/>
3) CAM - työkalun konfiguraatiossa mahdollista, että CAM -työkalu siirtää piirilevyn origon automaagisesti jyrsinnän kannalta oikeaan kohtaa. Lab jyrsintäputkessa tätä toimintoa ei ole käytetty. <br/>
+
3) 3mm tulee siitä, että Lab:in jyrsintäputkessa vakioitu reunan jyrsintätuokalu 2mm. Kohdistus -viat 1mm tämän työkalun ulkopuolelle. <br/>
4) 3mm tulee siitä, että Lab:in jyrsintäputkessa vakioitu reunan jyrsintätuokalu 2mm. Kohdistus -viat 1mm tämän työkalun ulkopuolelle. <br/>
+
4) Gerber png export tekee hieman piirilevyä suuremman png -kuvan ja laser -kaiverruksen kohdistusta varten png on cropattava piirilevyn kokoiseksi näiden nurkkamerkkien avulla.<br/>
 
5) Tiedostot ='''ei''' zip paketti. Lab:in jyrsintäputkessa ei tueta zip -paketin purkua. <br/>
 
5) Tiedostot ='''ei''' zip paketti. Lab:in jyrsintäputkessa ei tueta zip -paketin purkua. <br/>
  
Rivi 30: Rivi 36:
  
 
Työvaiheet Gerber muuntamiseksi gcodeksi:
 
Työvaiheet Gerber muuntamiseksi gcodeksi:
* Projektin ''PROJ'' Gerber -tiedostot ( <code>PROJ_F_Cu.gbr</code>, <code>PROJ_B_Cu.gbr</code>, <code>PROJ_Edge_ts.gbr</code>, <code>PROJ_PTH.drl</code>, <code>PROJ_NPTH.drl</code>) kopioidaan ''etool'' -työkalun <code>01-gerber</code> -hakemistoon '''1)'''
+
* Aluksi on suositeltavaa restoida  Gerber->gcode muunnoksen konfiguraatiot '''1)'''
* ''etool'' -työkalun avulla muunnetaan  projektin ''PROJ''  <code>01-gerber</code> -hakemistossa olevat Gerber tiedostot gcode -tiedostoiksi <code>02-ngc</code> -hakemistoon. Tuloksena: '''2)'''
+
* Projektin ''PROJ'' Gerber -tiedostot ( <code>PROJ_F_Cu.gbr</code>, <code>PROJ_B_Cu.gbr</code>, <code>PROJ_Edge_ts.gbr</code>, <code>PROJ_PTH.drl</code>, <code>milldrill.drl</code>) kopioidaan ''etool'' -työkalun <code>01-gerber</code> -hakemistoon '''2)'''
 +
* Mikäli piirilevy jyrsintä vain takapuolelle niin muuta <code>pcb2gcode.ini</code> -tiedostossa
 +
** <code>drill-side=back</code>
 +
** <code>cut-side=back</code>
 +
* ''etool'' -työkalun avulla muunnetaan  projektin ''PROJ''  <code>01-gerber</code> -hakemistossa olevat Gerber tiedostot gcode -tiedostoiksi <code>02-ngc</code> -hakemistoon. '''3)''', '''4)'''
 +
*  Tuloksena <code>02-ngc</code> -hakemistossa:
 
** <code>PROJ_F_Cu.ngc</code>: etupuolen kuparikerroksen jyrsintä  
 
** <code>PROJ_F_Cu.ngc</code>: etupuolen kuparikerroksen jyrsintä  
 
** <code>PROJ_B_Cu.ngc</code>: takapuolen kuparikerroksen jyrsintä
 
** <code>PROJ_B_Cu.ngc</code>: takapuolen kuparikerroksen jyrsintä
 
** <code>PROJ_Edge_Cuts.ngc</code>: piirilevyn reunojen jyrsintä
 
** <code>PROJ_Edge_Cuts.ngc</code>: piirilevyn reunojen jyrsintä
 
** <code>PROJ_PTH.ngc</code>: kuparireikien (Plated Through Hole) porausohjeet
 
** <code>PROJ_PTH.ngc</code>: kuparireikien (Plated Through Hole) porausohjeet
** <code>PROJ_NPTH.ngc</code>: ei kuparireikien (Non Plated Through Hole) porausohjeet
+
** <code>milldrill.ngc</code>: ei kuparireikien (Non Plated Through Hole) porausohjeet (Poraamalla tehtävä reijät <code>PROJ_NPTH.ngc</code> -tiedostoon - jos pcb2gcode tiedostossa konfiguroitu NPTH reikien teko poraamalla)
* Kaksipuoleisella piirilevylle tuotetaan lisäksi erillinen poraustiedosto <code>PROJ_PTH-ALIGN.ngc</code>, jolla X=0 akselilla olevat kohdistus -viat porataan syvemmiksi kuin piirilevyllä olevat normaalit viat. '''3)'''
+
* Kaksipuoleisella piirilevylle tuotetaan lisäksi erillinen poraustiedosto <code>PROJ_PTH-ALIGN.ngc</code>, jolla X=0 akselilla olevat kohdistus -viat porataan syvemmiksi kuin piirilevyllä olevat normaalit viat. '''5)'''
* Simulaattorin avulla varmistetaan hakemistossa <code>02-ngc</code> olevien gcode -tiedostojen oikeellisuus. Erityisesti varmistettava kohdistus -viojen porauskoodin <code>PROJ_PTH-ALIGN.ngc</code> oikeellisuus. '''4)'''
+
* Simulaattorin avulla varmistetaan hakemistossa <code>02-ngc</code> olevien gcode -tiedostojen oikeellisuus. Erityisesti varmistettava kohdistus -viojen porauskoodin <code>PROJ_PTH-ALIGN.ngc</code> oikeellisuus. '''6)'''
* Simulaattorivarmennuksen jälkeen gcode -tiedostot (<code>PROJ_F_Cu.ngc</code>, <code>PROJ_Edge_Cuts.ngc</code>, <code>PROJ_PTH.ngc</code>, <code>PROJ_NPTH.ngc</code>, kaksipuoleisella piirilevyillä lisäksi <code>PROJ_B_Cu.ngc</code> ja <code>PROJ_PTH-ALIGN.ngc</code>) kopioidaan tikulle siirrettäväksi jyrsintäkoneelle.
+
* Simulaattorivarmennuksen jälkeen gcode -tiedostot (<code>PROJ_F_Cu.ngc</code>, <code>PROJ_Edge_Cuts.ngc</code>, <code>PROJ_PTH.ngc</code>, <code>milldrill.ngc</code> (tai  <code>PROJ_NPTH.ngc</code>), kaksipuoleisella piirilevyillä lisäksi <code>PROJ_B_Cu.ngc</code> ja <code>PROJ_PTH-ALIGN.ngc</code>) kopioidaan tikulle siirrettäväksi jyrsintäkoneelle.
 
 
 
----
 
----
1) Jos piirilevyn suunnittelutyökalu ja ''etool'' -työkalu asennettu samaan koneeseen niin Gerber -tiedostot voidaan ohjata tulemaan automaagisesti <code>01-gerber</code> -hakemistoon ja yksi kopiointi työvaihe jää välistä. <br/>
+
1) Poista ''etool'' -työkalun hakemisto (hiljaisen huoneen PC:llä <code>Documents/etool</code>). Hiljaisen huoneen PC:llä käynnistä Docker ja X-ikkunointi kuten kohdassa "etool työkalun käyttö hiljaisen huoneen PC -työasemalla" on esitetty. Ajamalla komento <code>etool.cmd ls</code> työkalu luo hakemistorakenteen ja alustaa konfiguraatiot oletusarvioihin.<br/>.
2) <code>etool.cmd gerber PROJ</code> -komento<br/>
+
2) Jos piirilevyn suunnittelutyökalu ja ''etool'' -työkalu asennettu samaan koneeseen niin Gerber -tiedostot voidaan ohjata tulemaan automaagisesti <code>01-gerber</code> -hakemistoon ja yksi kopiointi työvaihe jää välistä. <br/>
3) <code>etool.cmd adrill PROJ</code> -komento. Käynnistää skriptin, jonka oikeellisuudesta ei ole varmuutta: Tarkista simulaattorilla ja korjaa tarvittaessa käsin!!!<br/>
+
3) <code>etool.cmd gerber PROJ</code> -komento. Komento tuottaa  gcode tiedostojen lisäksi automaagisesti myös silkkipainatuksen kuvatiedostot <code>02-silk</code> -hakemistoon (ks. alla laserkaiverruksen ohjeet)<br/>
4) <code>etool.cmd simulator</code> komento käynnistää ''linuxcnc'' -simulaattorin.<br/>
+
4) Tässä vaiheessa kannattaa lukea ohjelman outputti ja painaa mieleen, miltä puolelta poraukset ja edge cut:it tehdään, jotta menee sitten jyrsinnässä oikein. <br/>
 +
5) <code>etool.cmd adrill PROJ</code> -komento. Käynnistää skriptin, jonka oikeellisuudesta ei ole varmuutta: Tarkista simulaattorilla ja korjaa tarvittaessa käsin!!!<br/>
 +
6) <code>etool.cmd simulator</code> komento käynnistää ''linuxcnc'' -simulaattorin.<br/>
  
 
=== Jyrsintä  ===
 
=== Jyrsintä  ===
Rivi 51: Rivi 63:
 
Jyrsinnän työvaiheet:
 
Jyrsinnän työvaiheet:
 
* Siirrä gcode -tiedostot (<code>PROJ_F_Cu.ngc</code>, <code>PROJ_Edge_Cuts.ngc</code>, <code>PROJ_PTH.ngc</code>, <code>PROJ_NPTH.ngc</code>, kaksipuoleisella piirilevyillä lisäksi <code>PROJ_B_Cu.ngc</code> ja <code>PROJ_PTH-ALIGN.ngc</code>) tikulla jyrsintäkoneelle.
 
* Siirrä gcode -tiedostot (<code>PROJ_F_Cu.ngc</code>, <code>PROJ_Edge_Cuts.ngc</code>, <code>PROJ_PTH.ngc</code>, <code>PROJ_NPTH.ngc</code>, kaksipuoleisella piirilevyillä lisäksi <code>PROJ_B_Cu.ngc</code> ja <code>PROJ_PTH-ALIGN.ngc</code>) tikulla jyrsintäkoneelle.
* Kiinnitä riittävän suuri piirilevyaihio kaksipuoleisella teipillä puualustaan,  joka on tukavasti kiinni jyrsijän pöydässä.
+
* Kiinnitä riittävän suuri piirilevyaihio kaksipuoleisella teipillä alustaan,  joka on tukavasti kiinni jyrsijän pöydässä.
 
* Aseta jyrsijän origo (Touch off X=0,Y=0) piirilevyaihiolle kohtaan, johon haluat piirilevyn origon sijoittuvan
 
* Aseta jyrsijän origo (Touch off X=0,Y=0) piirilevyaihiolle kohtaan, johon haluat piirilevyn origon sijoittuvan
 
* Piirilevyn gcode jyrsintä:
 
* Piirilevyn gcode jyrsintä:
# Etupuolen kuparin jyrsintä (<code>PROJ_F_Cu.ngc</code>). '''1)'''
 
 
# Jos kaksipuoleinen piirilevy:
 
# Jos kaksipuoleinen piirilevy:
## poraa kohdisusreijät <code>PROJ_PTH-ALIGN.ngc</code>) '''2)'''
+
## Takapuolen kuparin jyrsintä (V-terällä) code>PROJ_B_Cu.ngc</code>) '''1)'''
 +
## poraa kohdisusreijät (esim. 0.8 mm poraterä) <code>PROJ_PTH-ALIGN.ngc</code>) '''2)''', '''3)'''
 
## käännä piirilevy. Ennen kääntämistä huomioi missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn puualustalla oikeaan kohtaan kääntämämisen jälkeen.
 
## käännä piirilevy. Ennen kääntämistä huomioi missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn puualustalla oikeaan kohtaan kääntämämisen jälkeen.
## Takapuolen kuparin jyrsintä (<code>PROJ_B_Cu.ngc</code>) '''1)'''
+
# Etupuolen kuparin jyrsintä (V-terä) (<code>PROJ_F_Cu.ngc</code>). '''1)'''
## Käännä piirilevy takaisin etupuolelle (jälleen kohdistus kohdistusreikien avulla puualustalle)
+
# Poraa kuparireijät (esim. 0.9 mm pora):  <code>PROJ_PTH.ngc</code> '''2)''', '''4)'''
# Poraa kuparireijät:  <code>PROJ_PTH.ngc</code> '''2)'''
+
# Poraa kiinnitysrejät (2mm reunajyrsinterä):<code>PROJ_NPTH.ngc</code> '''2)''', '''4)'''
# Poraa kiinnitysrejät:<code>PROJ_NPTH.ngc</code> '''2)'''
+
# Leikkaa piirilevyn reunat (2mm reunajyrsinterä=sama kuin edellisessä vaiheessa)<code>PROJ_Edge_Cuts.ngc</code>. '''2)''', '''4)'''
# Leikkaa piirilevyn reunat <code>PROJ_Edge_Cuts.ngc</code>. '''2)'''
 
  
 
----
 
----
1) Ennen jyrsinnän käynnistystä terän vaihto, z-koordinaatin <code>touch off</code> ja proben tarkistus.<br/>
+
1) Ennen jyrsinnän käynnistystä terän vaihto, z-koordinaatin <code>touch off</code> . Jyrsintäohjelma toiminta kaksivaiheisesti: käynnistyksen jälkeen se tekee ensin probetuksen ja tämän jälkeen varsinaisen jyrsinnän. Vaiheiden välillä pysytyy ja mahdollisesti avaa dialogin "continue": kuittaile dialogit ja laita ohjelma jatkumaan "pausesta". Spidenli käyntiin vastaa probetuksen jälkeen.<br/>
 
2) Ennen jyrsinnän käynnistystä terän vaihto ja z-koordinaatin <code>touch off</code>.<br/>
 
2) Ennen jyrsinnän käynnistystä terän vaihto ja z-koordinaatin <code>touch off</code>.<br/>
 +
3) Kaksipuoleinen piirilevy on ohjeistettu sijoitettavaksi symmetrisesti Y-akselin suhteen, joten kohdistusreijät voi porata takapuolelta (vaikka muut reijät tehdään etupuolelta).<br/>
 +
4) etool:in output:ssa pitäisi olla maininta, että reijät tehdään etupuolelta. Vain jos trackit takapuolella, niin reijät ja etureunan jyrstin pitäisi ohjata takapuolelle.<br/>
 +
 +
=== Laserkaiverrus  ===
 +
 +
* Croppaa hakemistossa <code>02-silk</code> olevat silkkipainatuksen kuvatiedostot,  etupuolen kuvatiedosta <code>PROJ-F_SilkS.png</code> ja takapuolen kuvatiedosto (<code>PROJ-B_SilkS.png</code>) piirilevysuunnitteluohjelmassa tekemiesi reunamerkintöjen mukaisesti. '''1)'''
 +
* Siirrä silkkipainoksen kuvatiedostot <code>PROJ-F_SilkS.png</code> tai <code>PROJ-B_SilkS.png</code> laserkaiverruksen työasemalle
 +
* Laser:in poltto-ohjelmassa
 +
** Varmista, että kuvatiedoston värit ovat siten, että kaiverrettavat merkinnät ovat mustia valkoisella pohjalla, tarvittaessa invertoi värit '''2)'''
 +
** Tee (cropatun) silkkipainatuksen -png kuvatiedoston ympärille suorakaide ja Leikkaa sen avulla pahviin piirilevyn kokoinen sabluuna. 
 +
*** Pahvien leikkauksen laser parametrit (joita onnistuneesti käytetty): speed 100 mm/s, power 20%
 +
** Asata piirilevy pahviin leikattuun sabluunaan ja kaiverra png -kuvan merkinnät
 +
*** Laser parametrit (joilla merkintä saatu tehtyä onnistuneesti): speed 100 mm/s, x-bi-directional, accuracy 0.05 mm, laser 2%
 +
*** pahvin alle voi varovasti pujottaa esim a4:n estämään piirilevyn putomista alas
 +
*** jos laserin puhallus liikuttaa (kevyttä) piirilevyä, teippaa piirilevy reunoista kiinni pahviin kohdista, joihin ei tule merkintää
 +
 +
----
 +
1) ''etool'' -työkalu tekee nämä tiedostot samalla, kun se tekee jyrsinnän gcode tiedostot.<br/>
 +
2) Jotkin piirilevysuunnitteluohjelmat (KiCad oletus) tuottavat silkkipainatuksen merkinnät valkoisella mustaa pohjaa vasten.<br/>
  
 
=== Piirilevyn jälkikäsittely ===
 
=== Piirilevyn jälkikäsittely ===
  
* Reunojen siivous ja mahdollinen hionta
+
* Reunojen siivous hiekkapaperilla, pinnan putsaus esim. 400 hiomatyynyllä
  
 
* Tarkista mikroskoopille jyysteet ja oikosulut, tasaa mahdolliset purskeet
 
* Tarkista mikroskoopille jyysteet ja oikosulut, tasaa mahdolliset purskeet
  
 +
* Huomioita piirilevyn juottamisesta
 +
** Viat ovat porauksen jälkeen läpireikiä ja sähköistä kytkentää varten etu ja takapuolen väliin pitää juottaa johdin
 +
** Pinheadereiden muoviosia voi liuttaa ylöspäin juottamista varten. Muillla liitintyypeillä liitinkotelon alla olevien padien juottaminen on vähintäänkin hankalaa.
 
== Piirilevyjyrsinnän työkaluohjeet ==
 
== Piirilevyjyrsinnän työkaluohjeet ==
  
 
=== Piirilevysuunnitteluohjelmat ===  
 
=== Piirilevysuunnitteluohjelmat ===  
  
* ''KiCad'' '''1)'''
+
==== KiCad ====
** <code>File -> Plot</code> -toiminnon dialogissa "<code>Use extended X2 format</code>" ruksi poistetaan
+
* Projektin nimessä ei saa olla spacejä (myöhemmin ongelmia jossain kohtaa ketjua)
** Jos käytät Lab:in hiljaisen huoneen PC:tä niin <code>Output directory</code>: <code>C:\Users\hacklab\Documents\etool\01-gerber</code>. Kopioi Ggerber -tiedostot tähän hakemistoon, jos teet piirilevysuunnittelun muussa ympäristössä ja haluat käyttää hiljaisen huoneen PC työasemaa gerber->gcode muunnoksen tekemiseen.
+
* <code>File -> Plot</code> -toiminnon dialogissa "<code>Use extended X2 format</code>" ruksi poistetaan
 +
* Jos käytät Lab:in hiljaisen huoneen PC:tä niin <code>Output directory</code>: <code>C:\Users\hacklab\Documents\etool\01-gerber</code>. Kopioi Ggerber -tiedostot tähän hakemistoon, jos teet piirilevysuunnittelun muussa ympäristössä ja haluat käyttää hiljaisen huoneen PC työasemaa gerber->gcode muunnoksen tekemiseen.
  
* Muiden piirilevysuunnitteluohjelmien tekeminen Gerber -tiedostojen käyttö saattaa onnistua, mutta ei ole testattu.
+
Muiden piirilevysuunnitteluohjelmien tekeminen Gerber -tiedostojen käyttö saattaa onnistua, mutta ei ole testattu.
  
----
+
 
1)  '''TODO''' Suunnittelukriteerien toteutus KiCad työkaluun.<br/>
+
'''TODO''' Suunnittelukriteerien toteutus KiCad työkaluun.<br/>
  
 
=== Etool työkalu ===
 
=== Etool työkalu ===
  
''etool'' -työkalu https://github.com/jarjuk/etool
+
''etool'' -työkalu https://github.com/jarjuk/etool on Docker kontti, joka löytyy Docker hub:sta nimellä <code>marcus2002/etool</code>. Siihen on paketoitu ''pcb2gcode'' https://github.com/pcb2gcode/pcb2gcode CAM työkalu ja https://linuxcnc.org CNC simulaattori sekä pieni skripti tukemaan näiden työkalujen käyttöä.
 +
 
 +
Tässä kappaleessa dokumentoidaan kontin asennus Hacklab:in ympäristöön ja miten sitä käytetään Lab:lla osana piirilevyjyrsinnän työnkulkuja.
  
 
==== ''etool'' työkalun käyttö hiljaisen huoneen PC -työasemalla ====
 
==== ''etool'' työkalun käyttö hiljaisen huoneen PC -työasemalla ====
  
''etool'' -työkalu on asennettu hiljaisen huoneen Windows 10 PC -työasemaan. Työkalun käynnistysskripti sijaitsee hakemistossa  <code>C:\Users\hacklab\hacklab\bin\etool.cmd</code> ja sen datahakemisto on <code>C:\Users\hacklab\Documents\etool</code>. Hakemistosta <code>C:\Users\hacklab\Documents\etool</code> löytyvät
+
''etool'' -työkalu on asennettu hiljaisen huoneen Windows 10 PC -työasemaan. Työkalun käynnistysskripti on tiedostossa <code>C:\Users\hacklab\hacklab\bin\etool.cmd</code> ja sen datahakemisto on <code>C:\Users\hacklab\Documents\etool</code>. Hakemistosta <code>C:\Users\hacklab\Documents\etool</code> löytyvät
 
* konfiguraatiotiedosto <code>pcb2gcode.ini</code>: gerber -> gcode -muunnoksen CAM -parametrit
 
* konfiguraatiotiedosto <code>pcb2gcode.ini</code>: gerber -> gcode -muunnoksen CAM -parametrit
 
* konfiguraatiotiedosto <code>pcb2gcode-control.template</code>: gerber tiedostojen nimeämissännöt  
 
* konfiguraatiotiedosto <code>pcb2gcode-control.template</code>: gerber tiedostojen nimeämissännöt  
Rivi 99: Rivi 135:
 
* datahakemisto <code>02-ngc</code>: gerber -> gcode -muunnoksen output hakemisto
 
* datahakemisto <code>02-ngc</code>: gerber -> gcode -muunnoksen output hakemisto
  
 +
Ennen <code>etool.cmd</code> -skriptin käynnistystä
 +
* käynnistä Docker desktop
 +
* käynnistä X-windows serveri
 +
** X:n käynnistysikkunassa käyttöoikeudet kohta - anna kaikki oikeudet
  
<code>etool.cmd</code> skripti käynnistäminen, esimerkiksi tuplaklikkamalla työpöydällä olevaa ShortCut -linkkiä
+
<code>etool.cmd</code> -skripti käynnistäminen, esimerkiksi tuplaklikkamalla työpöydällä olevaa ShortCut -linkkiä
 
* tulostaa käyttöohjeen ja  
 
* tulostaa käyttöohjeen ja  
 
* avaa komentotulkin, jolla voit suoritaa mm. komennot
 
* avaa komentotulkin, jolla voit suoritaa mm. komennot
Rivi 108: Rivi 148:
 
** <code>etool.cmd gerber PROJ</code>: Projektin ''PROJ'' gerbereiden muunnos gcodeksi. Hakemisto <code>01-gerber</code> -->  <code>02-ngc</code>
 
** <code>etool.cmd gerber PROJ</code>: Projektin ''PROJ'' gerbereiden muunnos gcodeksi. Hakemisto <code>01-gerber</code> -->  <code>02-ngc</code>
 
** <code>etool.cmd ardill PROJ</code>: Projektin ''PROJ'' kohdistusreikien gcoden tuottaminen  hakemistoon <code>02-ngc</code>
 
** <code>etool.cmd ardill PROJ</code>: Projektin ''PROJ'' kohdistusreikien gcoden tuottaminen  hakemistoon <code>02-ngc</code>
** <code>etool.cmd simulator</code>: linuxcnc simulaattorin käynnistys
+
** <code>etool.cmd simulator</code>: linuxcnc simulaattorin käynnistys. '''Huom''' Simulaattorin käytössä havaittu ongelma, jossa machine preview ei tule näkyviin ''linuxcnc'' käynnistyksen alussa. Machine preview:in saa näkyviin valitsemalla ensin <code>DRO</code> -välilehden ja tämän jälkeen takaisin <code>Preview</code> -välilehden.
  
 +
==== ''etool'' työkalun mukana olevat esimerkki- gerberit ====
 +
 +
* ''etool'' -komentotulkilla voi ladata <code>01-gerber</code> hakemistoon Gerber esimerkkejä seuravilla komennoilla:
 +
** <code>etool.cmd example gerber pad2pad</code>: Led-vastus pin-header esimerkki etupuolen kupari ja pin-headereiden läpi poraus
 +
** <code>etool.cmd example gerber dip</code>: DIP8  break-out, pin-header grid 1.27 mm, takapuolen kupari
 +
** <code>etool.cmd example gerber soic</code>: SOIC8 break-out, pin-hder 1.27 mm, ja 2 mm, kaksipuoleinen via
 +
 +
Tarkemmin eserkkiprojekteista https://github.com/jarjuk/etool#example-projects
  
 
==== gerber->gcode muunnoksen konfiguraatiot (=''pcb2gcode'' työkalun konfiguraatiot) ====
 
==== gerber->gcode muunnoksen konfiguraatiot (=''pcb2gcode'' työkalun konfiguraatiot) ====
  
 
''etool'' -työkalun <code>gerber</code> -komento käynnistää ''pcb2gcode'' -työkalun, joka lukee konfiguraationsa tiedostosta <code>C:\Users\hacklab\Documents\etool\pcb2gcode.ini</code>. Konfiguraatioden ohjeistus löytyy wiki ohjeistus https://github.com/pcb2gcode/pcb2gcode/wiki ja osa ohjeistuksesta on kopioitu myös tuohon konfiguraatiotiedostoon.
 
''etool'' -työkalun <code>gerber</code> -komento käynnistää ''pcb2gcode'' -työkalun, joka lukee konfiguraationsa tiedostosta <code>C:\Users\hacklab\Documents\etool\pcb2gcode.ini</code>. Konfiguraatioden ohjeistus löytyy wiki ohjeistus https://github.com/pcb2gcode/pcb2gcode/wiki ja osa ohjeistuksesta on kopioitu myös tuohon konfiguraatiotiedostoon.
 +
 +
 +
CAM konfiguraation lyhyt yhteenveto:
 +
*  oletuskonfiguraatio '''1)'''
 +
** jyrsintä: jyrsinterän leikausleveys 0.2155mm (vastaten z=-0.1, terä 0.1mm/60astetta), isolaatio tehdään jyrsimällä kaksi uraa trackkien ympärille (isolaatio leveys 0.4mm, overlap 23%),
 +
** poraus: asennusreijät=NPTH reijät (=yli 2.1 mm reijä) jyrsitään helix jyrsinällä käyttämällä reunalaikkauksen terää, kuparireijät=PTH reijät käytään yhtä poraa
 +
** reunaleikkaus: 2mm terä, kahdella leikkauksella
 +
* <code>3-grooves</code> '''2)'''
 +
** jyrsintä: muutoin sama kuin oletuskonfiguraatiolla paitsi isolaatio, joka tehdään jyrsimällä kolme uraa trackkien ympärille (isolaatioleveys 0.4mm, overlap 60%)
 +
** poraus: sama kuin oletuskonfiguraatiolla
 +
** reunaleikkaus: sama kuin oletuskonfiguraatiolla
 +
----
 +
1) Komento <code>etool gerber PROJ</code> <br/>
 +
2) Komento <code>etool gerber PROJ 3-grooves</code> <br/>
 +
  
 
Muokkaamalla konfiguraatiotiedosta tai kopioimalla sen käyttäjäkohtaiseksi tiedostoksia voit käyttää ''pcb2gcode'' -työkalun ominaisuuksia laajemmin kuin peruskonfiguraatiossa on tarjolla. Esimerkiksi:
 
Muokkaamalla konfiguraatiotiedosta tai kopioimalla sen käyttäjäkohtaiseksi tiedostoksia voit käyttää ''pcb2gcode'' -työkalun ominaisuuksia laajemmin kuin peruskonfiguraatiossa on tarjolla. Esimerkiksi:
 
* piirilevyn jyrsimisen monistaminen x-kpl rivillä ja y-kpl sarakkeessa
 
* piirilevyn jyrsimisen monistaminen x-kpl rivillä ja y-kpl sarakkeessa
 
* useamman reikäpaksuuden käyttö porauksessa (peruskonfiguraatiossa vain yksi)
 
* useamman reikäpaksuuden käyttö porauksessa (peruskonfiguraatiossa vain yksi)
* reijän jyrsintä (eikä siis poraus)
+
* milloin reijät jyrsintään (eikä siis porata)
 
* erilaisia optiomointiparametrejä
 
* erilaisia optiomointiparametrejä
 +
  
 
Ks. alla oleva kappale konfiguraatiohallinnasta.
 
Ks. alla oleva kappale konfiguraatiohallinnasta.
Rivi 127: Rivi 191:
 
Gerber->gcode muunnoksen parametrejä voidaan muuttaa editoimalla  <code>C:\Users\hacklab\Documents\etool</code> hakemistossa olevaa tiedostoa <code>pcb2gcode.ini</code>. Käyttäjä voi tehdä hakemistoon omat konfiguraatiosettinsä linkissä https://github.com/jarjuk/etool#user-specific-cam-configuration esitetyllä tavalla. ''etool'' -työkalun konfiguraatiot voidaan palauttaa "tehdasasetuksiin" poistamalla datahakemisto <code>C:\Users\hacklab\Documents\etool</code> ja käynnistämällä  <code>etool.cmd</code> -skripti uudelleen.
 
Gerber->gcode muunnoksen parametrejä voidaan muuttaa editoimalla  <code>C:\Users\hacklab\Documents\etool</code> hakemistossa olevaa tiedostoa <code>pcb2gcode.ini</code>. Käyttäjä voi tehdä hakemistoon omat konfiguraatiosettinsä linkissä https://github.com/jarjuk/etool#user-specific-cam-configuration esitetyllä tavalla. ''etool'' -työkalun konfiguraatiot voidaan palauttaa "tehdasasetuksiin" poistamalla datahakemisto <code>C:\Users\hacklab\Documents\etool</code> ja käynnistämällä  <code>etool.cmd</code> -skripti uudelleen.
  
 +
'''Huom''': <code>pcb2gcode.ini</code> konfiguraatio ja jyrsintäterän parametrit pitää olla synkroonissa - väärillä parametreilla lopputulos ei ole toimiva. Katso konfiguraatiotiedossa olevia kommentteja. Ennen suuren työn aloittamista kannattaa testata parametrien ja terän yhteentoimivuus jyrsimällä pieni kokeilu, esimerkiksi etool -työkalun mukana tuleva gerber pad2pad.
  
 
Konfiguraatiohallinnan periaatteet:
 
Konfiguraatiohallinnan periaatteet:
* Hakemisto <code>C:\Users\hacklab\Documents\etool</code> kannattaa poistaa työn aluksi, jos haluat varmistaa, että ''etool'' -työkalu käyttää oletusparametrejä.
+
* Hakemisto <code>C:\Users\hacklab\Documents\etool</code> kannattaa poistaa työn aluksi, jos haluat varmistaa, että ''etool'' -työkalu käyttää oletusparametrejä. ''etool'' -työkalu luo automaattisesti puuttuvat tiedostot ja hakemistot, jotka tarvitsee. Olemassa oleviin tiedostoihin tai hakemistoihin se ei tee muutoksia.
 
* Omat muunnosparametrit kannataa kopioda hakemistoon <code>C:\Users\hacklab\Documents\etool</code> työn aluksi ja muokata niitä siellä. '''Hakemistoon ei kannata jättää mitään, minkä haluat pysyvän tallella'''.
 
* Omat muunnosparametrit kannataa kopioda hakemistoon <code>C:\Users\hacklab\Documents\etool</code> työn aluksi ja muokata niitä siellä. '''Hakemistoon ei kannata jättää mitään, minkä haluat pysyvän tallella'''.
  
Rivi 137: Rivi 202:
  
  
Työkalu on onnistuneesti asennettu: ubuntu 18.04, W10 pro, W10 home, Mac OS (x86 -arkkitehtuuri)
+
Työkalu on onnistuneesti asennettu: ubuntu 18.04, W10 pro, W10 home, W10 pro, Mac OS (x86 -arkkitehtuuri)
  
 
==== ''etool'' työkalun ylläpito ====
 
==== ''etool'' työkalun ylläpito ====
Rivi 151: Rivi 216:
  
 
* Hae uusi versio TAG docker hub:sta <code>docker pull marcus2002/etool:TAG</code>
 
* Hae uusi versio TAG docker hub:sta <code>docker pull marcus2002/etool:TAG</code>
* Päiviä versionnumero skriptiin <code>C:\Users\hacklab\hacklab\bin\etool.cmd</code>
+
* Päiviä versionumero skriptiin <code>C:\Users\hacklab\hacklab\bin\etool.cmd</code>
** Tarvitteassa päivä myös docker image:n nimi
+
** Mikäli docker forkattiin päivitä skriptiin myös Docker image:n nimi. Päivitä skriptiin ja tähän wikisivustoon linkki git-repoon, missä Dockerin lähdekoodit sijaitsevat
* Tarkista komennolla <code>etool.cmd releases</code> tarkista muutoslogi
+
*** Dockerin ylläpito per 23.4.2022: https://github.com/jarjuk/etool
 +
* Tarkista komennolla <code>etool.cmd releases</code> muutoslogi.
  
 
=== Jyrsintä (hiili)  ===
 
=== Jyrsintä (hiili)  ===
  
 +
==== Tarvikkeet ====
 
Hiilen piirilevyjyrsinnän tarvikkeet löytyvät smartstore laatikosta, jossa on  
 
Hiilen piirilevyjyrsinnän tarvikkeet löytyvät smartstore laatikosta, jossa on  
* Piirilevyjyrsintään vakioidut jyrsintäterät:
+
* Piirilevyjyrsintään vakioidut jyrsintäterät (3.175 kara):
** PCB jyrsinterä: '''TODO'''  terän parametrien selvitys (arvaus 0.1 mm/60deg)
+
** PCB jyrsinterä: jyrsintäterän ja CAM suunnittelun paremetrien on oltava synkroonissa. Etool oletusarvot olettavat työkaluksi '''0.1 mm/60deg''') [https://www.aliexpress.com/item/4000966103866.html?spm=a2g0o.order_list.0.0.5dc41802NIaGKR aliexpress linkki]
** PTH porateräsetti: 0.3 -1.mm, PTH reijät esim 0.9mm, kohdistus via reijät esim 0.8mm
+
***
** NPTH porateriä löytyy metallihuoneesta 2.5mm tai 3mm
+
** PTH porateräsetti: 0.3 -1.mm, PTH reijät esim 0.9mm, kohdistus via reijät esim 0.8mm [https://www.aliexpress.com/item/33053871610.html?spm=a2g0o.order_list.0.0.4d3a18029XrogA aliexpress linkki]
** Reunojen jyrsintä 2 mm leikkausterä
+
** NPTH porateriä löytyy metallihuoneesta 2.5mm tai 3mm, normisti yli 2.1mm reijät tehdään jyrsimällä)
* kaksipuoleista teippiä
+
** Reunojen jyrsintä 2 mm leikkausterä [https://www.aliexpress.com/item/33053342366.html?spm=a2g0o.order_list.0.0.5dc41802NIaGKR aliexpress linkki]
 +
* kaksipuoleista teippiä.
 
* jyrsinterien kiinnitysholkit
 
* jyrsinterien kiinnitysholkit
  
  
Proben tarkistusohjeet:
+
==== Piirilevyaihion kiinnitys ====
 +
* Kiinnitä piirilevyaiho alustaan kaksipuoleisella teipillä ja alusta hiilen pöytään tukevasti hiilen kiinnitystarvikkeilla
 +
* Parhaiten (tämän hetken tietojen perusteella) teippi kiinnittyy akryyliin.
 +
* Teippaus on tehtävä huolella, jotta piirilevy ei lähde jyrsinnän aikana vaeltelemaan:
 +
** putsaa alusta ja piirilevyaihio pölystä
 +
** vaihda alusta mikäli siinä on tartuntaa haittaavia reikiä tai jyrsintäjälkiä
 +
** hyvä alusta teippikiinnitykselle esimerkiksi akryyli
 +
* Alustan oltava riittävän paksu, että jyrsintä ei osu hiilen pöytään. (esimerkiksi kohdistusporaukset "tehdasasetuksena" 4.5mm syvyyteen)
 +
 
 +
==== Proben tarkistusohjeet ====
 
* proben kytkentäliuska ottaa kiinni piirilevyaihioon
 
* proben kytkentäliuska ottaa kiinni piirilevyaihioon
 
* proben kytkentäliuskasta lähtee johto, joka menee hiilen koteloon
 
* proben kytkentäliuskasta lähtee johto, joka menee hiilen koteloon
 
* signaalin testaus ''linuxcnc'' -työkalun käyttöliittymässä
 
* signaalin testaus ''linuxcnc'' -työkalun käyttöliittymässä
 
** avaa valikko  <code>Machine->Hal Meter</code>
 
** avaa valikko  <code>Machine->Hal Meter</code>
** tab <code>Pins</code>
+
** tab <code>Signals</code>
 
** etsi listata signaali <code>motion.probe-input</code>
 
** etsi listata signaali <code>motion.probe-input</code>
 
** avautuu dialogi, jossa näkyvissä signaalin tila.
 
** avautuu dialogi, jossa näkyvissä signaalin tila.
** Paina hiilen kyljessä olevassa rasiassa on maadoitusnappi probesignaalin testaamista varten
+
** oikosulkemalla jyrsinterän piirilevyaihoon pitäii dialogissa näkyä TRUE probe-signaali
  
 
+
==== Jyrsintä z-touch off ====
Jyrsintä z-touch off
+
* Continuous moodissa n. 5mm etäisyydelle aihiosta
* Continuous moodissa lähelle pintaa
+
* käytä 3 mm poranterää
* paperi aihion ja terän väliin
+
* <code>0.1 mm step</code>  askelein alaspäin, kunnes poranterä ei enää mahdu kulkemaan terän ja aihion välistä
* <code>0.1 mm step</code>  askelein alaspäin, kunnes paperi ei enää liiku
+
* <code>Touch off 3mm</code>
* <code>Touch off</code>
 
 
* <code>Continuous</code> moodi
 
* <code>Continuous</code> moodi
 
* terä ylös
 
* terä ylös
  
 
+
==== Kaksipuoleinen piirilevyn kohdistaminen ====
Kaksipuoleinen piirilevyn kohdistaminen
 
 
* kun kohdistusporaus on tehty (<code>PROJ_PTH-ALIGN.ngc</code> ajettu) 0.8 mm poranterällä
 
* kun kohdistusporaus on tehty (<code>PROJ_PTH-ALIGN.ngc</code> ajettu) 0.8 mm poranterällä
* huomioi missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn oikeaan kohtaan kääntämämisen jälkeen
+
* nosta z ylös, jotta saat itsellesi työskentelytila
 +
* ja jätä X ja Y paikoilleen asoitamaan paikkaa, missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn oikeaan kohtaan kääntämämisen jälkeen
 
* käännä piirilevy ja paina kaksi 0.8 mm vastuslankaa aihion kohdisutreikien läpi puualustaan, jonne kohdistusporaus on yltänyt
 
* käännä piirilevy ja paina kaksi 0.8 mm vastuslankaa aihion kohdisutreikien läpi puualustaan, jonne kohdistusporaus on yltänyt
 +
 +
==== Hiili-vinkkejä ====
 +
* spindlen ei aina käynnisty, jos sen nopeus on liian suuri --> käännää nopeuspotentiometri pienenpään arvoon (<4) ja käynnistä vasta sitten spindle
 +
* Teräholkin ruuvaaminen hiilen karaan helpompi saada menemään suoraan, jossa pyörittää karaa hiilen hihnapyörästä ja pitää holkkipidikettä paikallaan. Todennäköisesti teräholkki ei ole kunnolla kierteellään, jos sen kiristys vastustaa -  Väkisin teräholkkia ei pidä yrittää vääntää kireälle!
 +
 +
'''SIIVOA JÄLKESI JYRSINNÄN JÄLKEEN'''

Nykyinen versio 25. lokakuuta 2023 kello 17.26


For English tranlation use google link https://wiki-helsinki-hacklab-fi.translate.goog/Piirilevyjyrsint%C3%A4?_x_tr_sl=fi&_x_tr_tl=en

Piirilevyjyrsinnän työvaiheet

Piirilevylayoutin suunnittelu

  • Piirilevylayoutin suunnittelu
    • Piirilevyn suunnitteluspeksit:
      • track 0.25mm, pad 0603, soic paketti - soic paketin jalkojen väli 1.27 mm, jolloin tracking kuljettamista soic pad:ien välistä on mahdolista 1)
      • Hacklab piirilevyjyrsinnän peruskonfiguraatiossa oletuksena, että kaikki PTH (=kupari) reijät ovat saman kokoisia. Samoin kaikki NPTH (=kiinnitys= ei-kupari) reijät saman kokoisia. 1)
    • Piirilevyn sijoittaminen koordinaatistoon 2)
      • Yksipuoleisen piirilevyn origo sijoitetaan piirilevyn vasempaan alanurkkaan
      • Kaksipuoleisella piirilevyllä origo sijoitetaan piirilevyn alareunan keskelle. Kaksipuoleisen piirilevyn kohdistamista varten Y-akselille kaksi via:aa: 3)
        • Toinen y-akselille kohtaan X=0, Y=-3 mm
      • ja toinen Y-akselille 3 mm piirilevyn yläreunan yläpuolelle.
    • Laserkaiverruksen kohdistusksen merkitseminen (mikäli aiot laser kaivertaa piirilevyn ei-kuparipuolelle merkintöjä, kupariin CO2 laser:lla ei voi tehdä merkintöjä)
      • Tee (front tai back silkkikerrokseen) pieni kulmamerkki levyn vasempaan alareunaan ja oikeaan yläreunaan. 4)
  • Piirilevyn layoutin suunnittelun lopputuloksena projektin PROJ Gerber -tiedostot 5)
    • PROJ_F_Cu.gbr: etupuolen kuparikerros
    • PROJ_B_Cu.gbr: takapuolen kuparikerros
    • PROJ_Edge_Cuts.gbr: piirilevyn reunat
    • PROJ_PTH.drl: kuparireikien (Plated Through Hole) porausohjeet
    • milldrill.ngc (tai PROJ_NPTH.drl jos cam konfiguraatiossa käytössä reikien poraus eikä jyrsintä) : asennusreikien (Non Plated Through Hole) porausohjeet

1) Erikokoisten reikien käyttö piirilevyssä ks. alla [[gerber->gcode muunnoksen konfigruaatiot/pcb2gcode työkalun konfiguraatiot]]
2) CAM - työkalun konfiguraatiossa mahdollista, että CAM -työkalu siirtää piirilevyn origon automaagisesti jyrsinnän kannalta oikeaan kohtaa. Lab jyrsintäputkessa tätä toimintoa ei ole käytetty.
3) 3mm tulee siitä, että Lab:in jyrsintäputkessa vakioitu reunan jyrsintätuokalu 2mm. Kohdistus -viat 1mm tämän työkalun ulkopuolelle.
4) Gerber png export tekee hieman piirilevyä suuremman png -kuvan ja laser -kaiverruksen kohdistusta varten png on cropattava piirilevyn kokoiseksi näiden nurkkamerkkien avulla.
5) Tiedostot =ei zip paketti. Lab:in jyrsintäputkessa ei tueta zip -paketin purkua.

Gerber->gcode muunnos

Työvaiheet Gerber muuntamiseksi gcodeksi:

  • Aluksi on suositeltavaa restoida Gerber->gcode muunnoksen konfiguraatiot 1)
  • Projektin PROJ Gerber -tiedostot ( PROJ_F_Cu.gbr, PROJ_B_Cu.gbr, PROJ_Edge_ts.gbr, PROJ_PTH.drl, milldrill.drl) kopioidaan etool -työkalun 01-gerber -hakemistoon 2)
  • Mikäli piirilevy jyrsintä vain takapuolelle niin muuta pcb2gcode.ini -tiedostossa
    • drill-side=back
    • cut-side=back
  • etool -työkalun avulla muunnetaan projektin PROJ 01-gerber -hakemistossa olevat Gerber tiedostot gcode -tiedostoiksi 02-ngc -hakemistoon. 3), 4)
  • Tuloksena 02-ngc -hakemistossa:
    • PROJ_F_Cu.ngc: etupuolen kuparikerroksen jyrsintä
    • PROJ_B_Cu.ngc: takapuolen kuparikerroksen jyrsintä
    • PROJ_Edge_Cuts.ngc: piirilevyn reunojen jyrsintä
    • PROJ_PTH.ngc: kuparireikien (Plated Through Hole) porausohjeet
    • milldrill.ngc: ei kuparireikien (Non Plated Through Hole) porausohjeet (Poraamalla tehtävä reijät PROJ_NPTH.ngc -tiedostoon - jos pcb2gcode tiedostossa konfiguroitu NPTH reikien teko poraamalla)
  • Kaksipuoleisella piirilevylle tuotetaan lisäksi erillinen poraustiedosto PROJ_PTH-ALIGN.ngc, jolla X=0 akselilla olevat kohdistus -viat porataan syvemmiksi kuin piirilevyllä olevat normaalit viat. 5)
  • Simulaattorin avulla varmistetaan hakemistossa 02-ngc olevien gcode -tiedostojen oikeellisuus. Erityisesti varmistettava kohdistus -viojen porauskoodin PROJ_PTH-ALIGN.ngc oikeellisuus. 6)
  • Simulaattorivarmennuksen jälkeen gcode -tiedostot (PROJ_F_Cu.ngc, PROJ_Edge_Cuts.ngc, PROJ_PTH.ngc, milldrill.ngc (tai PROJ_NPTH.ngc), kaksipuoleisella piirilevyillä lisäksi PROJ_B_Cu.ngc ja PROJ_PTH-ALIGN.ngc) kopioidaan tikulle siirrettäväksi jyrsintäkoneelle.

1) Poista etool -työkalun hakemisto (hiljaisen huoneen PC:llä Documents/etool). Hiljaisen huoneen PC:llä käynnistä Docker ja X-ikkunointi kuten kohdassa "etool työkalun käyttö hiljaisen huoneen PC -työasemalla" on esitetty. Ajamalla komento etool.cmd ls työkalu luo hakemistorakenteen ja alustaa konfiguraatiot oletusarvioihin.
. 2) Jos piirilevyn suunnittelutyökalu ja etool -työkalu asennettu samaan koneeseen niin Gerber -tiedostot voidaan ohjata tulemaan automaagisesti 01-gerber -hakemistoon ja yksi kopiointi työvaihe jää välistä.
3) etool.cmd gerber PROJ -komento. Komento tuottaa gcode tiedostojen lisäksi automaagisesti myös silkkipainatuksen kuvatiedostot 02-silk -hakemistoon (ks. alla laserkaiverruksen ohjeet)
4) Tässä vaiheessa kannattaa lukea ohjelman outputti ja painaa mieleen, miltä puolelta poraukset ja edge cut:it tehdään, jotta menee sitten jyrsinnässä oikein.
5) etool.cmd adrill PROJ -komento. Käynnistää skriptin, jonka oikeellisuudesta ei ole varmuutta: Tarkista simulaattorilla ja korjaa tarvittaessa käsin!!!
6) etool.cmd simulator komento käynnistää linuxcnc -simulaattorin.

Jyrsintä

Jyrsinnän työvaiheet:

  • Siirrä gcode -tiedostot (PROJ_F_Cu.ngc, PROJ_Edge_Cuts.ngc, PROJ_PTH.ngc, PROJ_NPTH.ngc, kaksipuoleisella piirilevyillä lisäksi PROJ_B_Cu.ngc ja PROJ_PTH-ALIGN.ngc) tikulla jyrsintäkoneelle.
  • Kiinnitä riittävän suuri piirilevyaihio kaksipuoleisella teipillä alustaan, joka on tukavasti kiinni jyrsijän pöydässä.
  • Aseta jyrsijän origo (Touch off X=0,Y=0) piirilevyaihiolle kohtaan, johon haluat piirilevyn origon sijoittuvan
  • Piirilevyn gcode jyrsintä:
  1. Jos kaksipuoleinen piirilevy:
    1. Takapuolen kuparin jyrsintä (V-terällä) code>PROJ_B_Cu.ngc) 1)
    2. poraa kohdisusreijät (esim. 0.8 mm poraterä) PROJ_PTH-ALIGN.ngc) 2), 3)
    3. käännä piirilevy. Ennen kääntämistä huomioi missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn puualustalla oikeaan kohtaan kääntämämisen jälkeen.
  2. Etupuolen kuparin jyrsintä (V-terä) (PROJ_F_Cu.ngc). 1)
  3. Poraa kuparireijät (esim. 0.9 mm pora): PROJ_PTH.ngc 2), 4)
  4. Poraa kiinnitysrejät (2mm reunajyrsinterä):PROJ_NPTH.ngc 2), 4)
  5. Leikkaa piirilevyn reunat (2mm reunajyrsinterä=sama kuin edellisessä vaiheessa)PROJ_Edge_Cuts.ngc. 2), 4)

1) Ennen jyrsinnän käynnistystä terän vaihto, z-koordinaatin touch off . Jyrsintäohjelma toiminta kaksivaiheisesti: käynnistyksen jälkeen se tekee ensin probetuksen ja tämän jälkeen varsinaisen jyrsinnän. Vaiheiden välillä pysytyy ja mahdollisesti avaa dialogin "continue": kuittaile dialogit ja laita ohjelma jatkumaan "pausesta". Spidenli käyntiin vastaa probetuksen jälkeen.
2) Ennen jyrsinnän käynnistystä terän vaihto ja z-koordinaatin touch off.
3) Kaksipuoleinen piirilevy on ohjeistettu sijoitettavaksi symmetrisesti Y-akselin suhteen, joten kohdistusreijät voi porata takapuolelta (vaikka muut reijät tehdään etupuolelta).
4) etool:in output:ssa pitäisi olla maininta, että reijät tehdään etupuolelta. Vain jos trackit takapuolella, niin reijät ja etureunan jyrstin pitäisi ohjata takapuolelle.

Laserkaiverrus

  • Croppaa hakemistossa 02-silk olevat silkkipainatuksen kuvatiedostot, etupuolen kuvatiedosta PROJ-F_SilkS.png ja takapuolen kuvatiedosto (PROJ-B_SilkS.png) piirilevysuunnitteluohjelmassa tekemiesi reunamerkintöjen mukaisesti. 1)
  • Siirrä silkkipainoksen kuvatiedostot PROJ-F_SilkS.png tai PROJ-B_SilkS.png laserkaiverruksen työasemalle
  • Laser:in poltto-ohjelmassa
    • Varmista, että kuvatiedoston värit ovat siten, että kaiverrettavat merkinnät ovat mustia valkoisella pohjalla, tarvittaessa invertoi värit 2)
    • Tee (cropatun) silkkipainatuksen -png kuvatiedoston ympärille suorakaide ja Leikkaa sen avulla pahviin piirilevyn kokoinen sabluuna.
      • Pahvien leikkauksen laser parametrit (joita onnistuneesti käytetty): speed 100 mm/s, power 20%
    • Asata piirilevy pahviin leikattuun sabluunaan ja kaiverra png -kuvan merkinnät
      • Laser parametrit (joilla merkintä saatu tehtyä onnistuneesti): speed 100 mm/s, x-bi-directional, accuracy 0.05 mm, laser 2%
      • pahvin alle voi varovasti pujottaa esim a4:n estämään piirilevyn putomista alas
      • jos laserin puhallus liikuttaa (kevyttä) piirilevyä, teippaa piirilevy reunoista kiinni pahviin kohdista, joihin ei tule merkintää

1) etool -työkalu tekee nämä tiedostot samalla, kun se tekee jyrsinnän gcode tiedostot.
2) Jotkin piirilevysuunnitteluohjelmat (KiCad oletus) tuottavat silkkipainatuksen merkinnät valkoisella mustaa pohjaa vasten.

Piirilevyn jälkikäsittely

  • Reunojen siivous hiekkapaperilla, pinnan putsaus esim. 400 hiomatyynyllä
  • Tarkista mikroskoopille jyysteet ja oikosulut, tasaa mahdolliset purskeet
  • Huomioita piirilevyn juottamisesta
    • Viat ovat porauksen jälkeen läpireikiä ja sähköistä kytkentää varten etu ja takapuolen väliin pitää juottaa johdin
    • Pinheadereiden muoviosia voi liuttaa ylöspäin juottamista varten. Muillla liitintyypeillä liitinkotelon alla olevien padien juottaminen on vähintäänkin hankalaa.

Piirilevyjyrsinnän työkaluohjeet

Piirilevysuunnitteluohjelmat

KiCad

  • Projektin nimessä ei saa olla spacejä (myöhemmin ongelmia jossain kohtaa ketjua)
  • File -> Plot -toiminnon dialogissa "Use extended X2 format" ruksi poistetaan
  • Jos käytät Lab:in hiljaisen huoneen PC:tä niin Output directory: C:\Users\hacklab\Documents\etool\01-gerber. Kopioi Ggerber -tiedostot tähän hakemistoon, jos teet piirilevysuunnittelun muussa ympäristössä ja haluat käyttää hiljaisen huoneen PC työasemaa gerber->gcode muunnoksen tekemiseen.

Muiden piirilevysuunnitteluohjelmien tekeminen Gerber -tiedostojen käyttö saattaa onnistua, mutta ei ole testattu.


TODO Suunnittelukriteerien toteutus KiCad työkaluun.

Etool työkalu

etool -työkalu https://github.com/jarjuk/etool on Docker kontti, joka löytyy Docker hub:sta nimellä marcus2002/etool. Siihen on paketoitu pcb2gcode https://github.com/pcb2gcode/pcb2gcode CAM työkalu ja https://linuxcnc.org CNC simulaattori sekä pieni skripti tukemaan näiden työkalujen käyttöä.

Tässä kappaleessa dokumentoidaan kontin asennus Hacklab:in ympäristöön ja miten sitä käytetään Lab:lla osana piirilevyjyrsinnän työnkulkuja.

etool työkalun käyttö hiljaisen huoneen PC -työasemalla

etool -työkalu on asennettu hiljaisen huoneen Windows 10 PC -työasemaan. Työkalun käynnistysskripti on tiedostossa C:\Users\hacklab\hacklab\bin\etool.cmd ja sen datahakemisto on C:\Users\hacklab\Documents\etool. Hakemistosta C:\Users\hacklab\Documents\etool löytyvät

  • konfiguraatiotiedosto pcb2gcode.ini: gerber -> gcode -muunnoksen CAM -parametrit
  • konfiguraatiotiedosto pcb2gcode-control.template: gerber tiedostojen nimeämissännöt
  • datahakemisto 01-gerber: gerber -> gcode -muunnoksen input hakemisto
  • datahakemisto 02-ngc: gerber -> gcode -muunnoksen output hakemisto

Ennen etool.cmd -skriptin käynnistystä

  • käynnistä Docker desktop
  • käynnistä X-windows serveri
    • X:n käynnistysikkunassa käyttöoikeudet kohta - anna kaikki oikeudet

etool.cmd -skripti käynnistäminen, esimerkiksi tuplaklikkamalla työpöydällä olevaa ShortCut -linkkiä

  • tulostaa käyttöohjeen ja
  • avaa komentotulkin, jolla voit suoritaa mm. komennot
    • etool.cmd --help : käyttöohjeen (uudelleen) tulostaminen
    • etool.cmd cleanup : datahakemistojen 01-gerber, 02-ngc siivous. Mitään datoja EI kannata säilyttää tuolla ne putsautuu jatkuvasti
    • etool.cmd ls: datahakemistojen 01-gerber, 02-ngc hakemistolistaus
    • etool.cmd gerber PROJ: Projektin PROJ gerbereiden muunnos gcodeksi. Hakemisto 01-gerber --> 02-ngc
    • etool.cmd ardill PROJ: Projektin PROJ kohdistusreikien gcoden tuottaminen hakemistoon 02-ngc
    • etool.cmd simulator: linuxcnc simulaattorin käynnistys. Huom Simulaattorin käytössä havaittu ongelma, jossa machine preview ei tule näkyviin linuxcnc käynnistyksen alussa. Machine preview:in saa näkyviin valitsemalla ensin DRO -välilehden ja tämän jälkeen takaisin Preview -välilehden.

etool työkalun mukana olevat esimerkki- gerberit

  • etool -komentotulkilla voi ladata 01-gerber hakemistoon Gerber esimerkkejä seuravilla komennoilla:
    • etool.cmd example gerber pad2pad: Led-vastus pin-header esimerkki etupuolen kupari ja pin-headereiden läpi poraus
    • etool.cmd example gerber dip: DIP8 break-out, pin-header grid 1.27 mm, takapuolen kupari
    • etool.cmd example gerber soic: SOIC8 break-out, pin-hder 1.27 mm, ja 2 mm, kaksipuoleinen via

Tarkemmin eserkkiprojekteista https://github.com/jarjuk/etool#example-projects

gerber->gcode muunnoksen konfiguraatiot (=pcb2gcode työkalun konfiguraatiot)

etool -työkalun gerber -komento käynnistää pcb2gcode -työkalun, joka lukee konfiguraationsa tiedostosta C:\Users\hacklab\Documents\etool\pcb2gcode.ini. Konfiguraatioden ohjeistus löytyy wiki ohjeistus https://github.com/pcb2gcode/pcb2gcode/wiki ja osa ohjeistuksesta on kopioitu myös tuohon konfiguraatiotiedostoon.


CAM konfiguraation lyhyt yhteenveto:

  • oletuskonfiguraatio 1)
    • jyrsintä: jyrsinterän leikausleveys 0.2155mm (vastaten z=-0.1, terä 0.1mm/60astetta), isolaatio tehdään jyrsimällä kaksi uraa trackkien ympärille (isolaatio leveys 0.4mm, overlap 23%),
    • poraus: asennusreijät=NPTH reijät (=yli 2.1 mm reijä) jyrsitään helix jyrsinällä käyttämällä reunalaikkauksen terää, kuparireijät=PTH reijät käytään yhtä poraa
    • reunaleikkaus: 2mm terä, kahdella leikkauksella
  • 3-grooves 2)
    • jyrsintä: muutoin sama kuin oletuskonfiguraatiolla paitsi isolaatio, joka tehdään jyrsimällä kolme uraa trackkien ympärille (isolaatioleveys 0.4mm, overlap 60%)
    • poraus: sama kuin oletuskonfiguraatiolla
    • reunaleikkaus: sama kuin oletuskonfiguraatiolla

1) Komento etool gerber PROJ
2) Komento etool gerber PROJ 3-grooves


Muokkaamalla konfiguraatiotiedosta tai kopioimalla sen käyttäjäkohtaiseksi tiedostoksia voit käyttää pcb2gcode -työkalun ominaisuuksia laajemmin kuin peruskonfiguraatiossa on tarjolla. Esimerkiksi:

  • piirilevyn jyrsimisen monistaminen x-kpl rivillä ja y-kpl sarakkeessa
  • useamman reikäpaksuuden käyttö porauksessa (peruskonfiguraatiossa vain yksi)
  • milloin reijät jyrsintään (eikä siis porata)
  • erilaisia optiomointiparametrejä


Ks. alla oleva kappale konfiguraatiohallinnasta.

etool työkalun konfiguraatiohallinta

Gerber->gcode muunnoksen parametrejä voidaan muuttaa editoimalla C:\Users\hacklab\Documents\etool hakemistossa olevaa tiedostoa pcb2gcode.ini. Käyttäjä voi tehdä hakemistoon omat konfiguraatiosettinsä linkissä https://github.com/jarjuk/etool#user-specific-cam-configuration esitetyllä tavalla. etool -työkalun konfiguraatiot voidaan palauttaa "tehdasasetuksiin" poistamalla datahakemisto C:\Users\hacklab\Documents\etool ja käynnistämällä etool.cmd -skripti uudelleen.

Huom: pcb2gcode.ini konfiguraatio ja jyrsintäterän parametrit pitää olla synkroonissa - väärillä parametreilla lopputulos ei ole toimiva. Katso konfiguraatiotiedossa olevia kommentteja. Ennen suuren työn aloittamista kannattaa testata parametrien ja terän yhteentoimivuus jyrsimällä pieni kokeilu, esimerkiksi etool -työkalun mukana tuleva gerber pad2pad.

Konfiguraatiohallinnan periaatteet:

  • Hakemisto C:\Users\hacklab\Documents\etool kannattaa poistaa työn aluksi, jos haluat varmistaa, että etool -työkalu käyttää oletusparametrejä. etool -työkalu luo automaattisesti puuttuvat tiedostot ja hakemistot, jotka tarvitsee. Olemassa oleviin tiedostoihin tai hakemistoihin se ei tee muutoksia.
  • Omat muunnosparametrit kannataa kopioda hakemistoon C:\Users\hacklab\Documents\etool työn aluksi ja muokata niitä siellä. Hakemistoon ei kannata jättää mitään, minkä haluat pysyvän tallella.

etool työkalun asennus omaan tietokoneeseen

Mikäli haluat tehdä piirilevysuunnittelun ja jyrsintäkomentojen tekemisen omassa koneessasi voit asentaa etool -työkalun myös omaan tietokoneeseesi. Vaatii docker:in asennuksen ja X11 ikkunointiympäristön. Ohjeet löytyät https://github.com/jarjuk/etool.


Työkalu on onnistuneesti asennettu: ubuntu 18.04, W10 pro, W10 home, W10 pro, Mac OS (x86 -arkkitehtuuri)

etool työkalun ylläpito


etool työkalun version päivitys hiljaisen huoneen Window 10 työasemaan

  • Hae uusi versio TAG docker hub:sta docker pull marcus2002/etool:TAG
  • Päiviä versionumero skriptiin C:\Users\hacklab\hacklab\bin\etool.cmd
    • Mikäli docker forkattiin päivitä skriptiin myös Docker image:n nimi. Päivitä skriptiin ja tähän wikisivustoon linkki git-repoon, missä Dockerin lähdekoodit sijaitsevat
  • Tarkista komennolla etool.cmd releases muutoslogi.

Jyrsintä (hiili)

Tarvikkeet

Hiilen piirilevyjyrsinnän tarvikkeet löytyvät smartstore laatikosta, jossa on

  • Piirilevyjyrsintään vakioidut jyrsintäterät (3.175 kara):
    • PCB jyrsinterä: jyrsintäterän ja CAM suunnittelun paremetrien on oltava synkroonissa. Etool oletusarvot olettavat työkaluksi 0.1 mm/60deg) aliexpress linkki
    • PTH porateräsetti: 0.3 -1.mm, PTH reijät esim 0.9mm, kohdistus via reijät esim 0.8mm aliexpress linkki
    • NPTH porateriä löytyy metallihuoneesta 2.5mm tai 3mm, normisti yli 2.1mm reijät tehdään jyrsimällä)
    • Reunojen jyrsintä 2 mm leikkausterä aliexpress linkki
  • kaksipuoleista teippiä.
  • jyrsinterien kiinnitysholkit


Piirilevyaihion kiinnitys

  • Kiinnitä piirilevyaiho alustaan kaksipuoleisella teipillä ja alusta hiilen pöytään tukevasti hiilen kiinnitystarvikkeilla
  • Parhaiten (tämän hetken tietojen perusteella) teippi kiinnittyy akryyliin.
  • Teippaus on tehtävä huolella, jotta piirilevy ei lähde jyrsinnän aikana vaeltelemaan:
    • putsaa alusta ja piirilevyaihio pölystä
    • vaihda alusta mikäli siinä on tartuntaa haittaavia reikiä tai jyrsintäjälkiä
    • hyvä alusta teippikiinnitykselle esimerkiksi akryyli
  • Alustan oltava riittävän paksu, että jyrsintä ei osu hiilen pöytään. (esimerkiksi kohdistusporaukset "tehdasasetuksena" 4.5mm syvyyteen)

Proben tarkistusohjeet

  • proben kytkentäliuska ottaa kiinni piirilevyaihioon
  • proben kytkentäliuskasta lähtee johto, joka menee hiilen koteloon
  • signaalin testaus linuxcnc -työkalun käyttöliittymässä
    • avaa valikko Machine->Hal Meter
    • tab Signals
    • etsi listata signaali motion.probe-input
    • avautuu dialogi, jossa näkyvissä signaalin tila.
    • oikosulkemalla jyrsinterän piirilevyaihoon pitäii dialogissa näkyä TRUE probe-signaali

Jyrsintä z-touch off

  • Continuous moodissa n. 5mm etäisyydelle aihiosta
  • käytä 3 mm poranterää
  • 0.1 mm step askelein alaspäin, kunnes poranterä ei enää mahdu kulkemaan terän ja aihion välistä
  • Touch off 3mm
  • Continuous moodi
  • terä ylös

Kaksipuoleinen piirilevyn kohdistaminen

  • kun kohdistusporaus on tehty (PROJ_PTH-ALIGN.ngc ajettu) 0.8 mm poranterällä
  • nosta z ylös, jotta saat itsellesi työskentelytila
  • ja jätä X ja Y paikoilleen asoitamaan paikkaa, missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn oikeaan kohtaan kääntämämisen jälkeen
  • käännä piirilevy ja paina kaksi 0.8 mm vastuslankaa aihion kohdisutreikien läpi puualustaan, jonne kohdistusporaus on yltänyt

Hiili-vinkkejä

  • spindlen ei aina käynnisty, jos sen nopeus on liian suuri --> käännää nopeuspotentiometri pienenpään arvoon (<4) ja käynnistä vasta sitten spindle
  • Teräholkin ruuvaaminen hiilen karaan helpompi saada menemään suoraan, jossa pyörittää karaa hiilen hihnapyörästä ja pitää holkkipidikettä paikallaan. Todennäköisesti teräholkki ei ole kunnolla kierteellään, jos sen kiristys vastustaa - Väkisin teräholkkia ei pidä yrittää vääntää kireälle!

SIIVOA JÄLKESI JYRSINNÄN JÄLKEEN