Wegstr ile ilk özgün PCB denemesi

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
25,253
Kazıma yöntemi ile PCB üretmedeki tüm süreçleri tecrübe etmek için basit bir PCB hazırlayacağım. Bu iş için akım sınırlama ve voltaj ayarlama özelliği olan temel bir güç kaynağı kullanacağım. Hem THT hem SMD komponent kullandım özellikle. Soldermask ve kalay kaplama da olacak.

1734302652939.png
 
Aslında kullanılan transistör yapısı darlington, ama PCB ye harici olarak darlington bağlanmış transistör uçlarını getireceğim, çünkü hazırda var.

1734302814673.png
 
Koyu renkli yerlerin alanı büyük. Sadece sınırları kazımak lazım

Neticede öyle olacak zaten. Ama bunu Kicad PCB tasarımına yansıtmanın bir yararı yok. İstesen bile tam olarak nasıl görüneceğini ayarlamak zor olur. Ancak pcb2gcode çıktısına bakıp onu bir şekilde Kicad'e geri vermek lazım.
 
pcb2gcode ulp scripti çalıştırıldığında tüm yüzeyi bakıra çeviriyor. Sadece ara boşluk olacak şekile çeviriyor.
 
Biraz da antrenman olsun diye birkaç kere track'leri söküp tekrar yaptım. Özellikle SMD pad'den geniş yol çıkmak için değişik bir taktik kullandım. Önce ince yol ile biraz ilerleyip sonra kalın yola geçtim. Bir de kartı söküp tekrar yerine takmak için referans delikleri koydum.

1734883638635.png
 
test amaçlı pcb boş bölgeye 1-2 cm uzunluğunda yatayda ve dikeyde 0.05mm, 0.1mm, 0.15mm, 0.2 mm gibi yollar eklenebilir.
hatta 0.15mm köşe yol ve eğimli dönen yol eklemek de güzel bir test olur. gene 1-2-3 mm çaplarında pad daireler de eklenebilir.
 
Evet limitleri de test edeceğim. Ama önce basit PCB ihtiyacımı giderecek seviyede prosedürü öğrenmem lazım.
 
Basitten başlamak için sadece sağ ve soldaki 3 mm lik delikleri deldireyim dedim.

Önce Kicad ile drill dosyasını ürettim

1738142034145.png


Sonra bir pcb2gcode için milldrill dosyası oluşturdum.

Kod:
metric = true
metricoutput = true
output-dir = output

drill = basic_power_supply.drl
milldrill-diameter = 2
min-milldrill-hole-diameter = 2
zdrill = -2
zmilldrill = -2
drill-feed = 1
drill-speed = 11000
drill-output = drill.gcode
milldrill-output = milldrill.gcode

front = basic_power_supply-F_Cu.gbr
back = basic_power_supply-B_Cu.gbr
zwork = -0.1
mill-feed = 60
mill-speed = 11000
zsafe = 1
zchange = 5

outline = basic_power_supply-Edge_Cuts.gbr
cutter-diameter = 2
zcut = -2
cut-feed = 60
cut-speed = 11000
cut-infeed = 1

Sonra da verdim gcode'u wegstr uygulamasına ve start düğmesine bastım. Delikleri güzelce deldi. Ama tuhaf bir davranış da sergiledi. Önce delikleri iki kere havada deldi :dusun1: Bir de hem frezeleme hızını biraz yüksek ayarlamışım, hem de tek hamlede deldirmişim, biraz haldır huldur delmiş oldu.

Neyse, ayarları değiştirdim, deliği delerken Z de 1mm ilerle dedim, frezeleme hızını da 60 mm/dak yaptım. Sonra PCB yi biraz kaydırıp tekrar deldirmek istedim. Freze deliğe doğru inmeye başladı, PCB ye daldı, dairesel hareket yapmasını bekliyorum, ha yapacak, şimdi yapacak derken dümdüz ilerledi ve tablaya daldı ..

