CNC KULLANARAK PCB YAPIMI – YENİ YÖNTEM

CNC ile PCB yapmak

Çoğu zaman su yolları çok ince olmayan basit baskılı devrelere ihtiyacımız oluyor. Prototip devre PCB lerini bir  masa üstü CNC de birkaç saat içinde yapıp ele almak mümkün.  

Bu konudaki daha önceki yayınımda (Görmek için burayı tıklayınız) bunun için izlenebilecek bir yolu anlatmıştım. Ancak o yöntem oldukça külfetli bir çalışma gerektiriyordu.

Bu defa aynı sonuca çok daha hızlı ve zahmetsiz ulaşmayı sağlayan yeni bir yöntemden söz edeceğim.

Bu defa sadece EAGLE tasarım platformunu ve Carbide 3D isimli yazılımı kullanacağız. Her iki yazılım da ücretsiz, en azından şimdilik.

Adım adım ilerleyelim.

ÖNEMLİ UYARI

Bu hatırlatmayı özellikle kendim için en başa koyuyorum:

Burada kullandığımız "Carbide Copper" aracının delik algoritması kısmında bir bug var - 2020 Ekim itibari ile düzeltilmemiş durumda. Delik koordinatlarından 99 mm den büyük olanlarını Gerber dosyasına koyarken soldaki yüzlük hanelerini siliyor. Örneğin 124.3 mm olan koordinat, programa 24.3 olarak giriyor. Çözüm : ya deliklerin bulunduğu alanın 99x99mm alanının içinde kalmasına dikkat edilecek. Ya da, -böyle deliklerin sayısı az ise- bir text editör ile bu delikler program içinde bulunup, koordinatlarının önüne "1" eklenecek.

Programın delik delme kısmı dosyanın son bölümünde olduğundan tanınması zor değil. Alan dışında kalan delik koordinatları EAGLE dan alınıp, yüzler hanesi eksik haliyle gcode dosyasının bu son bölümünde yakalanıp düzeltilebilir.

Örnek: Aşağıdaki listede X116.670 olarak görünen koordinatlar Carbide Copper'in ürettiği dosyada X16.670 olarak beliriyorlar. soldaki "1" leri ben manuel olarak ekledim. 

Bu deliklerin yanlış yerlere konulduğu Carbide Copper tasarım ekranında da görünüyor, ama dikkatten kaçabiliyor. Açıkçası Carbide Copper, "ben bu delikleri yanlış yerlere deliyorum !!!" diye uyarıyor, görürseniz.

G00 Z3.000
G00 X68.410 Y53.770
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X68.410 Y56.310
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X68.410 Y58.850
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X116.670 Y56.310
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X116.670 Y53.770
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X116.670 Y51.230
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X116.670 Y48.690
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X116.670 Y46.150
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 X116.670 Y38.530
G0 Z3.000
G01 F120.0 Z-1.780
G00 Z3.000
G00 Z3.000

Yukarıdaki örnek gerber kodları aşağıdaki PCB ye ait. En sağdaki 12 delik, 100mm eksik X koordinatları ile sol tarafa taşınmış durumda. Bu görsel, Carbide Copper ekranından alındı.

Carbide Copper delik programı 99 dan büyük koordinatlarda yüzdeler hanesini siliyor.

ADIM 1 – PCB TASARIMI

PCB tasarımını EAGLE ile yapıyorum. Benzer yol izlenerek başka programlar da kullanılabilir elbette, ama ben denemedim.

Baskılı devre su yollarını CNC de routing bit olarak anılan kesici uçlar kullanarak yapacağımızdan su yolları arasında yeterli aralık bırakılmalı (en az 0.5mm), su yolları da 1mm den ince olmamalı. Bundan daha ince geometriler de mümkün olabilir ama CNC ayarları çok kritik hale geliyor, denemek size kalmış.

Bu aşamada plaketin tek yüzlü mü yoksa iki taraflı mı olacağına karar vermek gerekiyor. Elbette tasarımı zorlayarak tek yüzlü plaket ile sonuca gitmek en iyisi. Bu durumda su yollarını alt ya da üst tarafta oluşturmak, diğer yüzü boş bırakmak gerekir.

