Ero sivun ”Piirilevyjyrsintä” versioiden välillä

Helsinki Hacklabin wikistä
Siirry navigaatioon Siirry hakuun
 
(129 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.
* Piirilevyn layoutin suunnittelun lopputuloksena projektin ''PROJ'' Gerber -tiedostot 5)  
+
** 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)'''
 
** <code>PROJ_F_Cu.gbr</code>: etupuolen kuparikerros
 
** <code>PROJ_F_Cu.gbr</code>: etupuolen kuparikerros
 
** <code>PROJ_B_Cu.gbr</code>: takapuolen kuparikerros
 
** <code>PROJ_B_Cu.gbr</code>: takapuolen kuparikerros
 
** <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. Tiukemmatkin toleranssit (track 0.25 mm) saattavat toimia. <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. [[#reijitys]] <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äputkeen ei tuettuna  zip -paketin purkua. <br/>
+
5) Tiedostot ='''ei''' zip paketti. Lab:in jyrsintäputkessa ei tueta zip -paketin purkua. <br/>
  
=== Gerber tiedostojen muokkaaminen jyrsinnän gcode:ksi ===
+
=== Gerber->gcode muunnos ===
  
 
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 gcode -tiedostojen oikeellisuus. Erityisesti varmistettava kohdistus -viojen <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<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<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>.  
+
 
 +
----
 +
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/>
 +
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) Ennen jyrsinnän käynnistystä terän vaihto ja z-koordinaatin asetus ja proben tarkistus. Proben tarkistus: proben kytkentäliuska ottaa kiinni piirilevyaihioon, proben kytkentäliuskasta lähtee johto joka menee hiillen koteloon. Jos vielä lisävarmistusta halua niin proben tilan saa käyttöliittymään näkyviin ja hiilen kyljessä olevassa rasiassa on maadoitusnappi probesignaalin testaamista varten. <br/>
+
1) ''etool'' -työkalu tekee nämä tiedostot samalla, kun se tekee jyrsinnän gcode tiedostot.<br/>
2) Ennen jyrsinnän käynnistystä terän vaihto ja z-koordinaatin asetus.<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
  
== Piirilevyjyrsintä työkaluohjeet ==
+
* 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 ==
  
=== Piirilevylayoutin suunnittelu ===  
+
=== 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 piirilevy suunnittelun muualla.
+
* <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 käyttö saattaa onnistua, mutta ei ole testattu.
+
Muiden piirilevysuunnitteluohjelmien tekeminen Gerber -tiedostojen käyttö saattaa onnistua, mutta ei ole testattu.
  
 +
 +
'''TODO''' Suunnittelukriteerien toteutus KiCad työkaluun.<br/>
 +
 +
=== Etool työkalu ===
 +
 +
''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ö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-control.template</code>: gerber tiedostojen nimeämissännöt
 +
* datahakemisto <code>01-gerber</code>: gerber -> gcode -muunnoksen input 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ä
 +
* tulostaa käyttöohjeen ja
 +
* avaa komentotulkin, jolla voit suoritaa mm. komennot
 +
** <code>etool.cmd --help</code> : käyttöohjeen (uudelleen) tulostaminen
 +
** <code>etool.cmd cleanup</code> : datahakemistojen <code>01-gerber</code>, <code>02-ngc</code> siivous. '''Mitään datoja EI kannata säilyttää tuolla ne putsautuu jatkuvasti'''
 +
** <code>etool.cmd ls</code>: datahakemistojen <code>01-gerber</code>, <code>02-ngc</code> hakemistolistaus
 +
** <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 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) ====
 +
 +
''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)  '''TODO''' Suunnittelu kriteerien toteutus KiCad työkaluun.<br/>
+
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:
 +
* 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  <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:
 +
* 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'''.
  
=== Gerber tiedostojen muokkaaminen jyrsinnän gcode:ksi ===
+
==== ''etool'' työkalun asennus omaan tietokoneeseen  ====
  