1738142444269.jpeg
 
İşte buradan da post processing işinin önemini öğrenmiş oldum :) Üretilen gcode'una baktım,

Kod:
( pcb2gcode 2.5.0 )
( Software-independent Gcode )
( This file uses a mill head of 2.00000mm to drill the 1 hole sizes. )
( Hole sizes: [3mm] )

G94       (Millimeters per minute feed rate.)
G21       (Units == Millimeters.)
G91.1     (Incremental arc distance mode.)
G90       (Absolute coordinates.)
S11000    (RPM spindle speed.)

G01 F60.00000 (Feedrate)
G00 Z5.00000 (Retract to tool change height)
T4
M5        (Spindle stop.)
G04 P1.00000
(MSG, Change tool bit to drill size 2.00000mm)
M6        (Tool change.)
M0        (Temporary machine stop.)
M3        (Spindle on clockwise.)
G04 P1.00000
G00 Z1.00000

G0 X4.81500 Y20.93000
G1 Z1.00000 F30.00000
G1 F60.00000
G2 X4.81500 Y20.93000 Z-0.00000 I-0.50000 J0.00000
G2 X4.81500 Y20.93000 Z-1.00000 I-0.50000 J0.00000
G2 X4.81500 Y20.93000 Z-2.00000 I-0.50000 J0.00000
G2 X4.81500 Y20.93000 I-0.50000 J0.00000
G1 Z1.00000 F30.00000

G0 X76.50000 Y21.00000
G1 Z1.00000 F30.00000
G1 F60.00000
G2 X76.50000 Y21.00000 Z-0.00000 I-0.50000 J0.00000
G2 X76.50000 Y21.00000 Z-1.00000 I-0.50000 J0.00000
G2 X76.50000 Y21.00000 Z-2.00000 I-0.50000 J0.00000
G2 X76.50000 Y21.00000 I-0.50000 J0.00000
G1 Z1.00000 F30.00000

G00 Z5.000000 ( All done -- retract )

M5      (Spindle off.)
G04 P1.000000
M9      (Coolant off.)
M2      (Program end.)

Aletin kullanım kılavuzunda belirtilmiş olan ve desteklenen gcode'lar da bunlar

1738142653651.png
 
pcb2gcode'un ürettiği gcode dosyasına bakınca, bir sürü desteklenmeyen komut göndermiş. Buradan benim anladığım, post processing sürecinde, desteklenmeyen gcode'lar ya uzaklaştırılıyor, yada makinanın desteklediği eşdeğer komutlara dönüştürülüyor.

Aletle gelen flash belleğe bakınca, Cut2D ve başka birkaç yazılım için bir post processing desteği dahil etmişler gibi duruyor

1738142902103.png


Ama Cut2D de kullanmak istemiyorum. Biraz tuhaf bir süreci var. Gerber'leri DXF haline getiriyorsun, sonra DXF leri Cut2D içerisine yüklüyorsun. Ben doğrudan gerberleri gcode'a dönüştürmek istiyorum. Uğraşmaya devam.
 
bunu soracaktım ben de, aletin tüm videolarında tablaya direkt pcbyi bağlıyorlar. kazımada tamam ama kenar keserken ve delerken tablaya zarar vermeden bunu yapması epey zor. ben bu işler için bauhausta ucuzundan 3-4mm kalınlığında 15x15 kontraplak kestirmiştim. düzlüğü de epey iyiydi. gene 5-6mm kalınlıkta mdf de mevcut onun düzlüğü bence daha da iyidir.
 
Ben makina ilk geldiğinde bunu biraz araştırmıştım. Bunun tablası sarf malzemesi olarak düşünülmüş olduğuna karar verdim. Zaten mantıklı da. Yüzlerce delik de delsen, kanal da açsan, bir PCB yi yatay tutacak kadar yüzey mutlaka kalacaktır. Artık iyice kalbura dönünce de yenisini yapman için flash diske tablanın bütün CNC tasarım dosyalarını koymuşlar, yenisini kestirivereceksin o kadar.

