Wegstr ile ilk özgün PCB denemesi

Z probe işini de halletmiştim ama gıcık bir yerde takıldım, bir süre uğraştırdı beni. Bu makinada X ve Y eksenleri için endstop yok. Olmasına da gerek yok. Ama auto levelling yapmak için G29 çalıştırdığım zaman, G28 ile önce homing yapmanız lazım diyordu Marlin. G28 ile sadece Z yi home yapmak da yetmiyor. G29 özellikle belirtiyor: XYZ homing yap önce!

ChatGPT ye sordum. "G92 ile koordinatları set et, o noktada homing olmuş olur" dedi. Denedim, çalışmadı. "Çalışmadı" deyince de "Evet kesinlikle haklısın! G92 homing yapmaz" dedi :kizgin1: Başka birşeyler zırvaladı, hiç birisi işe yaramadı. İnternette arattım, yararlı birşey göremedim. Ben de Marlin kodunu inceledim ve G92 ye istediğim davranışı yaptıracak kodları ekledim artık. Şu anda istediğim X ve Y konumuna geliyorum ve G92 X0 Y0 diyorum. Sonra G28 Z diyorum.
 
Senin hiç G29, G28 ile uğraşman gerekmiyor. Bunun için macro oluşturmalısın. CNC'de sadece home noktalarında prop olur. CNC her başladığın. "referans all home" dersin. Ve makine problara doğru hareket eder. Problara gider dokunur.. Ve daha sonra Mach3'den XYZ = 0 olarak işaretlersin. Bu nokta artık makina için sıfır noktasıdır.

Stop limit(Soft limit diye geçe) ise sanaldır. Makinanın ölçüsüne göre ayarlarda daha önceden belirttiğinden (Mesela 30cm/30/10cm), sıfır noktasından ilerlerken 30cm sayar... 30cm olunca "Soft limit" hatası verir.
 
Yani senin makinanın home problarının bulunduğu yer her zaman ilk açılışta mutlaka sıfırlanacaktır.
İş parçan(PCB baş noktası) ise atıyorum X=12 Y=12 noktasında olabilir. Ve o noktataya sabit köşebent koyarak pcb'yi her zaman o noktaya yaslayabilrsin.

Böylece hangi boyutta iş koyarsan koy, x=12, Y=12 olacaktır. Fakat böyle yaptığında Çizim/CAM programında pcb'nin başlangıç noktasınıda X=12 Y=12 noktasına taşıman gerekir. Böylece ona göre gcode üretir.
 
1739307863044.png
 
Sanki şimdiye kadar yazılan mesajları hiç okumadan yazıyorsun gibime geliyor. Mach3 kullanmıyorum. Mach3 ile uyumlu motor sürücü kartlarım da yok. GCODE macro desteği de bu basit 3B yazıcı kontrol kartlarındaki firmware'lerde yok. Büyük CNC işleme merkezlerindeki prosedürlerin benim işime yaraması mümkün değil. Ayrıca makinada eksenlerinde bir endstop yok. Sadece elektriksel olarak çalışan Z temas probu var. Bu durumda makinaya söylemek lazım: "Şu anda makinanın bulunduğu yeri X=0, Y=0 olarak kabul et". Bunu da G92 ile yapınca Marlin söz dinlemiyordu. Gene kafasına göre neresini sıfır kabul ediyorsa oraya doğru gidiyordu. Firmware yazılımını değiştirerek G92 nin benim istediğim şeyi yapmasını sağladım.

Ben SKR v1.3 kontrol kartı ve Marlin kullanıyorum. Bu karta GCODE'ları da bir linux makinasından, seri port üzerinden göndereceğim. CNCjs diye bir yazılım var, bunu yapabiliyor. Ama bir sürü başka yazılım da var.
 
