Výroba DPS v Linuxe pomocou CNC, časť #2: Fabrické výstupy

Výroba DPS v Linuxe pomocou CNC, časť #2: Fabrické výstupy
Richard Fabo Pridal  Richard Fabo
  339 zobrazení
3
 0
Výrobné postupy a návody

Všetko máme nakreslené, ale porozumie tomu i CNC?

1 Gerber & Excellon & G-code

V predchádzajúcej časti sme si ukázali, ako vytvoriť dizajn jednoduchého plošného spoja. Vlastné interné formáty KiCAD-u, alebo iného návrhového nástroja však nie sú použiteľné na samotnú výrobu, či už v profesionálnej firme, alebo na malom CNC.

  • Gerber je otvorený formát pre DPS. Je to štandard, ktorý hovorí, ako sa budú definovať náležitosti DPS ako medené vrstvy, spájkovacia maska, legenda, vŕtanie. Každá obrazová vrstva (medené vrstvy, spájková maska, legenda…) sa exportuje do osobitného súboru.
  • Excellon je pôvodne proprietárny formát, ktorý pôvodný tvorca zverejnil, bez úpravy licencie. Jeho dostupnosť spôsobila, že sa stal de facto štandardom a všetky známe CAD-y či konvertory ho dokážu exportovať. Hovorí o pozícií a priemeroch vŕtaných dier a o použitých jednotkách vzdialeností. Avšak viac hádam ani nie je potreba, nakoľko viac informácií pre CNC stroj poskytuje G-code.
  • G-code sú prípravné kódy, ktoré hovoria CNC stroju, aký typ akcie má vykonať - napr. rýchly presun, presun po priamke či oblúku, rýchlosť vretena nástroja a jeho záberu, výška nástroja pri rýchlom presune a pod.

Postup je zrejmý: Z KiCAD-u vyexportujeme gerber a excellon súbory, tie prevedieme do g-code a tým budeme ovládať CNC.

2 Exporty z KiCAD-u

Dôležitou vecou je stanovenie nulového bodu, od ktorého výsledný gerber alebo g-code bude definovať pozície v karteziánskej súradnej sústave. Na to slúži nástroj označený v obrázku č. 1. Ja ho volím ako ľavý spodný roh ohraničujúcej čiary DPS vo vrstve Edge.Cuts

Obrázok 1: Stanovenie nulového bodu.

Následne si zvolíme Plot (paradoxne nie Export), v ktorom, ako vidno na obrázkoch, máme na výber formáty, do akých sa naša DPS „vykreslí“.

Obrázok 2: Export do Gerber formátu pre B.Cu a Edge.Cuts.

Je dôležité zaškrtnúť voľbu Use auxiliary axis as origin, inak nami vopred definovaný nulový bod nebude braný v úvahu, ale všetky súradnice sa budú vzťahovať k rohu výkresu. A samozrejme zvolíme, ktoré vrstvy sa do exportu použijú, v našom prípade B.Cu a Edge.Cuts. Ako výstupný formát zvolíme Gerber. Tlačidlom Plot vygenerujeme potrebné súbory. Následne pomocou tlačidla Generate Drill Files… sa otvorí modálne okno, kde si zvolíme výstupný formát Excellon, zaškrtneme Auxiliary axis a tlačidlom Generate Drill File vytvoríme súbory vŕtania. Ak nie je definované inak, všetky vyexportované súbory budú v adresári celého projektu.

Obrázok 3: Export do Excellon formátu - vŕtanie.

3 Vytvárame G-code

Na vytvorenie G-code súborov existuje viacero nástrojov. My si opíšeme dva - jeden GUI a jeden CLI. Budeme potrebovať tri vyexportované súbory - s vrstvou B.Cu, Edge.Cuts a konečne PTH, čo je vŕtanie vodivých dier (NPTH sú nevodivé, ale tie v našom projekte nemáme, hoci okrajové diery by nimi mohli byť).

3.1 FlatCAM

FlatCAM je grafický nástroj na generovanie výstupov (nielen) z gerber súborov ale aj z SVG. Jeho ovládanie je pomerne intuitívne a hlavne všetky zmeny parametrov je krásne vidieť na grafickom zobrazení úlohy. Čo sa týka jeho inštalácie, tá nie je podľa môjho gusta. Vyžaduje inštaláciu veľkého množstva knižníc:

 