Lazer ve su kesim makinalarında da altta bir ızgara olur. O ızgarayı lazer ve su perişan eder, ama gene üzerine yatırılan malzeme düzgün olarak yatar ve kesim yapılır.

Ama türkiye'deki CNC cilerle uğraşmamak adına ben de n11 de 3 mm MDF sipariş ettim, onlardan kullanacağım.
 
tabla sarf malzeme ise en azındna yanında bir tane de tabla gönderselermiş.
 
Artık bu cihazdan sana hayır gelmez. Delik deşik olmuş. Bence sen onu sat. :saril:
 
Ama türkiye'deki CNC cilerle uğraşmamak adına ben de n11 de 3 mm MDF sipariş ettim, onlardan kullanacağım.
Bir ara cnc ücretleri baya düşmüştü. Dükanlar günlük maliyetleri kurtarmak için ücret veriyordular.
MDF nin şöyle bir kötu huyu var - yüzeydeki film tabaka bozulduğu yerden nem alır ve şişmeye başlar. Ahşap kesimle (aralarında tabla üstüne mdf atanlar var tabla bozulmaması için) uğraşanlar düşük hassasiyetlerde çalışıyorlar ondan dolayı MDF nin bu özelliği onlar için pek de öneml değil. Kazıma yöntemle pcb de belki etki yaratır. Kesimden önce yüzey rölyefi ölçen makina için de sorun olmaz.
 
pcb2gcode çok tuhaf bir delme kodu üretiyor. Sıfır yüksekliğe gelip orada önce "havayı deliyor", sonra malzemeye dalıyor :dusun1:

Kod:
G0 X4.50000 Y4.00000
G1 Z1.00000 F30.00000
G1 F60.00000
G2 X4.50000 Y4.00000 Z-0.00000 I-0.50000 J0.00000
G2 X4.50000 Y4.00000 Z-1.00000 I-0.50000 J0.00000
G2 X4.50000 Y4.00000 Z-2.00000 I-0.50000 J0.00000
G2 X4.50000 Y4.00000 I-0.50000 J0.00000
G1 Z1.00000 F30.00000
 
kontröl yunitesi grbl?
Acaba sorun Z'in G2 ye eklenince mi ortaya çıkıyor?
 
Kontrol ünitesinin ne olduğu belli değil. Aletin uygulaması ile alet arasındaki protokol de özel, kapalı bir protokol. USB verisini wireshark ile sniff edince GCODE falan görmüyorum, binary data görüyorum. O yüzden test etmek de zor oluyor. Her seferinde gcode dosyası hazırlayıp programa yüklemem gerekiyor.

Yeterince sinir ederse içindeki kartı söküp BigTree nin 4 eksen kartını takabilirim :) O zaman terminal emülatör ile bağlanıp doğrudan gcode gönderebilir hale gelirim :)
 
Eğer aşağıdakı satırlarları
G2 X4.50000 Y4.00000 Z-0.00000 I-0.50000 J0.00000
G2 X4.50000 Y4.00000 Z-1.00000 I-0.50000 J0.00000
G2 X4.50000 Y4.00000 Z-2.00000 I-0.50000 J0.00000

şu şekilde değiştirince sorun çözülüyorsa
G1 Z-0.00000
G2 X4.50000 Y4.00000 I-0.50000 J0.00000
G1 Z-1.00000
G2 X4.50000 Y4.00000 I-0.50000 J0.00000
G1 Z-2.00000
G2 X4.50000 Y4.00000 I-0.50000 J0.00000

bunu yapan script ile gcode dosyası makinaya göndermeden önce işlenebilir.
 

Çevrimiçi personel

Forum istatistikleri

Konular
7,799
Mesajlar
129,404
Üyeler
3,141
Son üye
deniz_mert

Son kaynaklar

Son profil mesajları

Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
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ı ?
az bilgili çok meraklı
Back
Top