Mach3 kullanmadığınızı okudum. Ama hemen hemen bütün terimle standarttır CNC'de. Endstop yok onu anladım. Ama homing switch'inizin olmadığını yeni anlamış oldum. O zaman tek çareniz parçanın baş noktasına gelip her seferinde o noktayı sıfır olarak göstermektir. Pek kullanışlığı bir yöntem değil. Makinayı bu şekilde sürekli bindirirsiniz. SKR'ye hızlıca 2 tane daha home swich ekleyebilirsiniz.
 
Benim şu anki uğraştığım konu, olayı üç aşamaya indirmek:

1) Kicad ile fabrication çıktılarını al. Gerber ve drill dosyaları.
2) pcb2gcode ile gcode çıktılarını al
3) Bir yazılım ile bunları CNC kontrol kartına gönder.

Ama Wegstr nin standart prosedüründe ikinci aşama hoşuma gitmiyordu. Ya DXF çıktısı alacaksın ve Cut2D ile işleyeceksin. Yada Flatcam ile işleyeceksin. Linux'ta çalışan bir flatcam bulamadım ben. Ayrıca Flatcam abandone edilmiş. Depolardaki en son değişiklik yıllar öncesine ait, mevcut python ile çalışmıyor artık. Eski bir sürün var Windows'da çalışan, o da benim işime yaramaz, bana linux lazın. İkinci aşamayı tamamen açık kaynak, linux altında çalışan bir çözüm yapmak istiyorum, olay budur. Yoksa Kicad doğru bir şekilde gerber ve drill dosyası üretiyor. Makina da doğru bir şekilde GCODE işliyor. Mesele, pcb2gcode un ürettiği GCODE ile çalışır hale getirmek.
 
2.adım
pcb2gcode'da çok eski ve destekleyen yok. Muhtemelen güncelliğini yitirecek. Bu sebeple başka bir yöntem gerekir. Bence artcam veya fusion'a import alıp gcode üretmek yeterli olacaktır. "CAM YAPMAK" başlı başına bir iştir. Ve bunu hazır wizard(pcb2gcode gibi) ile yapmak pek mantıklı değildir. Farklı uç, farklı takım yolu, farklı illerleme hızı, farklı yanaşma hızı, farklı delme hızı, dönüşlere giderken farklı hız vs... bunların hepsini CAM işlemi sırasında yapacaksınız.

a-) Artcam daha basit ve detaysızdır. (bence batacaklar. çünkü diğer cam yazılımlarının ocağına incir ağacı dikiyor.)
b-) Fusion daha zor ama detaylıdır.
c-) Cambam -- linux http://www.cambam.info/ref/ref.lang
d-) Freecad -- cam özelliği eklendi diye biliyorum
e-) ESTLCAM (en pratiklerinden biri, ama win, sanal makina ile kullanılabilir) https://www.estlcam.de/index.php


3. adım
Bu arada 3.adım için linux altında genelde LinuxCNC kullanılır. Yaygın ve günceldir. Arayüzünün kötülüğüne bakmayın. Çok kararlı çalışır. Meşhur PathPilot(linux) yazılımı bunun ticarileştirilmiş halidir. SKR ile uyumlumudur bilemiyorum.

 
Son düzenleme:
Benim şu anki uğraştığım konu, olayı üç aşamaya indirmek:

1) Kicad ile fabrication çıktılarını al. Gerber ve drill dosyaları.
2) pcb2gcode ile gcode çıktılarını al
3) Bir yazılım ile bunları CNC kontrol kartına gönder.