* Aluksi siivoa hakemistot (kaikki gerber ja ngc -tiedostot poistetaan - mitään tiedostoja ei talletata työasemalla)
+
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.
** etool.sh cleanup
 
  
* Lähtötilanne: Projektin Gerber tiedostot (*_F_Cu.gbr, *_B_Cu.gbr, *_Edge_ts.gbr, *_PTH.drl, *_NPTH.drl) ovat hiljaisen huoneen hacklab käyttäjän hakemistossa Documents\etool\01-gerber (Hakemisto short cut  on työpöydällä)
 
** Tiedostot voi joko kopioida tuonne hakemistoon (jos teet Gerberit omalla työasemalla) tai työasemalle asennettu KiCad voidaan konfiguroida tuottamaan Gerberi suoraan tuohon hakemistoon (ks. edellinen kohta)
 
  
* Käynnistä hacklab -käyttäjän kotihakemistossa hacklab\bin\etool.cmd skripti. Lue ohjeet ja paina enter cmd -ikkuna avautuu
+
Työkalu on onnistuneesti asennettu: ubuntu 18.04, W10 pro, W10 home, W10 pro, Mac OS (x86 -arkkitehtuuri)
  
* CAM:ituksen suoritus etool.cmd -avulla
+
==== ''etool'' työkalun ylläpito ====
** etool.cmd ls
 
** etool.cmd gerber PROJ
 
** etool.cmd ls
 
** etool.cmd ardill PROJ
 
** etool.cmd simulator
 
  
* Kun olet tyytyväinen kopioi hacklab käyttäjän hakemistossa Documents\etool\02-ngc projektin ngc tiedostot (*_F_Cu.ngc, *_B_Cu.ngc, *_Edge_Cuts,ngc, *-PTH.ngc, *-NPTH.ngc, *_PTH-ALIGN.ngc) tikulle kopioitavaksi hiileen.
+
* Forkkaa https://github.com/jarjuk/etool
 +
* Ylläpidä RELEASES -tiedostoa
 +
* <code>docker build </code>
 +
* Testaa
 +
* <code>docker push</code> docker hub:iin
  
* Loputuksi siivoa hakemistot (kaikki gerber ja ngc -tiedostot poistetaan)
+
 
** etool.sh cleanup
+
==== ''etool'' työkalun version päivitys hiljaisen huoneen Window 10 työasemaan  ====
 +
 
 +
* Hae uusi versio TAG docker hub:sta <code>docker pull marcus2002/etool:TAG</code>
 +
* Päiviä versionumero skriptiin <code>C:\Users\hacklab\hacklab\bin\etool.cmd</code>
 +
** 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
 +
*** Dockerin ylläpito per 23.4.2022: https://github.com/jarjuk/etool
 +
* Tarkista komennolla <code>etool.cmd releases</code> muutoslogi.
  
 
=== Jyrsintä (hiili)  ===
 
=== Jyrsintä (hiili)  ===
  