İki taraflı tasarım yapılırsa, delik içi kaplama olmayacağını dikkate alarak alt/üst “via” geçişlerini devre elemanlarının altında bırakmamak gerekiyor. Eleman ayaklarının geçtiği delikler de bu amaçla kullanılabilir ama bu ayaklar her iki taraftan da erişilebilir olmalı, alttan ayaklı bir devre elemanı bu işe uygun değil.

İki taraflı tasarımda alt/üst kesimlerin CNC de iki aşamada yapılması gerekiyor. Önce üst yüz sonra plaketi çevirerek alt yüz. Bu durumda alt/üst kesimlerin birbirine denk getirilerek ayarlanması da ayrı bir dert. Bu ayarlamayı kolaylaştıracak referans deliklerin oluşturulmasına dikkat etmek gerek.

Bu yazıyı hazırlarken EAGLE 9.4.2 sürümünü kullanıyordum.

EAGLE ile hazırlanmış tasarım

ADIM 2 – GERBER ÇIKTI DOSYASININ OLUŞTURULMASI

2.1 File menüsü altında CAM Processorü tıklayın

2.2 Açılan pencerede “PROCESS JOB” butonunu tıklayın

2.3 Açılan pencerede ÇIKTILARIN KONACAĞI KLASÖRÜ SEÇİN

Dosyaları nereye koydurduğunuzu unutmayın, sonra bulmak zor oluyor.

Bundan sonra “open” i tıkladığınızda ekranda işlemin başarı ile tamamlandığı mesajı belirir.

Plaketin tüm üretim dosyaları -alt ve üst pcb gerber dosyaları, lehim maskeleri, yerleşim çizimleri, delikler için excellon dosyaları- “CAM Outputs” adlı bir klasöre yerleştirilmiş olur.

ADIM 3 CARBIDE YAZILIMI İLE CNC GCODE DOSYALARININ ELDE EDİLMESİ

Sıra Carbide3D yazılımını kullanarak CNC ye verilecek Gerber kodlarını üretmeye geldi.

Carbide3D.com bir masa üstü CNC üreticisi. Müşterilerine için kendi makinaları ile kullanılacak yazılımları da sunuyor.  Ayrıca, bunları henüz ürünlerini satın almamış kişilerin kullanımına da açıyor. Aşağıdaki linkden burada kullanacağımız yazılıma ulaşılabiliyor.

Bu uygulama kendi web siteleri üzerinde çalışıyor, indirilerek çevrim dışı kullanılamıyor. Yani, izin verdikleri sürece kullanabileceğiz demektir. Şimdilik (2019 Ekim itibariyle) epeydir kullanıma açık, bunu kaldırmayı planlamadıklarını belirtiyorlar.

Aslında bu linki bilmiyorsanız WEB sayfaları üzerinden ulaşmak da mümkün değil, link vermemişler, biraz gayrı resmi yani. Kullanın ama destek ya da herhangi bir güncelleme de beklemeyin. Böyle dedim ama , “carbide copper” ibaresi ile bir Google sorgulaması yapınca da erişilebiliyor.