Ama Wegstr nin standart prosedüründe ikinci aşama hoşuma gitmiyordu. Ya DXF çıktısı alacaksın ve Cut2D ile işleyeceksin. Yada Flatcam ile işleyeceksin. Linux'ta çalışan bir flatcam bulamadım ben. Ayrıca Flatcam abandone edilmiş. Depolardaki en son değişiklik yıllar öncesine ait, mevcut python ile çalışmıyor artık. Eski bir sürün var Windows'da çalışan, o da benim işime yaramaz, bana linux lazın. İkinci aşamayı tamamen açık kaynak, linux altında çalışan bir çözüm yapmak istiyorum, olay budur. Yoksa Kicad doğru bir şekilde gerber ve drill dosyası üretiyor. Makina da doğru bir şekilde GCODE işliyor. Mesele, pcb2gcode un ürettiği GCODE ile çalışır hale getirmek.
Flatcam in Windows için geçen yıl yapılan bir sürümü mevcut.Linux altında da çalışıyor.Ben çalıştırıp kullanmıştım daha öncesinde.
 
Konunun başından itibaren bakarsan örnek PCB çıktısını aldık Sercanla. Sonuç çok iyi :)
Abi ben o mesajı bir türlü göremedim:cheeky2:
@DrFreeman aşağıdaki konuda geçti o, videolar bu linkte, bütün konuyu okursan fabrikanın önerdiği ilk baskının aşamalarını görebilirsin.

 
Sample çıktı almak ile kendi yaptığınız çalışmayı yapmak arasında çok fark var. Sizin yapacağınız yol kalınlığı, yol boşluğu, yol dönüşleri açısı, bir sürü farklı delik çapları gibi şeyleri tek tek bir standarta oturtup ayarlamanız gerekecektir. @DrFreeman ın dediği gibi bende sadece bir flatcam sürümünü çalıştırabilmiştim. Her versiyonunu indirip denemek zorunda kalmıştım. Ama incelediğimde gerçekten bu iş yapılmış en iyi yazılımdı diyebilirim.

FlatCAM'in çalışan versiyonu şudur. (8.994 Beta)

Yine windows olarak şöyle CopperCAM diye bir şey var.

İşin garip tarafı Linux düzgün bir alternatif yok.
 
işte lpkf, mits gibi markalar buradan kazanıyor. böyle sancılı süreçler yok. gerberleri veriyorsun, pcbyi takıyorsun, elindeki kazıma, delme ve kesme uçlarının listesini veriyorsun. yazılım sırayla sana onu tak, bunu çıkar diye adım adım süreci ilerletiyor. bottom layer kazırken ters çeviriyorsun kamera ile iki delikten hiza alıp düzeltmeleri yapıyor ve işine devam ediyor. neticede 1-2 saat içinde çalışan bir pcb oluyor.

cnc pcb işinde market çok küçük olduğu için giriş seviyesinde asla bir 3d printer gibi tak çalıştır duruma gelemedi. halbuki günümüz şartlarında o kadar da zor bir iş değil. şöyle uçtan uca bir pcb-cnc yazılımı olsa fiyatı da 500 usd olsa eminim çok fazla kişi satın alır. şu sektörde bi flatcam var onun da çoğu sürümü çalışmıyor bir de baya eski ve artık güncellenmeyen copper cam mevcut.

şu videoda süreci görebilirsiniz

 
Son düzenleme:
pcb2gcode çok iyi aslında. Onu entegre ettiğim anda her şey otomatikleşecek. Hatta Kicad için bir plugin yazmayı dahi düşünüyorum. Bu durumda plugin'de bir butona basınca tek bir gcode dosyası üretilecek ve bu gcode çalıştırılınca da auto levelling, tool change, hepsi hallolacak.

Şu anda auto levelling tarafını halletmeye çalışıyorum. Marlin'de auto levelling G29 ile yapılıyor, ama benim istediğim pcb2gcode un yapması auto levelling'i. Bunun için de bazı ileri seviye GCODE desteği gerekiyor, mesela değişkenlere veri atama:

#400 = #2002

Marlin'de bu destek yok. Bu noktada ya Marlin G29 ile bu işi halledeceğim, yada doğrudan ileri seviyede GCODE desteği olan RepRapFirmware kullanacağım. Bu firmware'in çalıştığı kartı tedarik ettim. İki alternatife de bakıyorum. Marlin ile G29 kullanarak işi halledersem, çok ucuz bir kart ile sonuca gitmiş olacağım. Ama olmazsa RepRapFirmware ve Duet3D kartı kullanacağım, kart da biraz pahalıca.

