DPS Pomocí CNC (1)

Jednou ze základních úloh při konstrukci elektronických zařízení je výroba DPS (desky plošných spojů). Práce je to poměrně nezáživná a zdlouhavá. Přemýšlel jsem proto jak si ji maximálně ulehčit.

Protože mi v dílně stojí funkční CNC frézka pokusil jsem se ji využít. V tomto článku popíšu jeden ze dvou postupů, ke kterým jsem po několika pokusech dospěl. Konkrétně jde o vyškrábání motivu do krycí vrstvy a následné vyleptání.

Nejdříve stručně shrnu proč mi nevyhovovaly klasické metody. Kreslení rukou a následné leptání je sice poměrně přímočará metoda, ale náročná na přesnost a pečlivost. Nedovedu si představit ruční kreslení DPS pro pouzdra s roztečí 0,5 mm. Na výrobu ale stačí jen obyčejná cuprextitová deska, fix a leptací roztok. Abych byl schopen vyrábět i jemnější motivy vyzkoušel jsem také fotocestu. Ovšem zde už se postup komplikuje a je potřeba víc kroků, u kterých je možné udělat chybu. Nanést fotorezist, nechat vytvrdit, vytisknout motiv, osvítit, vyvolat, vyleptat, očistit a vyvrtat. Mdloby na mě jdou jen když ty kroky píšu a vzpomenu si jaká otrava byla takhle vyrobit jednu desku.

Přišel tedy nápad trochu si vypomoci CNC frézkou. Měl jsem značné pochybnosti, jestli se dostanu k použitelnému výsledku, protože jsem CNC stavěl k jinému účelu než je výroba DPS. Nakonec jsem došel ke dvou možnostem. První je přímé odfrézování mědi mezi cestami. To se hodí pro hrubší motivy a něco o tom napíšu později. Pro jemnější motivy je vhodnějším postupem nanést na měď krycí vrstvu, do ní vyškrábat izolaci pomocí frézky a pak vyleptat.

Příprava dat pro CNC

DPS kreslím typicky pomocí Eagle. Dozvěděl jsem se, že pro něj existuje doplněk pro export CNC dat – PCB-GCode . Vygenerovaný kód ovšem předpokládá DPS v přesně vodorovné rovině. Vzhledem k tomu, že potřebujeme odškrábat jen vrstvu laku, je třeba řídit výšku nástroje vůči vrstvě mědi s přesností na setinu milimetru. To je už jen vzhledem k výrobním tolerancím DPS těžko splnitelné. První pokusy tento předpoklad jen potvrdily.

pcb1-eagle.png

Z úvah o možném řešení vzešel jednoduchý skript v pythonu. Ten na začátek kódu vygenerovaného pomocí PCB-GCode vloží sondovací rutiny, které v pravidelné mřížce změří pozici vrstvy mědi vůči nulové horizontální rovině. Skript dále upraví původní instrukce podle naměřených hodnot a vše zapíše do nového souboru s kódem pro frézku. Vzhledem k tomu, že mnohé parametry se nastavují přímo ve zdrojovém kódu skriptu, jej zde nebudu zveřejňovat. Pokud umíte programovat v Pythonu a měli byste zájem si skript upravit pro svoje potřeby, můžete mě kontaktovat. Nedávno jsem narazil na odkazy, že již samotný PCB-GCode podporuje generování rutin pro sondování. Bohužel jsem se k dané verzi nikde nedoklikal a proto zůstávám u vlastního skriptu.

Mnou požívaný řídicí software (LinuxCNC) obsahuje přímo podporu pro sondování. Stačilo tedy jeden ze vstupů na paralelním portu propojit s hrotem nástroje a pomocí pull-up rezistoru s napětím 5 V. Dalším krokem je připojení nulového potenciálu na desku s mědí. Při dotyku nástroje s vrstvou mědi dojde na vstupu k přepnutí z 5 V (log. 1) na 0 V (log 0.). To software zaznamená a zapamatuje si výšku nástroje.

Než bylo ale možné přistoupit k výrobě konkrétní desky, bylo potřeba pár pokusů pro nastavení parametrů (průměr nástroje, hloubka škrábání, rychlosti, …). To si sice vyžádalo cca 1 dm čtvereční z plochy desky, ale po nalezení správných hodnot se již dá pracovat v podstatě bez dalších ztrát.

Nanesení vrstvy laku

Až doposud jsem používal jako krycí lak pro leptání obyčejnou lihovou fixu. Bohužel mnou v poslední době zakoupené fixy jsou málo odolné a dochází k podleptávání spojů. První experimenty ukazují, že by vhodnou náhradou mohl být lak vzniklý rozpuštěním kalafuny v lihu, který používám jako konečný ochranný lak na DPS.

Vyškrábání motivu

Ke škrábání motivu používám hrot pro frézování DPS, u kterého se mi podařilo odlomit špičku. Po opětovném vybroušení ostré špičky se sice již nehodí k frézování, ale pro škrábání motivu do laku je vyhovující. Po spuštění programu není třeba žádné další interakce a je tak možné se na dalších několik desítek minut (podle složitosti desky) věnovat jiné činnosti.

Program pro frézku začíná sondováním povrchu. Přitom se hrot vždy letmo dotkne mědi, porušení laku v tomto místě je ale téměř neznatelné a na vyleptané desce se vůbec neprojeví. Dalším krokem je samotné škrábání motivu, které zabere většinu času.

pcb1-scratched-e1354019024308.jpg

Vrtání

Po dokončení škrábání následuje vyvrtání děr. Instrukce pro vrtání jsou taktéž výstupem programu PCB-GCode. Protože se vrtá skrz celou desku a můžeme si dovolit určitou rezervu, není třeba si při vrtání komplikovat život sondováním. Vrtání je však třeba provést hned po vytvoření motivu. Po uvolnění by se totiž nepodařilo upnout desku zpět v přesně stejné poloze.

Doporučuji upnout vrták ve sklíčidle co nejhlouběji. Sám nechávám ze sklíčidla trčet jen asi 5 mm vrtáku. Omezí se tak cestování hrotu vrtáku po hladké vrstvě mědi. Software si sám řekne o případnou výměnu vrtáku. Přitom je třeba dát pozor, aby hloubka upnutí ve sklíčidle byla u všech vrtáků přibližně stejná.

pcb1-drilled-e1354019135980.jpg

Oddělení od zbytku desky

Abych využil CNC frézky naplno, používám ji i pro oddělení desky od polotovaru. Po vyvrtání nahradím vrták za frézku s pilníkovým (diamantovým) vzorkováním a samotné odříznutí provedu již pouhým ručním řízením posuvů frézky.

pcb1-cutted-e1354019196881.jpg

Leptání

Poslední krok je již stejný jako v případě ručního kreslení nebo výroby fotocestou. Doporučuji kolem desky uvázat drát s plastovou izolací. Výrazně se tak zjednoduší manipulace s deskou v leptacím roztoku.

pcb1-etched-e1354019257204.jpg

Výsledky

Popsaným způsobem jsem schopen vyrobit DPS pro pouzdra s roztečí pinů 0,5 mm. Minimální dosažitelná šířka izolace je přibližně 0,2 mm. Tyto hodnoty jsou hraniční. Na jemnější motivy již nestačí přesnost mého CNC.

pcb1-finished-e1354019316882.jpg


Vlastní CNC (2) – Elektronika