Runout Sensörü Nedir?
Filament runout sensörü, filamentin yazıcıya girdiği noktada konumlandırılan ve filamentin bitmesi ya da kopması durumunda firmware'e sinyal gönderen küçük bir cihazdır. Sinyal alındığında firmware:
- Baskıyı otomatik duraklatır.
- Toolhead'i parking pozisyonuna çeker.
- Operatöre filamenti değiştirme bildirimi verir.
- Filament yenilenince
M108ya da Resume ile baskı kaldığı yerden devam eder.
20+ saatlik baskılarda runout sensörü olmadan çalışmak risklidir; gece bitebilir, sabah baskı boş olarak devam etmiş olur.
Mekanik vs Optik Sensör
Mekanik (microswitch)
- Filament fiziksel olarak bir lever'a basar.
- Çok ucuz (3-5 USD), evrensel.
- Filament toleransı 1.6-1.8 mm aralığında çalışır (1.75 mm standart için).
- Dezavantaj: filament tıkandığında ama kopmadığında durumu algılayamaz (clog detection için motion sensor gerekir).
Optik (motion sensor / SFS / BTT Smart Filament Sensor)
- Filament hareket ettiği sürece pulse üretir; hareket durduğunda runout sinyali gönderir.
- Hem bitti hem clog (tıkanma) algılar.
- Pahalı (15-30 USD).
IR (kızılötesi) / Hall
- LED + foto-receiver kombinasyonu; eski Prusa modellerinde (MK2.5S/MK3S) kullanılır, yalnız filament varlığını algılar, tıkanmayı algılamaz.
- Prusa MK4'te ise Hall-effect sensör kullanılır.
- Bambu Lab AMS'te filament varlığı mıknatıs + Hall sensörüyle algılanır (optik değil); filamentin ilerleyip ilerlemediğini ise ayrı bir odometre tekerleği ölçer.
- Yüksek doğruluk; sürtünme sıfır.
Bağlantı Şeması
Runout sensörü genellikle 3 pinli gelir: VCC (5V), GND, Signal. Anakartınızda boş bir endstop pini kullanılır.
| Yazıcı | Önerilen Pin |
|---|---|
| Ender 3 V2 (8-bit) | E0 endstop pini |
| SKR Mini E3 V2/V3 | PC15 (filament runout pini hazır) |
| Bambu Lab | Dahili (kullanıcı eklemesine gerek yok) |
| BTT Octopus | DIAG pinleri ya da PG12 |
Kabloyu mutlaka shielded (ekranlı) seçin; uzun kablolar elektriksel parazit alabilir ve yanlış tetikleme yapar.
Marlin'de Aktivasyon
Configuration.h:
#define FILAMENT_RUNOUT_SENSOR
#define FIL_RUNOUT_ENABLED_DEFAULT true
#define NUM_RUNOUT_SENSORS 1
#define FIL_RUNOUT_STATE LOW // mekanik switch için NC
#define FIL_RUNOUT_PULLUP
#define FILAMENT_RUNOUT_SCRIPT "M600" // change filament prosedürüConfiguration_adv.h:
#define ADVANCED_PAUSE_FEATURE
#define PAUSE_PARK_RETRACT_LENGTH 5 // duraklayınca geri çek (mm)
#define FILAMENT_CHANGE_UNLOAD_LENGTH 50
#define FILAMENT_CHANGE_LOAD_LENGTH 50Yeniden derleyip flash yükleyin.
Klipper'da [filament_switch_sensor]
printer.cfg:
[filament_switch_sensor runout_sensor]
pause_on_runout: True
runout_gcode:
M117 Filament bitti — değiştir
PAUSE
insert_gcode:
M117 Filament algılandı — devam ediliyor
RESUME
event_delay: 3.0
pause_delay: 0.5
switch_pin: ^PC15 # board piniOptik (motion) sensör için [filament_motion_sensor] bloğu kullanılır:
[filament_motion_sensor encoder_sensor]
detection_length: 7.0
extruder: extruder
switch_pin: ^PC15detection_length 5-10 mm aralığında olmalı; çok düşük değer false-trigger yapar.
Test Prosedürü
- Test baskısı başlatın.
- 5-10 dakika sonra filamenti elle çekip sensörden çıkarın.
- Yazıcı 1-3 saniye içinde duraklamalı, toolhead parking pozisyonuna gitmeli.
- Filamenti yeniden takın → Resume → toolhead baskıya kaldığı yerden devam.
- Aynısını filament tıkanması simulasyonu için yapın (sensörü tutarak filamentin hareketini engelleyin) — sadece motion sensor ile çalışır.
Sorun Giderme
- Sensör sürekli "filament yok" sinyali:
FIL_RUNOUT_STATEters tanımlı;HIGHileLOWarası değiştirin. Klipper'da!ya da^(pull-up/pull-down) prefix'lerini değiştirin. - Yanlış zamanda duraklatma:
event_delayvepause_delaydeğerlerini artırın. - Sensör mekanik takılıyor: Lever üzerine bir damla yağ.
İstanbul'da Sensör Kurulum Servisi
Filament runout sensörü montajı, kablolama ve firmware konfigurasyonu küçük ama hassas bir iştir. İstanbul 3D yazıcı servisi olarak yerinde sensör kurulumu, Marlin/Klipper konfigurasyonu ve test hizmeti sunuyoruz.
Profesyonel Destek Alın