#!/bin/sh                                                                                                                                             
apt-get install libpng-dev
apt-get install libfreetype6 libfreetype6-dev
apt-get install python-dev
apt-get install python-simplejson
apt-get install python-qt4
apt-get install python-numpy python-scipy python-matplotlib
apt-get install libgeos-dev
apt-get install python-shapely
easy_install -U distribute
apt-get install python-pip
pip install --upgrade matplotlib
pip install --upgrade Shapely
apt-get install libspatialindex-dev
pip install rtree
pip install svg.path

 

Napriek nepopierateľnej robustnosti a výbornému systému správy balíčkov v GNU/Linux-e, mám prirodzený odpor k takýmto situáciám - kvôli jednému programu mať na disku kvantum ďalších súborov… a pritom ešte neviem, či ho budem vôbec používať. V tomto sú AppImage a jeho analógie výbornou pomôckou.
Radšej som preto zvolil inštaláciu FlatCAM vo virtuálnom počítači, odkiaľ sú aj snímky obrazoviek.

 

Tie sú, myslím, hodne vypovedajúce, a hádam postačuje spomenúť len toto:

  • Filozofia programu je taká, že do projektu sa pridávajú súbory (napr. spomínaný gerber) a z nich sa vytvárajú odvodené formáty, odlíšené pomocou suffixov _iso či _cnc.
  • Takže ak si pridáme napr. súbor *B.Cu.gbr, potom ho upravujeme (dvojitým klikom alebo po jeho zvolení prepnutím na záložku Selected), tak vznikne súbor *B.Cu.gbr_iso. A tak ďalej.
  • Na obrázkoch vidno, že napr v _iso definujeme hĺbku frézovania, otáčky vretena či posuv.
  • A v _cnc zase veľkosť nástroja či vlastné definované G- (a M-) kódy (napr. M6 na výmenu nástroja, M9 na vypnutie privádzania mazacej a chladiacej kvapaliny).
  • Analogicky sa teda takýmto spôsobom spracuje i Edge.Cuts.
  • *PTH.drl súbor s definíciami vŕtania vyžaduje odlišné parametre, najpodstatnejšie sú priemery vŕtania - pretože na jednej DPS máme diery rôznych priemerov, ktoré sú dané súčiastkami a sú obsiahnuté v Excellon súbore. FlatCAM ich identifikuje a predvolene sa ich všetky snaží použiť. Niekedy to nemusí byť potrebné, napr. ak máme na DPS len pár súčiastok s vŕtaním 0,7 mm, ale všetky ostatné sú 0,8 mm.
  • Všetky _cnc súbory sú už vo formáte G-code.

Obrázok 4: FlatCAM: Nahratý gerber súbor s vodivými cestami.

Obrázok 5: FlatCAM: Definujeme pravidlá pre frézovanie vodivých ciest.

Obrázok 6: FlatCAM: Generujeme G-code pre frézovanie vodivých ciest.

Obrázok 7: FlatCAM: Možnosť doplnenia G-code.

Obrázok 8: FlatCAM: Definujeme pravidlá pre orez DPS.

Obrázok 9: FlatCAM: Generujeme G-code pre orez DPS.

Obrázok 10: FlatCAM: Možnosť doplnenia G-code.

Obrázok 11: FlatCAM: Vŕtame diery rôznych priemerov.

Obrázok 12: FlatCAM: Doplnenie G-code pre vŕtanie.

Obrázok 13: FlatCAM: Celý projekt.

V grafickom náhľade vidíme tiež poradie, v akom sa budú diery vŕtať, či ako sa bude presúvať nástroj medzi operáciami.

3.2 pcb2gcode

Pcb2gcode je program určený pre príkazový riadok. Žiaľ, vo väčšine repozitárov je silne zastaraná verzia, preto najlepšie riešenie bolo zostavenie najnovšej. Na githube je postup ako na to i aké knižnice sú ku kompilácii potrebné.

V princípe to išlo takto:

sudo apt-get install build-essential automake autoconf autoconf-archive
sudo apt-get install libtool libboost-program-options-dev libgtkmm-2.4-dev gerbv git librsvg2-dev
git clone https://github.com/pcb2gcode/pcb2gcode.git
cd pcb2gcode
autoreconf -fvi
./configure
make

Opäť som to spravil na virtuálnom stroji. Ak by mal o binárku niekto záujem, uploadol so ju (verzia 2.3.0) na mediafire. Je ku nej potrebný i gerbv (apt-get install gerbv).

