minikCNC ile pcb kazıma

 


Pcb kazıma için gereken programları linkten indirebilirsiniz. Bunlar Eagle, Candle, pcb-gcode ve arduino shield yapacaksanız SparkFun kütüphanesi.. Eagle 7.6 32 bit sürümü, kurulumunu anlatmayacağım youtube tan bakabilirsiniz. Bildiğiniz gibi 32 bit programlar, 64 bit sistemlerde de çalışabilirler. Candle, height map yani yükseklik haritası çıkarabildiğinden pcb kazıma işinde UGS yerine tercih ediliyor. Pcb-gcode da Eagle ile çizilen dosyayı gcode lara çeviriyor. 




Karşılaştırmak adına, resimde soldaki kazıma yükseklik haritası olmadan, sağdaki ise harita ile yapılan kazımadır. Solda bazı bakırların kazınamadığı gözüküyor. Bakır plakette -0.2 mm derinliğinde kazıma yapıyoruz fakat bakır yüksekliği 0.1mm değişebiliyor. Harita sayesinde Candle gcode ları değiştirerek çözüm sağlıyor. 

Not: Bu kazımadan sonra x ve y eksenlerindeki yaylı vidalı mil somunu tasarımını değiştirdim. Yazı sonundaki resimlerde çapraz hareketlerdeki düzelmeyi görebilirsiniz.




Kullanılan uçlar soldan sağa v tip 0.3mm 30 derece uç, 0.7mm ve 1mm delme uçları, 3mm alüminyum kesme ucu. Bunları trendyol veya aliexpress ten bulabilirsiniz.



Yükseklik haritası çıkarabilmek için z probe da olması gerekiyor. Resimdeki gibi timsahın biri pcb ye diğeri kazıma ucuna bağlanıyor. 



Bu iki timsah, Arduino cnc shield üzerinde SCL ve GND ye bağlanıyor. Pcb kazımada Z probe denen olay için gereken donanım bu kadar.


Eagle da pcb çiziminde kütüphaneden SparkFun-Boards içinde arduino_uno_shieldbasic elemanını ve pin araları 5mm olan klemensler için de aka500 elemanlarından kullandım.



Kartın kazıma işinden sonra kesilebilmesi için Milling layer ında resimdeki gibi (turkuaz) bir dikdörtgen oluşturmak gerekiyor. Eagle da yolları biraz kalınlaştırmak ve yol aralarına mesafe koymak için DRC de yapılan ayarlamalar aşağıdaki gibidir..




Eagle da kart oluşturulduktan sonra File -> Run ULP.. ye tıklayıp pcb-gcode-setup.ulp yi açıyoruz.



Aşağıdaki hata mesajını alırsak;


Eagle control panelde options -> directories e tıklayıp pcb-gcode u açtığımız klasörü aşağıdaki gibi user language programs kısmına ; koyarak ilave ediyoruz.


Sıra geldi pcb-gcode ayarlarına..


Ben top side seçmişim siz bottom side tarafındaki kutucukları işaretleyebilirsiniz. Spot drill holes u seçmedim yanlış gcode üretip -2mm e gönderiyor aslında -0.2 mm giderek delik için işaretleme yapması gerekiyor. Kullanıp daha sonra gcode lara müdahele de edebilirsiniz. Kesme işi için -2mm derinliğe inip kesme yapıyor. Etching tool size yani kazıma ucu için 0.3mm uç kullandım. Single pass işaretledim. 


Solda units altında mm seçmeniz gerekiyor. Kazıma işi -0.2 mm de yapılacak, delme derinliği -2mm olacaktır. 



Burada generic olanı seçiyoruz. En sonunda aşağıdaki Accept and make my board butonuna tıklıyoruz.. Üç tane pencere açılıyor, aşağıdaki resim kazıma yapılacak yerleri gösteriyor.


Belgeler -> eagle altında tap dosyaları oluştu..