* KÄytettävät hiilen terät:
+
==== Tarvikkeet ====
** PCB jyrsinterä: arvaus 0.1 mm/60deg
+
Hiilen piirilevyjyrsinnän tarvikkeet löytyvät smartstore laatikosta, jossa on
** PTH poranterä: 0.9mm
+
* Piirilevyjyrsintään vakioidut jyrsintäterät (3.175 kara):
** NPTH poraterä 2.5mm tai 3mm
+
** 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]
** Reunojen jyrsintä 2 mm leikkausterä
+
***
* Lähtötilanne: Projektin ngc tiedostot (*_F_Cu.ngc, *_B_Cu.ngc, *_Edge_Cuts,ngc, *-PTH.ngc, *-NPTH.ngc, *_PTH-ALIGN.ngc) on kopiotu siirretty hiilellle.
+
** 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]
* Kiinnitä piirilevy kaksipuoleisella teipillä hiilen uhripuuhun.  
+
** NPTH porateriä löytyy metallihuoneesta 2.5mm tai 3mm, normisti yli 2.1mm reijät tehdään jyrsimällä)
* Touch off x ja y siihen kohtaan, mihin piirilevyn origon suunnittelit.
+
** Reunojen jyrsintä 2 mm leikkausterä [https://www.aliexpress.com/item/33053342366.html?spm=a2g0o.order_list.0.0.5dc41802NIaGKR aliexpress linkki]
* Touch off z:lle (= vie z riittävän lähelle, n. 1 mm päähän pinnasta, z step 0.1 mm, kunnes paperi ei enää mahdu, touch off)
+
* kaksipuoleista teippiä.  
* Tarkista, että probe on kytketty ja toimii
+
* jyrsinterien kiinnitysholkit
** proben kytkentäliuska ottaa kiinni piirilevyaihioon
+
 
** proben kytkentäliuskasta lähtee johto joka menee hiillen koteloon
+
 
** jos vielä lisävarmistusta halua niin proben tilan saa käyttöliittymään näkyviin ja hiilen kyljessä olevassa rasiassa on maadoitusnappi probesignaalin testaamista varten
+
==== Piirilevyaihion kiinnitys ====
* Jyrsintä
+
* Kiinnitä piirilevyaiho alustaan kaksipuoleisella teipillä ja alusta hiilen pöytään tukevasti hiilen kiinnitystarvikkeilla
** aja Front Copper milling: (*_F_Cu.ngc)
+
* Parhaiten (tämän hetken tietojen perusteella) teippi kiinnittyy akryyliin.
** jos kaksipuoleinen piirilevy
+
* Teippaus on tehtävä huolella, jotta piirilevy ei lähde jyrsinnän aikana vaeltelemaan:
*** vaihda kohdistusporanterä, touch off z, poraa kohdisusreijät PTH-ALIGN.ngc
+
** putsaa alusta ja piirilevyaihio pölystä
*** käännä piirilevy (ennen kääntämistä huomioi missä kohdistusreijät sijaitsevat, jotta osaat kohdistaa piirilevyn oikeaan kohtaan käätämämisen jälkeen)
+
** vaihda alusta mikäli siinä on tartuntaa haittaavia reikiä tai jyrsintäjälkiä
*** vaihda piirilevvyn jyrsinterä, touch off -z, aja back copper milling (*_B_Cu.ngc)
+
** hyvä alusta teippikiinnitykselle esimerkiksi akryyli
*** käännä piirilevy takaisin etupuolelle
+
* Alustan oltava riittävän paksu, että jyrsintä ei osu hiilen pöytään. (esimerkiksi kohdistusporaukset "tehdasasetuksena" 4.5mm syvyyteen)
** Poraa kuparireijät: Vaihda poranterä, touch off z, aja *-PTH.ngc,
+
 
** Poraa kiinnitysrejät: Vaihda poranterä, touch off z, aja *-NPTH.ngc
+
==== Proben tarkistusohjeet ====
** Jyrsi piirilevyn reunat: vaihda reunajyrsin, touch off z, aja *_Edge_Cuts,ngc
+
* 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  <code>Machine->Hal Meter</code>
 +
** tab <code>Signals</code>
 +
** etsi listata signaali <code>motion.probe-input</code>
 +
** 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ää
 +
* <code>0.1 mm step</code>  askelein alaspäin, kunnes poranterä ei enää mahdu kulkemaan terän ja aihion välistä
 +
* <code>Touch off 3mm</code>
 +
* <code>Continuous</code> moodi
 +
* terä ylös
 +
 
 +
==== Kaksipuoleinen piirilevyn kohdistaminen ====
 +
* kun kohdistusporaus on tehty (<code>PROJ_PTH-ALIGN.ngc</code> 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!
  
== Reijitys ==
+
'''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