copper (https://carbide3D.com/copper/)

ADIM 3.1.1 CARBIDE 3D SİTESİNE ERİŞİM

https://copper.carbide3d.com” sitesine girdiğinizde aşağıdaki gibi bir karşılama sayfası açılıyor. Burada kullanım rehberi için linkler de var.

Bu yazı Carbide Copper 3D V0.1 sürümü kullanılarak hazırlandı.

“OK” tıklayarak sonraki sayfaya geçiyoruz.

ADIM 3.1.2  PCB BOYUT VE YÜZEY SEÇİMLERİ

Açılan sayfa “Material setup” başlıklı. Burada PCB boyutlarını ve alt-üst düzey seçimlerimizi yapıyoruz. Tasarımımızı SMD devre elemanlarımızı da lehimlediğimiz üst yüzeyde yapmış olduğumuzdan “top side only” seçeceğini kullanacağız. Bu seçimi yanlış yararsanız PCB niz ters çıkar.

ADIM 3.2.1  GERBER DOSYALARININ Carbide3D ye AKTARILMASI

Bir sonraki adımda açılan pencerede PCB ye ait gerber dosyası isteniyor.

Bu aşamada EAGLE ile oluşturmuş olduğumuz PCB gerber dosyasını bulup yüklememiz gerekiyor. Daha önce belirttiğimiz gibi EAGLE bu dosyaları “CAM OUTPUTS” adlı klasöre yerleştirmişti.

Tasarımımızı üst tarafta yaptığımız için “copper top” dosyasını seçeceğiz. 

“Choose” tıklanınca dosyamız carbide3D sitesine aktarılıyor, ekranda da PCB nin yeni görünümü beliriyor.

Bu görüntü görülmesi güç olacak kadar küçük olabiliyor, en azından benim Mac üzerinde öyle oluyor. Zoom In ve Out yaparak görünür hale getirmek için biraz çaba gerekiyor.

ADIM 3.2.2 DELİKLER İÇİN EXCELLON DOSYASININ AKTARIMI

Ekranı istediğimiz görüntüleme seviyesine ayarlayıp “next” butonuna basalım.

Bu sayfadaki “isolation passes” parametresi, sinyal yolları arasındaki izolasyon aralıklarının genişliğini belirliyor. Sinyal yollarınız geniş buna karşılık izolasyon aralıklarınız dar ise bunu 2 ya da 3 olarak seçebilirsiniz. Ama sinyal yolları 0.5 mm ya da daha dar ise bunu 1 olarak seçmekte yarar var. Bu durumda yer yer tam olarak açılmamış izolasyon kanalları kalabilir, ama büyüteç altında inceleyerek bir falçata ile rötuş yapılarak bu sorun aşılabiliyor.

Yazının sonunda bunu büyük seçmenin yol açtığı sonuca ait bir fotoğraf koyacağım.

Bir sonraki sayfada delik delme “Excellon” dosyasını aktarmamızı isteyecek.

EAGLE tarafından oluşturulmuş olan Excellon dosyası da “CAM Outputs” klasörü içinde yer alıyor. Bu sürümde bu dosyanın adı “drill_1_16.xln” şeklinde.

Choose butonu tıklandığında .xln dosyası da siteye aktarılıyor, ekran görünümü delikleri de görüntüleyecek şekilde değişiyor.

ADIM 3.2.3 PCB KENAR KESİMİ

Bir sonraki sayfada karşımıza PCB kenarlarının CNC router ile kesimi için ayarlar çıkıyor.

Bu işlemi istemediğimizden boş bırakarak sonraki adıma geçiyoruz.

 

ADIM 3.3.1 BOŞ BAKIR ALANLARIN KAZINMASI

Bu adımda su yollarının arasında kalan bakır alanların CNC router kazınarak kaldırılması için bir seçenek var. Bu bakır alanlar ekranlama amacı ile kullanılmak isteniyorsa olduğu gibi bırakılabilir.

 

Bakır alanları kaldırmayı tercih edersek akran görünümü aşağıdaki hale geliyor.

Ancak, bu işlemin CNC deki çalışma süresini çok uzatacağını da dikkate almakta yarar var. Bu nedenle bakır adacıkları kullanmayacak dahi olsam genelde bunu tercih etmiyorum. Üretilen PCB de yer yer kalan ve kısa devre riski oluşturan küçük bakır adacıkları büyüteç altında bir falçata ile rotüşleyrek kaldırıyorum.

ADIM 3.3.2 SON ADIM – GCODE DOSYASININ OLUŞTURULMASI

“Generate GCODE” butonu tıklandığında Carbide Copper3D uygulaması, CNC ye vereceğimiz  .Gcode dosyasını üreterek bilgisayarımıza download eder.

Bu dosyayı bilgisayarımızın “Downloads” klasöründe buluyoruz.

Dosyanın uzantısı .nc şeklinde oluyor. Bu sürümde dosya ismi “copper-n.nc” şeklinde. CNC ile kullanabilmek için dosya adını bizim için daha anlamlı olacak şekilde değiştirip uzantısını da .GCODE yapıyoruz. Örneğin “EncPCB_B.GCODE” şeklinde.

Bu dosyadaki CNC programı hem iletken yollar hem de delikleri içeriyor. Yani CNC nin dosyayı işleyebilmek için “T…” şeklindeki uç değiştirme komutlarını anlayıp kotarabiliyor olması gerekir. Önce PCB kesmeye özel “V” kesim uçlu bir freze takılacak, CNC uç değişikliği isteyerek duraklayınca bu defa istenen çaptaki delik matkap uçları sırası ile takılarak devam edilecek.

Alternatif yöntem ise Carbide3D ye Excellon dosyasını yüklemeyip, sadece bakır yolları kesen kısmının .Gcode dosyasını oluşturmak.

Bu durumda delikler için de EAGLE ın ürettiği xln dosyasını doğrudan kullanarak ikinci bir CNC delme oturumu uygulamak gerekir.

Benim CNC uç değiştirme fonksiyonuna sahip olduğundan ben birinci yöntemi kullanıyorum.

ADIM 3.3.3 PLEASANT3D UYGULAMASI İLE GÖRÜNTÜLEME

Sonuçta oluşturduğumuz Gcode dosyasını Pleasant3D uygulaması ile açarak görüntüleyebilir inceleyebiliriz. Bu incelemede hoşumuza gitmeyen bir şey görülürse tasarımımızı değiştirmek üzere başa dönerek süreci tekrarlamak gerekebilir.

ADIM 3.4.1 CNC DE ÜRETİM

Sıra geldi .Gcode dosyasını CNC ye verip PCB yi üretmeye. Burada CNC kullanım ayrıntılarını vermeyeceğim.

Bakırlı fenolik plaket kullanmayı tercih ediyorum. Cam elyaf örgülü epoksi plaketler çok sert,  matkap ve freze uçlarını çok çabuk aşındırıyor. Sonuçta prototip üretiyoruz, daha fazlasına gerek yok.

Adım adım birkaç foto:

İlk olarak genel çalışma düzenim. CNC, CNC kontrol ve sürücü birimleri ve PC. Aslında .GCODE dosyasını SD karta yükleyerek kontrol birimine vermek mümkün,  bu durumda PC ye gerek kalmıyor. Ama ben .Gcode dosyasında değişiklikler yapmak gerekirse oracıkta yapabileyim diye bu düzeneği tercih ediyorum.

SD kart üzerinden yapılan üretim aşağıdakinden biraz farklı. Bir ara onu da bu açıklamalara eklerim.

Baskılı devre plaketini iki köşesinden CNC ye bağlayarak sol alt köşe orijin (0,0) olacak şekilde sıfır ayarını yapıyorum.

Kullandığım kesim ucu 30 derece açılı PCB routing bit. Bu uç sinyal yollarının kesimi süresince takılı kalacak. Sıra delikleri delmeye gelince CNC duraklayarak uç değişimi istiyor. O zaman 1mm lik delici uç takıyorum.

Sırada PC üzerinde PYTHON ile hazırlamış olduğum Gcode “Streamer“i çalıştırmak var.

Bu uygulama Gcode dosyasını her seferinde bir satır olarak USB/UART üzerinden CNC kontrol birimine gönderiyor. Bu esnada CNC kontrol birimi ile bir el sıkışma protokolu çalışıyor. CNC bir sonraki komuta hazır olduğunda PC deki Streamer’e “~” karakteri ile “sonraki komutu gönder” komutu gönderiyor.

Yani benim CNC kontrol birimim MACH3 protokolu ile çalışmıyor, doğrudan .GCODE komutlarını alarak işliyor.

Streamer başlatıldıktan sonra .”File” butonuna tıklayıp Gcode dosyamızı seçerek yüklüyoruz ve “Stream” butonuna basıyoruz.

Bu andan itibaren CNC çalışmaya ve sinyal yollarını kesmeye başlıyor.

 

ADIM 3.4.2 SONUÇ

Sonuçta elde ettiğimiz PCB aşağıdaki fotodaki gibi oluyor. Birkaç küçük rötuş ve 1000 grit ile ince bir zımparalamadan sonra.

Görüldüğü gibi 0.5mm lik aralıklar ve 0.5 mm lik iletkenler alt limit olarak kabul edilebilir. SO formatındaki, SOT23 ve 0805 benzeri boyutlardaki SMD devre elemanları için gayet uygun. Ama LQFP64 gibi tüm devrelerin ayak desenlerini yapabileceğimden kuşkuluyum. Bir ara denerim.

Kullandığım kesici uçlar:

Kullanılacak ucun keskin ve sivri olması çok önemli. Bronz uçlar fenolik reçine plaketlerde bile bir iki kullanımdan sonra aşınıyor. Ama bunlar ucuz malzemeler, o nedenle pek sorun oluşturmuyor.

(Düzeltme : Sayın Maliye Bakanımız bu tür ucuz şeyleri Çinden gümrüksüz getirttiğimizi farkedip bu hortumumuzu kesmiş bulunuyor. Kendilerine en içten şükranlarımızı sunuyoruz.)

 

Biraz yakından bakalım :

Hiç de fena değil, değil mi? Kullandığım “V” uç daha önce 3-4 PCB yapımında da kullanıldığından ucu ideal durumda değil, ama bu sonuç için yeterli oldu.

Bu arada biraz aşınmış bir uç ile ve “isolation pass” sayısı 3 olarak ürettiğim bir örneği de burada vereyim:

Görüldüğü gibi izolasyon aralıkları o kadar geniş, kesim kenarları o kadar kaba oldu ki, sinyal yolları harap vaziyette ve param parça.

Bu nedenle ayarları dikkatle yaparak ince ve aşınmamış uçlar kullanmak gerekiyor.

Kullanılacak ucun aşınmamış olması, sıfır ayarının doğru olarak yapılması ve PCB nin yatay düzlemdeki ayarının iyi olması çok önemli. X/Y yönlerindeki 100 mm de yataylıktan 0.2mm ilk bir sapma dahi böyle kötü sonuçlara yol açabiliyor.

Yatay düzlemde +- 0.2mm ye varan eğimler var ise plaketin bazı yerlerinde derin kesikler açarken başka yerlerinde sadece hafif bir çizikle geçiştiriyor olması çok olası.

Bu açıdan, plaketin CNC ye bağlanma adımlarını detayları ile vereceğim.

PCB nin CNC YE BAĞLANMASI

Boş plaketin CNC tablasına kambur oluşmayacak ve yataylıktan 0.2 mm den fazla sapmayacak şekilde  bağlanması çok önemli. Bu hazırlıkta yapılacak hatalar ve ihmaller bu işten nefret etmenize yol açabilir.

Epeyi deneme yanılma ve kötü tecrübelerden sonra, parçayı CNC tablasına bağlamada en güvenli yöntemin en az üçnoktadan vida ile sabitlemek olduğunu gördüm. CNC tablamı da buna göre tasarladım. Tablada 50 ve 60 mm aralıklarla 3mm metrik vida dişli bağlama deliklerim var. Farklı boyutlarda PCB -ve başka parçaları- bağlamak için uygun noktalar oluşturuyor.

Önce plaketin sol alt köşesine 3 mm ilk bir referans deliği deliyoruz. Burası diğer bağlama delikleri için referans oluşturacak.

Bu delik ilk bağlantı noktamız. Sırada diğer bağlantı deliklerini delip hazırlamak. En az iki tane daha gerekli ama benimki gibi bir CNC de PCB üretimi için her 50-60mm de bir sabitleme yapılmasının gerektiğini gördüm. 0.2 mm yi aşan bir bombelenme işi berbat edebiliyor.

Bu delikleri CNC de deleceğiz. PCB nin altına bir PCB daha koyarak (delikleri delerken CNC tablasını da delmemek için tampon) tablaya bağlayacağız.

PCB nin sol alt köşesini vida ile sabitledikten sonra XY doğrultularını ayarlayıp bir bant ile güçlü şekilde sabitliyoruz. Fotoda görünmüyor ama altında tampon olarak bir boş PCB plaketi daha var.

CNC yi sol alt vidamız (0,0) olacak şekilde sıfır ayarı yapılacak.

Ondan sonra CNCye verilecek  manuel komutlar ile 60×60 matris şeklinde 5 delik daha deliyorum. Uygulamaya göre delik pozisyon ve sayısını değiştirmek gerekir elbette.

Bu delikleri CNC ye koymadan bir dikey matkap ile daha kolay delmek üzeredir şablon hazırlayıp kullanmaya başladım.

 

Bu yeni deliklerimizden geçireceğimiz vidalar ile PCB yi CNC tablasına toplamda 6 noktadan bağlıyoruz. Ben 3 mm ilk vidalar kullanıyorum.

Artık “V” yontma ucunu takarak PCB nin bakır yollarını oluşturabiliriz.

Bunun ardından da delme ucu ile delikler deliniyor.

SON

Bu yayının sonu – Selçuk Özbayraktar Ocak 2019