Haber

Lazer ile reçine katılaştırma

 

Onca iş beklerken kendimi yeni denemeler yapmaktan alıkoyamıyorum. Atölyemi toplarken 500 mili wattlık uv lazerim karşıma çıktı. Facebook dan Özgür beyle yeni bu konuyu konuşmuşken bende hızlıca bir denemek istedim bu lazer reçineyi katılaştıracak mı diye. Her parça elimde var hemen bir helva pişireyim dedim. Öncelikle hiç istemesemde deneme platformum Hamaradın ilk prototipi olan Hamarat 0 numara oldu. İstemiyorum çünkü 3D yazıcım elim ayağım onu bozmak yada işlemez hale getirmek beni çok zorduruma sokar. Yinede dedimya içindeki durdurulamaz deneme isteği ağırbastı ve lazeri hamarada bağlamak için ara bir parça tasarladım. Parçayı hamarad print ederken başına geleceklerden habersizdi tabi. Masum masum ABS sağlam bir baskı verdi bana. Baskıyı alır almaz hamarada lazeri taktım 🙂

Tabi lazeri oraya takmak işin sadece 10 da biri. Sürücü elektroniğini fan çıkşlarından birine bağladım. Bu fan FDM tipi yazıcılarda birinci kat basılırken kapalı oluyor plastik sıcak sıcak zemine iyi yapışsın diye. Birinci katdan sonra yazılım komutu ile (M106) devreye sokuluyor. Benim de tam ihtiyacım olan bir M komutu ile lazeri açıp kapatmak olduğu için buraya bağlamak uygun olur dedim.

Aslında altdan aydınlatmalı DLP yazıcıda çok yol kat ettik. Kuyumculuk sektöründe kullanılabilecek detayda baskı yapabiliyor. Uygun bir yatırımcı desteği ile onu hayata geçireceğiz inşallah. O makina ile ilgili detayları malesef şimdilik buradan paylaşamıyorum. Onun yerine burada üstten aydınlatmalı DLP projectör yerine daha ucuz bir alternatif olan lazer ile çalışan bir makinadan bahsedeceğim. Üstten aydınlatma Top Down denilen ışık kaynağının yukarıda olduğu objenin üzerinde oluşacağı platformun reçine havuzuna daldığı bir yöntem. Bu yöntem Aslında 3D system firmasının kurucusu Chuck Hull’ın patentini aldığı ilk 3d yazıcı çalışma prensibi. Halen bu tür makinalarda yüksek kaliteli çıktılar alınıyor. Patent süresi dolduğundan dolayı artık bu teknoloji yaygınlaşmakta ve bizim 3D yazıcı yapan camiada çok tatbik ediliyor. Ben de oralarda duyduğum bir kaç tekniği denemek istiyorum. Bunlardan ilki bu makinanın derin bir reçine havuzuna dalarak çalışması çok fazla reçine gerektirdiğinden pahalı bir seçenek oluyordu. Ama bizim camia (community) buna akıllıca bir yöntem bulmuş. Denedim ve gayet başarılı sizlerle paylaşmak istiyorum. Yoğun tuzlu bir safsu çözeltisi hazırlıyorsunuz. Saf suyu kaynatarak içinde olabildiğince çok tuz çözüyorsunuz. Bu çözeltinin özgül ağırlığı 1.2g/cm3 oluyor. Uv ışığa duyarlı reçineinki ise 1.1g/cm3 Yani kabın büyük bölümünü tuzlu suyla doldurup ustüne sadece kullanacağınız kadar reçine koyuyorsunuz. Yavaş koyarsanız reçine ile tuzlu su karışmıyor ve reçine suyun üzerinde yüzüyor. Böylece bu yöntemin en büyük handikabından da kurtulmuş oluyoruz.

Hamarad’a yaptığım bir eklentide sabit bir kola bağlı objenin üzerinde oluşacağı küçük bir platform monte etmek oldu. Normalde bu platform z ekseni olarak kabın içindeki reçineye dalması gerekiyor. Ben mevcut yazıcımda çok fazla ir değişiklik yapmamak için platformu sabittutup kabı yukarı kaldırarak bu platformun reçine içine batmasını sağladım. Mekanik olarak çok az değişiklik gerekti. Asıl değişiklik yazılımda oldu. Zira z ekseninin yönü değişti. Asıl önemli yazılımsal değişiklik ise reçine kabını önce fazlaca yukarı kaldırıp tüm yüzeyin reçine içine dalmasını sağladıktan sonra ters yönde bir hareket yaparak sonuçta 0.1mm tablanın reçine havuzuna batmasını sağlamak için gerekli yazılımsal değişiklikleri yapmam gerekiyordu. Cura dilimleme yazılımını çok seviyorum  burda da onu kullanmak istedim. Neyseki Curanın plugin yazmaya olanak tanıyan esnek bir yapısı var. Bu iş için Python la bir plugin yazıp lazerin devreye girip çıkmasını ve tablanın istediğim yönde ve şekilde hareket etmesini sağlamış oldum.

FullSizeRender (1)

 

 

 

 

 

 

 

 

 

Cikti kalitesi beni cok memnun etmese de ilk deneme icin fena degil. Lazer 500 mili watt cok fazla geliyor tahminim 100-150 mili watt yeterli olacaktir. Daha dusuk watli lazerle daha ince katman kalinligi yapildiginda duzgun ciktilar alinabilecegini dusunuyorum. Lazerin spot buyuklugu de nekadar kucuk olursa okadar iyi tabi. Core XY nin hizli hareket ve bosluksuz surus imkanlari cok avantaj sagladi.

Vakit buldugumda daha kaliteli bir lazer ve daha hasas mekanik bir yapi ile tekrar denelerde bulunmak istiyorum.

 