Pcb2gcode je teda program, ktorý prijíma na vstupe súbory produkované nástrojmi na navrhovanie DPS - súbory Gerber (RS-274X) a Excellon (RS-274C) (analyzované programom gerbv) a vytvára súbory vo formáte G-code (RS-274D / NGC).

Má tieto hlavné funkcie:

  • Vytvárať g-kód pre frézovanie vrchnej, spodnej vodivej vrstvy, vŕtanie dier a frézovania okraja.
  • Exportovať nielen g-kód, ale aj grafické reprezentácie vo formáte SVG a PNG.
  • Pridávať špeciálne riadiace príkazy pre LinuxCNC, Mach3, Mach4…
  • A čo je jeho výhoda, oproti napr. FlatCAM, je možnosť voronoi módu. Zjednodušene nám to vytvorí plochy s rovnakým potenciálom. Jeho výhoda je zrejmá - výrazne rýchlejšie frézovanie, väčšie prúdové zaťaženie. Nevýhodou je, že na prvý pohľad, pri komplikovanejších schémach, nemusí byť jasné, ktorá cesta kam vedie, ďalej esteticky to nie je úplne ono.

S pcb2gcode je možné narábať dvomi spôsobmi:

  1. ako s klasickým príkazom v jednom riadku, s prepínačmi, alebo
  2. pomocou vytvorenia textového súboru s (predvoleným) názvom millproject, v ktorom sú všetky parametre na osobitných riadkoch, dajú sa komentovať a ľahko modifikovať.

Ukážeme si, ako taký millproject vyzerá, do komentárov som pridal stručný opis:

 

# všetko za znakom "#" je považované za komentár
# DPS 5-24 V
# súbor pre pcb2gcode

metric=true              # použitie metrickej sústavy na vstupe
metricoutput=true        # a na výstupe (inak čísla budú v palcoch, hoci prerátané z mm)

back=DPS-5-24V-B.Cu.gbr  # súbor s našou vodivou vrstvou
zwork=-0.05              # hĺbka frézovania
zsafe=2                  # výška nástroja od nuly pri presune
zchange=20               # výška nástroja pri zapauzovaní CNC a výmene nástroja
mill-feed=70             # posuv nástroja (v mm/min.) pri frézovaní
mill-speed=500           # otáčky vretena nástroja / min. pri frézovaní
offset=0.10              # odstup hrotu nástroja od vonkajšej strany vodivej cesty
nog64=true               # pre kompatibilitu s gbrl kontrolérmi
voronoi=true             # využitie voronoi režimu
#no-export=true          # program netvorí g-code súbory (prípona .nc), ale len SVG a PNG


outline=DPS-5-24V-Edge.Cuts.gbr  # súbor s okrajmi DPS
zcut=-1.5                        # hĺbka rezu
cutter-diameter=0.4              # priemer nástroja
cut-feed=66                      # posuv nástroja (v mm/min.)
cut-speed=400                    # otáčky vretena nástroja / min.
cut-infeed=0.5                   # max. hĺbka zahĺbenia nástroja v jednom prechode


drill=DPS-5-24V-PTH.drl          # súbor pre vŕtanie
zdrill=-1.60                     # hĺbka vŕtania
drill-feed=60                    # posuv v Z osi počas vŕtania (mm/min.)
drill-speed=500                  # otáčky vretena nástroja / min.
#milldrill-diameter=0.8          # priemer vrtáka, ak sa používa iba jeden typ, inak berie priemery z excellon
#onedrill=true                   # a vtedy musí byť aktívny aj tento parameter
nog81=true                       # pre kompatibilitu s gbrl kontrolérmi

 

Ostatné parametre môžu ostať, aspoň v našom prípade, predvolené (DPI, nula,…).

Vygenerované výstupné súbory majú názvy: back.ngc, drill.ngc., outline.ngc.

V ďalšej kapitole si ukážeme, ako ovládať samotný CNC stroj a skúsime si tie DPS na ňom vytvoriť.

Autor článku : Richard

Zdroj : linuxos.sk



Páčil sa Vám článok? Pridajte k nemu hodnotenie, alebo podporte jeho autora.
 

       

Komentáre k článku

Zatiaľ nebol pridaný žiadny komentár k článku. Pridáte prvý? Berte prosím na vedomie, že za obsah komentára je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.
Pre komentovanie sa musíte prihlásiť.

Vaša reklama na tomto mieste

Vyhľadajte niečo na našom blogu

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo


Webwiki Button