Flatcam'e gelince, yeterince araştırınca şu anda benim kullandığım linux'taki python ile çalışan bir sürüm belki bulunabilir. Ama dediğim gibi Flatcam terkedilmiş bir program. Bir yıl sonraki linux sürümlerindeki python ile çalışmayabilir. Python konusunda ileri seviye bilgim yok, sorunu da gidermem mümkün olmaz. Ama pcb2gcode öyle değil. Doğrudan C++ ile yazılmıış, aktif olarak kullanılıyor ve maintenance yapılıyor. Terkedilse bile ben kendim maintenance yapabilirim çünkü C++ a hakimim. Kesin, uzun vadeli ve son derece esnek bir çözüm bu. O yüzden uğraşıyorum.
 
Bahsettiginiz yazilimlar ortada yokken hatta haberim dahi yokken pcb kazima islemlerimi pcb cizim programinda yollarin arasina yol cizer gibi elle kazima rotalarini cizerek hallediyordum.

Bu amacla bazi programlarimi da yazmistim. Mesela gerber kodlari gorsellestirip PCB goruntusu olusturabiliyordum. (Gerber View)

Bu konuda kat ettigim en buyuk yol gerber kodlarini okuyup her bir yolun iki kenarini kazimaktansa minimum kazima ile istenen PCB ye es kazima programini yazmak oldu. Bu sayede basit bir PCB 5-10 kesikle elde edilebiliyordu.

Fakat PC'nin Gerber koddan kazima verilerini uretmesi saatler aliyordu. Bunu sebebi gerber koddan BMP harita elde edip pixeller uzerinde calismamdan kaynaklaniyordu. En sonunda kazima yolu bilgileri gene pixel olarak olusuyordu. Bu da kazima islemi asamasinda CNC nin vektorel calisamamasi anlamina geliyordu. Cunku BMP to Vector sorununa kendi yazilimsal cozumumu getirememistim.

Esasen kazima rotalarini gerber koddan vektorel formatta kendim uretebiliyorum. Tek sorunum takim yolu kompanzasyonu sorununa cozum getiremiyordum.
Onunla ilgili bir bu forumda baslik da acmistim ve @devreci basitce bir cozum uretmisti, Fakat arayinca o basligi bulamadim.

Demem odur ki gerber koddan kazima kodlarina ait G kodlarini uretmek cok zor is degil. Bu isi yapan programi kendiniz de yazabilirsiniz. Sadece kafaya takmaniz gerekli.
 
smoothiware reprap'ın yaptığı haritalama ve sıfırlamaları yapamıyor mu ?
V1 SKR kartlarla çalışıyor
V2 stm32H7 istiyor anladığım kadarıyla


 
Son düzenleme:
mevcut python ile çalışmıyor artık. Eski bir sürün var Windows'da çalışan, o da benim işime yaramaz, bana linux lazın.
Python'nun istenilen versyonu (eski yeni) linux'da kurulması mümkündür (kütüphane versyon sorunları yoksa). Kaynak kodundan gcc ile yapmışım bir kaç kere.
 
@DrFreeman aşağıdaki konuda geçti o, videolar bu linkte, bütün konuyu okursan fabrikanın önerdiği ilk baskının aşamalarını görebilirsin.

kesme suyu olmadan kullanılması sakıncalı. Bakir diğer malzemelerle temas edince yüzeylerine yapışıyor, karbürü kaplarsa ucun kırılması ihtimali yükselir.Demo videolarda sıvı kullanıyorlar zaten.
 

Forum istatistikleri

Konular
7,541
Mesajlar
126,341
Üyeler
3,055
Son üye
Cihanaltun61

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
Back
Top