iste cura plugin kodlari

#Name: Gnexlab Laser On/Off
#Info: Switch off laser power during travel moves
#Help: Gnexlab
#Depend: GCode
#Type: postprocess
#Param: ZStart(float:100) Z Start point
#Param: ZDive(float:5.0) Z Dive

## Written by Nuri Erginer, based on TweakAtZ by Steven Morlock

## This script is licensed under the Creative Commons - Attribution - Share Alike (CC BY-SA) terms

# Uses - Laser off fan power during travel moves




import re

def getValue(line, key, default = None):
	if not key in line or (';' in line and line.find(key) > line.find(';')):
		return default
	subPart = line[line.find(key) + 1:]
	m = re.search('^[0-9]+\.?[0-9]*', subPart)
	if m is None:
		return default
	try:
		return float(m.group(0))
	except:
		return default

with open(filename, "r") as f:
	lines = f.readlines()

z = 0
x = 0
y = 0
feed = 0
with open(filename, "w") as f:
	for line in lines:

                newZ = 0
                if getValue(line, 'G', None) == 0:
                        f.write("; Gnexlab Laser ON/Off\n")
                        f.write("M106 S0\n")
			newZ = getValue(line, 'Z', z)
			
                        if (newZ != 0):
                                #print "new z: %f" % newZ
                                x = getValue(line, 'X', x)
                                y = getValue(line, 'Y', y)
                                feed = getValue(line, 'F', feed)
                                f.write("; Gnexlab Lazer Zmove \n")
                                f.write("G0 X%f Y%f F%f ;modified \n" % (x, y,feed))
                                #f.write("G91\n")
                                f.write("G1 Z%f F%f \n" % ((ZStart-(newZ+ZDive)),(feed/20)))
                                #f.write("G1 Z%f \n" % (ZStart-(newZ+ZDive)))
                                #f.write("G90\n")
                                f.write("G1 Z%f F%f \n" % ((ZStart-newZ),(feed/20)))
                                f.write("G1 F%f \n" % ((feed)))
                                f.write("G4 S1\n")
                        else:
                                f.write(line)
                                
                        f.write("M106 S255\n")
                        f.write("; Gnexlab End\n")

            
	
                      
                        
		else:
                        f.write(line)

 

Haber

Delta 3D Yazıcı Upgrade

Delta kinematiğine hayranım. Tam bir robot. Hızlı hasas. Simetrik ve az parçadan oluşuyor. Boşluk (anti-backlash) yaratacak bir donanım içermiyor. Birde isteğinize göre kafaları değiştirme imkanı yok mu bayılıyorum. İster 3D baskı için extruder, ister lazer, ister kalem hatta mikroskop bağlayıp ultra yüksek çözünürlüklü fotograflar elde etmek için yan yana yüzlerce detay foto çekebilirsiniz. Tam bir maker’ın ihtiyacı olan sistem kısacası. Dezavantajı yokmu? var kalibrasyon ve tablanın bazı bölgelerinde hasasiyette azalma. Ne kadar iyi kalibre ederseniz okadar hasas oluyor. Kalibrasyon zahmeti bazı kullanıcılardan geri besleme olarak gelince Delta partnerim GoldMaster ile bir oto kalibrasyon eklentisi yapmaya karar verdik. Sensör seçmemde Göksenin Beyin yardımına müteşekkirim. Bana bir sensör vermekle kalmadı Camı kapasitif sensör ile uzaktan algılayabileceğimi anlattı. Bu sensörlerin oldukça ucuzlamış olması (Aliexpress te 3-6 dolara bulunuyor) beni sevindirdi. Ben DirençNet den aldım. Basit bir optocoupler devresi ile 12v çalışan sensörü 5v giriş sağlayacak şekle getirerek printera z min sensörü olarak bağladım.

Uzun zamandır firmware olarak Deltada Repetier kullanıyordum. Hamarad yazıcı çalışmalarında Marlini çok detaylı inceleme fırsatı buldum. Daha önceden Marlinde Oto kalibrasyon olmadığı için kullanmaktan vazgeçtim şimdi bazı eklemeler var bende firmarede küçük düzeltmeleri kendimce yaptıktan sonra kullandım. Çok başarılı oldu.

Sensörü makinaya ekleyip kendini ölçtürmeye başlayınca maknetik kollarda mikron seviyesinde bazı oynamalar olduğunu fark ettim. Bu nedenle kalibrasyon çok fazla iterasyon yapıyor ve her ölçümde başka sonuçlar veriyordu. Bunu fark edince mekanik mafsallara geçmeye karar verdim. Mevcut tasarımı minumum değiştirecek şekilde parçalar modelledim ve Hamarad ile bastım. ABS ile %100 dolulukda çıktı aldığım parçalar hem tam yerine oturdu hemde oldukça sağlam oldu.

 


Gelelim sonuçlara;

Kullandığım firmwarede oto kalibrasyon iteratif olarak yapılıyor. Makina bir ölçüm yapıyor hata değerlerini buluyor ve bunları düzeltecek ayarlamalar için gerekli ofsetleri kollara ekliyor sonra yeni değerlerle bir ölçüm daha yapıyor. Her seferinde hatanın küçüldüğünü görebiliyorsunuz. Firmware içerisinde hangi hasasiyete ulşıldığında durması gerektiği giriliyor. Ben 0.1mm girdim. ilk denememde Makina 3 iterasyonda kendini bu hasasiyetin çokdaha altına yani yaklaşık 0.05mm ye ayarlayabildi.

Daha başka denemelerde yapmam gerekiyor ama kapasitif sensör ve oto kalibrasyon Delta 3D yazıcının en zor kısmını kolay hale getirdi. Herkese öneriyorum.

 

IMG_5038

IMG_5025IMG_5029FullSizeRender