etch kazıma dosyası, drill delme dosyası, mill ise kartı dıştan kesme dosyasıdır. Mill dosyasına müdahele etmem gerekti, hem aniden -2mm e inmesi hem de yanlış bir hareket yapması beni buna mecbur etti. Kesimde her kademede 0.5mm inmesi daha mantıklı olur. Gcode dosyasındaki hareketleri cnc ye gitmeden önce Camotics programı ile simülasyonunu izleyebilirsiniz.


Etch kazıma dosyasını cnc ye yollamadan önce kartın yükseklik haritası çıkarılmalı demiştik. Candle da x,y ve z de sıfırlama (pcb nin sol alt köşesi) yaptıktan sonra z probe u bağlıyoruz.


Open ile etch.tap dosyasını açıyoruz. Sağda height map kısmında create e tıklıyoruz. Auto butonuna tılayınca Border parametreleri gelmesi lazım. Candle kartı otomatik görmezse, sol alttaki kutulara kartın genişlik ve yükseklik değerlerini girebiliriz, W:60 H:55 gibi. Her 10mm için bir ölçüm yapmak gerekirse X:6 Y:5 değerlerini giriyoruz. Diğer ayarlara dokunmadan Probe butonuna tıklayınca harita çıkarma işi başlayacaktır. Harita işi bitince Edit mode a tıklıyoruz. Ardından use heightmap kutucuğuna tıkladığımızda candle gcode ları düzenleyecektir. Sonunda Send e tıklayarak kazıma işini başlatıyoruz.

drill.tap dosyasında M6 komutu (sanırım takım değiştirme için) desteklenmiyor gibi bir hata veriyor, bunu ignore a tıklayarak aşabilirsiniz.



mill.tap dosyasındaki yanlış gcode lar nedeniyle mundar olan kart, ne güzel de kazımıştı






Not: Yukarıdaki resimde kazıma derinliği 0.2mm idi. 0.1 mm derinlik ile tekrar bir deneme yaptım, ve çok daha iyi bir kart kazıma oldu, aşağıdaki karşılaştırma resmine bakabilirsiniz. Soldaki -0.1mm, sağdaki -0.2mm ile kazıma. Uç, V şeklinde olduğundan daha derine gidince yollar daralıyor haliyle. -0.2mm de çapaklar oluşmuştu ve zımpara yapmak gerekiyordu, -0.1mm ise hiçbir temizliğe veya zımparaya gerek kalmadı.



Soldaki -0.1mm, sağdaki -0.2mm ile kazıma







Başka bir çalışmada milling (46 nolu katman) layer a arka yüze text ekledim. Polygon butonu ile kartı çerçeveledikten sonra Name butonu ile çerçeve ismini GND yaptım. Ardından Ratsnest butonuna tıklayınca kart aşağıdaki gibi oluyor. 





Boş alanlar GND oluyor. Pcb-gcode ayarlarında bottom side ile ilerledim. Yine kazıma derinliği -0.1mm, bu kez single pass değil 3 passes yaptım ki lehimleme yaparken daha rahat olması için. Kazıma genişliği artmış oluyor. 3 kez tur atması için bir yere 3 yazmıyoruz, aşağıdaki gibi max ve step değerleri ile belirleniyor tur sayısı.


Yalnız bottom side seçip mirror (aynalama) seçmezsek kartın orijini olarak, cnc nin 0,0 noktasını kartın sağ alt köşesinde olacak şekilde ayarlamak gerekiyor. Yükseklik haritasında Auto ya tıklayınca border X kısmında -56 gibi bir değer oluştu. Ve sonuç aşağıdaki gibi oldu... Arduino uno için z probe bağlantılı cnc shield hazır.







Yorumlar

Bu blogdaki popüler yayınlar

VBA - Mscomm (seri port) ile veri loglama

RJ45 2 - Novexx barkod yazıcıya, S7-1200 plc ile etiket yazdırma

PC_SIMU V3 ile S7-1200 simülasyonu