Piirilevyjyrsintä

Helsinki Hacklabin wikistä
Versio hetkellä 1. syyskuuta 2022 kello 15.12 – tehnyt Jukkaj (keskustelu | muokkaukset) (→‎Gerber->gcode muunnos)
Siirry navigaatioon Siirry hakuun


Piirilevyjyrsinnän työvaiheet

Piirilevylayoutin suunnittelu

  • Piirilevylayoutin suositusspeksit:
    • track: 0.5mm, trackien isolaatiot 0.4mm, pad 0805 (=2mmx1.2 mm padit. 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. 2)
  • Piirilevyn sijoittaminen koordinaatistoon 3)
    • Yksipuoleisen piirilevyn origo sijoitetaan piirilevyn vasempaan alanurkkaan
    • Kaksipuoleisella piirilevyllä origo sijoitetaan piirilevyn alareunan keskelle. Kaksipuoleisen piirilevyn kohdistamista varten Y-akselille kaksi via:aa: 4)
      • 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 tehä merkintöjä)
    • Tee (front tai back silkkikerrokseen) pieni kulmamerkki levyn vasempaan alareunaan ja oikeaan yläreunaan. 5)
  • Piirilevyn layoutin suunnittelun lopputuloksena projektin PROJ Gerber -tiedostot 6)
    • 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
    • PROJ_NPTH.drl: ei kuparireikien (Non Plated Through Hole) porausohjeet
  • 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.

1) Käytännössä näillä spekseillä pädien välistä olevat vedot eivät onnistu. Pienemmätkin toleranssit voivat onnistua - kokeilemalla selviää.
2) Erikokoisten reikien käyttö piirilevyssä ks. alla [[gerber->gcode muunnoksen konfigruaatiot/pcb2gcode työkalun konfiguraatiot]]
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.
4) 3mm tulee siitä, että Lab:in jyrsintäputkessa vakioitu reunan jyrsintätuokalu 2mm. Kohdistus -viat 1mm tämän työkalun ulkopuolelle.
5) Gerber png export tekee hieman piirilevyä suuremman png -kuvan ja laser -kaiverruksen kohdistusta varten png on cropattava piirilevyn kokoiseksi näiden nurkkamerkkien avulla.
6) Tiedostot =ei zip paketti. Lab:in jyrsintäputkessa ei tueta zip -paketin purkua.

Gerber->gcode muunnos

Työvaiheet Gerber muuntamiseksi gcodeksi:

  • Projektin PROJ Gerber -tiedostot ( PROJ_F_Cu.gbr, PROJ_B_Cu.gbr, PROJ_Edge_ts.gbr, PROJ_PTH.drl, PROJ_NPTH.drl) kopioidaan etool -työkalun 01-gerber -hakemistoon 1)
  • Mikäli piirilevy jyrsintä vain takapuolelle niin muuta pcb2gcode.ini -tiedostossa
    • drill-size=back
    • cut-side=back
  • etool -työkalun avulla muunnetaan projektin PROJ 01-gerber -hakemistossa olevat Gerber tiedostot gcode -tiedostoiksi 02-ngc -hakemistoon. Tuloksena: 2), 3)
    • 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
    • PROJ_NPTH.ngc: ei kuparireikien (Non Plated Through Hole) porausohjeet
  • 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. 4)
  • Simulaattorin avulla varmistetaan hakemistossa 02-ngc olevien gcode -tiedostojen oikeellisuus. Erityisesti varmistettava kohdistus -viojen porauskoodin PROJ_PTH-ALIGN.ngc oikeellisuus. 5)
  • Simulaattorivarmennuksen jälkeen 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) 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 01-gerber -hakemistoon ja yksi kopiointi työvaihe jää välistä.
2) etool.cmd gerber PROJ -komento. Komento tuottaa gcode tiedostojen lisäksi automaagisesti myös silkkipainatuksen kuvatiedostot 02-silk -hakemistoon (ks. alla laserkaiverruksen ohjeet)
3) 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.
4) etool.cmd adrill PROJ -komento. Käynnistää skriptin, jonka oikeellisuudesta ei ole varmuutta: Tarkista simulaattorilla ja korjaa tarvittaessa käsin!!!
5) 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ä puualustaan, 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ä (PROJ_B_Cu.ngc) 1)
    2. poraa kohdisusreijät 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ä (PROJ_F_Cu.ngc). 1)
  3. Poraa kuparireijät: PROJ_PTH.ngc 2), 4)
  4. Poraa kiinnitysrejät:PROJ_NPTH.ngc 2), 4)
  5. Leikkaa piirilevyn reunat PROJ_Edge_Cuts.ngc. 2), 4)

1) Ennen jyrsinnän käynnistystä terän vaihto, z-koordinaatin touch off ja proben tarkistus.
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 ja mahdollinen hionta
  • Tarkista mikroskoopille jyysteet ja oikosulut, tasaa mahdolliset purskeet

Piirilevyjyrsinnän työkaluohjeet

Piirilevysuunnitteluohjelmat

  • KiCad 1)
    • 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.

1) 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 pad2pad: Led-vastus pin-header esimerkki etupuolen kupari ja pin-headereiden läpi poraus
    • etool.cmd example dip: DIP8 break-out, pin-header grid 1.27 mm, takapuolen kupari
    • etool.cmd example 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.

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)
  • reijän jyrsintä (eikä siis poraus)
  • 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, 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)

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 (TDB: yli 2mm reikien tekeminen 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
  • 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 Pins
    • 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 lähelle pintaa
  • paperi piirilevyaihion ja terän väliin
  • 0.1 mm step askelein alaspäin, kunnes paperi ei enää liiku
  • Touch off
  • 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 arvoon 4 ja käynnistä vasta sitten spindle
  • Teräholkin ruuvaaminen hiilen karaan helpomi saada menemään suoraan, jossa pyörittää karaa hiilen hihnapyörästä ja pitää holkkipidikettä paikallaan

SIIVOA JÄLKESI JYRSINNÄN JÄLKEEN