Anet A8 Üzerinde Marlin Firmware İle 3D Touch Sensor Kurulumu

Bu makalede 3D Touch sensörünün (BL Touch klonlarından biri) Anet A8‘e kendi extruder’i kullanılarak nasıl yerleştirildiğini açıklayacağız.
Eğer E3D Bowden veya diğer tip extruder kullanıyorsanız Bölüm 2‘ye geçiniz. Bu durumda kullandığınız extruder’a göre bir 3D Touch tutucu temin etmeniz lazım (örnek https://www.thingiverse.com/thing:2193695 veya https://www.thingiverse.com/thing:2668564, daha fazlası Thingiverse’de bulunur) ve sonrasında kullanacağınız tutucuya göre 3D Touch ile nozzle mesafesi için Bölüm-1 den yararlanın.
Burada güncellenmiş Trianglelabs tarafından üretilen son sürüm 3D Touch sensör kullanılmıştır. (Satın alma linki makale altında verilmiştir)
Bölüm 1 – 3D Touch Tutucuyu Yazdırma ve Takma
Mustafa Tokay tarafından tasarlanan bu tutucu (makalenin bazı önemli kısımlarında onun video yönergelerinden yararlanılmıştır, kendisinin YouTube kanalını tavsiye ederiz) kullanacağız. Bu nedenle, tutucu STL dosyasını indirmek için aşağıdaki linke tıklayın. Ayrıca Thingiverse’de bulunan bazı alternatif 3D Dokunmatik tutucuları da seçebilirsiniz. (Örn: https://www.thingiverse.com/thing:2975487)
İndir “3D Files” 3DTouchHolder.zip – 1557 defa indirildi – 748,83 KB
Ardından 3D Touch‘ı aşağıdaki resimlerde gösterildiği gibi monte edin. 4 adet M3x30 tip civataya ihtiyacınız olacaktır. Kendi paketi içinde gelenleri kullanmayacağız.
Sonra tutucuyu 3D Touch ile ekstruder ünitesine takın.
Bu adım son derece önemlidir. 3D Touch ucu ve yazıcı nozzle aşağıdaki şekilde ayarlanmalıdır. 3D Touch sensör ucunun yukarı (react) konumunda olduğundan emin olun.
3D Touch alt gövdesi ile nozzle ucu arasındaki mesafenin 8 +/- 0.5 mm aralığında olduğundan emin olmalısınız:
Kağıt tipi cetvel kullanabilir veya mesafeyi ölçmek için Leveling Height Gauge STL’yi yazdırabilirsiniz. https://www.thingiverse.com/thing:1538742
Bu parça ile ilgili nasıl kullanılır videosu burada.
Aşağıdaki resimde görüldüğü gibi bir kağıt cetvel kullanarak ölçtüm (8.2mm veya 8.3mm en iyisidir). Nozzle ucunu ısıtıcı tablaya yaklaştırın. Manuel ısıtıcı tabla yükseklik kalibrasyon ayarı yapar gibi, nozzle yataktan 0,02 mm civarında yukarıda olacak şekilde ayarlamak için bir kağıt kullanın. Basitçe kağıt sürtünerek ileri geri hareket etmeli.
Step 2 – 3D Touch Kablo Bağlantıları
Resimde görebileceğiniz gibi turuncu kablo LCD kablo bağlantı noktası Pin3‘e bağlanmalıdır. Turuncu kabloyu bu pine bağlamak için iki seçenek vardır;
Seçenek-1: Pin üzerine lehimlemek
Bu seçenek lehimleme konusunda deneyim gerektirir. Bir adet 90 derece açılı erkek pinli konnektöre ihtiyacınız olacak.
Bunu çeşitli online sitelerden veya yurtdışından Aliexpress temin edebilirsiniz. Çok tavsiye etmesek de kabloyu kesmeyi ve doğrudan lehimlemeyi de tercih edebilirsiniz. Turuncu kabloyu hehimleyeceğimiz yer aşağıdaki resimdeki 3 nolu bağlantı noktası.
Seçenek-2: LCD kablosunu kesmek
Alternatif olarak, LCD bağlantı kablosunun kırmızı çizgi tarafından sayacağınız 3. kablosunu kesebilirsiniz. Bu 3.kablo boştadır. Kesin ve 3D Touch turuncu kablosunu bağlayın. Ardından bağlantıyı bantlayın. Makaron varsa aşağıdaki resimde gördüğünüz gibi kullanmanızı öneriyorum. Yoksa elektronik mağazalardan veya Aliexpress den temin edebilirsiniz.
Bölüm 3 – Marlin Konfigürasyon Ayarları
Şimdi 3d Touch montajı ve kablo bağlantılarını bitirdikten sonra, yazılım ayarlarına geçiyoruz ve Marlin’deki bazı ayarları değiştireceğiz. Arduino IDE uygulaması ile Marlin configuration.h
dosyasını kullanacağız.
Adım 1- Konfigürasyon dosya değişiklikleri
Kullandığınız Marlin kılasörü içindeki mevcut configuration.h
dosyasının önce yedeğini alın ve aynı kılasör içindeyken Marlin.ino
dosyasını Arduino IDE uygulaması ile açın ve configuration.h
dosya tabına yıklayın.
configuration.h
dosyasında aşağıdaki bölümü bulun. Marlin sürüm v1.1.9 ‘da satır 730 civarıdır.
//#define BLTOUCH #if ENABLED(BLTOUCH) //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed #endif
//#define BLTOUCH
satırının başındaki // kaldırın. (// açıklama satırı anlamındadır. Kaldırdığınızda o satır aktif olur)- Hemen altına
#define SERVO0_PIN 27
ekleyin.
Yani şu şekilde olacak o bölüm:
#define BLTOUCH #define SERVO0_PIN 27 #if ENABLED(BLTOUCH) //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed #endif
Bu şekilde BLTOUCH (dolayısıyla kolanlarını) Marlin firmware içinde aktif yaptık.
Sonra aşağıdaki kısmı bulun. Bu bölümde Marlin’e 3D Touch sensörümüzü extruder nozzle etrafına nasıl yerleştirdiğimizi bildireceğiz. Nozulun sağ tarafına (X ekseni) takmışsak ofset değeri (4) pozitif olacaktır. Sol taraf (-) negatiftir. Aynı şekilde Y ve Z ekseni de ayarlanabilir.
/** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * * +-- BACK ---+ * | | * L | (+) P | R <-- probe (20,20) * E | | I * F | (-) N (+) | G <-- nozzle (10,10) * T | | H * | (-) | T * | | * O-- FRONT --+ * (0,0) */ #define X_PROBE_OFFSET_FROM_EXTRUDER 81 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
Aşağıda X ekseni mesafesinin nasıl ölçüleceğine dair bir örnek göstermek isteriz. Bizim kendi bastığımız tutucu ile taktığımızda sensör ucu mesafemiz yaklaşık 81mm (siz de ölçün). Bu değeri X_PROBE_OFFSET_FROM_EXTRUDER satırına yazın. 3D Touch prob ucu tepki konumunda (yukarı) olduğunda, nozzle uç noktasından en az 2 mm, en fazla 3 mm daha yüksekte olmalıdır.
Aşağıdaki bölümü bulun ve Z_SAFE_HOMING
(satır 1145 civarı) ve aktif yapın (başındaki // kaldırın). Bunu etkinleştirdiğinizde nozzle home pozisyonunda ısıtıcı yatağın ortasına gidecektir.
#define Z_SAFE_HOMING #if ENABLED(Z_SAFE_HOMING) #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). #endif
Sonra Z_MIN_PROBE_ENDSTOP_INVERTING
bulun ve değeri false olarak değiştirin.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
AUTO_BED_LEVELING_BILINEAR
(satır 979) bulun ve aktif yapın (başındaki // kaldırın)
//#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR #define AUTO_BED_LEVELING_BILINEAR //#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING
Aşağıdaki kod bloğunu bulun (satır 1027 civarı) ve aşağıdaki ile değiştirin.
// Set the boundaries for probing (where the probe can reach). #define LEFT_PROBE_BED_POSITION (X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER) #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) #define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE + Y_PROBE_OFFSET_FROM_EXTRUDER) #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)
Aşağıdaki satırı bulun ve aktif yapın
#define NOZZLE_CLEAN_FEATURE
Son olarak aşağıdaki satırı bulun EEPROM_SETTINGS ve aktif yapın.
#define EEPROM_SETTINGS // Enable for M500 and M501 commands
Adım 2- Firmware yükleme
Düzenlediğimiz Marlin firmware şimdi yazıcınıza yükleyin.
Bu sensörlerle ilgili Marlin config parametreleri hakkında daha fazla bilgi edinmek istiyorsanız, bu makaleyi inceleyebilirsiniz: https://www.cazda.com/bl-touch-sensor-positioning-and-parameters-in-marlin/
Bölüm 4 – Son Ayarlamalar
Bu bölümde, ısıtıcı yatak ve sensör üzerinde ince ayarlar yapacağız. Gcode terminal uygulamasına ihtiyacımız olacak. Bu özellik, Octopi, Repetier-Host ve Simplify3D‘de mevcuttur, ancak bu uygulamaları kullanmıyorsanız Printrun-Pronterface adlı ücretsiz bir uygulama vardır. Bu uygulama Windows ve Mac üzerinde çalışabiliyor ve ücretsizdir.
https://github.com/kliment/Printrun/releases/tag/printrun-1.6.0
adresinden indirin ve ZIP dosyayı direk açıp çalıştırın. Çalıştırdıktan sonra COM port ve baud rate (115200 tavsiye ederiz) ve USB kablo ile yazıcınıza bağlanıp Connect tıklayarak bağlantıyı kurun.
Bağlantı kurulduğunda, yazıcınızda EEPROM üzerinde ayarlanan mevcut bazı parametreleri sağ gcode giriş panelinde göreceksiniz.
Home butonuna (veya G28 gcode) tıklayın ve extruder home pozisyonu alıncaya kadar bekleyin. 3D sensor ısıtıcı tablanın ortasına gidecektir. (eğer tam ortalamamışsa, Marlin konfigürasyon
configuration.h
dosyasında X_MIN_POS
ve Y_MIN_POS
değerleri ile oynamanız gerekecek. Bunu nasıl yaparız derseniz daha sonra buradaki makalemize göz atın. Şu an için bu ayarsızlık önemli değil.
Şimdi aşağıdaki gcode komutlarını sırasıyla gcode panelinden girelim.
M851 Z0 M500 M501 M503
En sonunda gcode panelinde echo: M851 Z0.00
mesajı görmelisiniz.
Sonrasında Z ekseni home pozisyonu için aşağıdaki komutu girin.
G28 Z0
Nozzle sıfır konumuna göndermek için aşağıdaki komutu gönderin. Nozzle ısıtıcı yatağa doğru inecektir.
G1 F60 Z0
Sonra aşağıdaki komutu gönderin (Soft end stops – off)
M211 S0
Bu pozisyonda + x yönlü hareket dairelerini kullanarak ekstruder nozzle yatağın tam ortasına doğru hareket ettirin. Daha iyi konumlandırma için 1 ve 0,1 adım daireler kullanın.
Sonra bir kağıt parçası alın ve nozzle altına yerleştirin.
Kağıdı çok kolay hareket ettirebiliyorsanız ve herhangi bir direnç yoksa, extruder nozzle ucu ısıtıcı yataktan uzaktır. Eğer öyleyse, manuel kalibrasyon işlemine benzer şekilde, Z eksen yüksekliğini biraz aşağıda çekerek (yukarıdaki resimde kırmızı işaretlenmiş oklarla), nozzle biraz direnç gösterene kadar kağıdı öne ve arkaya hareket ettirin. Kağıt hareket ederken direnç gördüğü noktada bırakın ve LCD ekranda gösterilen Z değerini not edin. Muhtemelen eksi değer olacaktır. O değerin üzerine kağıt kalınlığını da ekliyoruz. Tahminen 80gr fotokopi kağıdı kalınlığı 0.06 mm kadar dersek toplam Z değerimiz -1.69-0.06 = -1.75 olacaktır.
Bu değeri aşağıdaki M851 komutu ile gönderin. Örnekte -1.75 hesapladığımız için Z-1.75 yazıldı. Siz kendi rakamınızı yazın.
M851 Z-1.75
Şimdi kapattığımız soft endstop ayarını açalım. Aşağıdaki komutu yazın.
M211 S1
Sonrasında aşağıdaki komutları sırasıyla uygulayın. Ayarladığımız değerler EEPROM‘a kaydedilecek.
M500 M501 M503
Ardından kağıdı alabilirsiniz ve üzerine tıklayarak ekstruderi home pozisyonuna getirin.
Hepsi bu kadar.
Bölüm 5 – Start & End gcodes ayarları
Her baskıdan önce otomatik yatak seviyelendirme yapmak istiyorsanız, bu değişikliği yapın. Yoksa arada kendiniz manuel yaparsınız.
Start g-code
G21 ;metric values G90 ;absolute positioning M82 ;set extruder to absolute mode M107 ;start with the fan off G28 ;home position G29 ;bed leveling with BLTouch/3D Touch G1 Z15.0 F600 ;move the platform down 15mm G92 E0 ;zero the extruded length G1 F200 E3 ;extrude 3mm of feed stock G92 E0 ;zero the extruded length again M117 Printing...
End g-code
M104 S0 ;extruder heater off M140 S0 ;bed heater off G91 ;relative positioning G1 E-1 F300 ;retract the filament to release pressure G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit G28 X0 Y0 ;move X/Y to min endstops G90 ;absolute positioning G1 Y190 F9000 ;(optional) move heatbed to front M84 ;steppers off
3D Touch sensörün bu güncellenmiş sürümü ile, 3D yazıcı hareketi sırasında titremenin sensör üzerindeki etkisi giderilmiştir.
![]()
Güncel sürüm 3D Touch sensör aşağıdaki linklerden satın alınabilir:
Sitemizdeki 3D makaleler hakkında ilk siz bilgi sahibi olmak istiyorsanız, Facebook grubumuza katılın
Anet A8 ile ilgili makaleler: