# 3D Yazıcı Kalibrasyon Programı
Web tabanlı, profesyonel 3D yazıcı kalibrasyon ve G-code üretici programı.


## 📋 İçindekiler
- [Özellikler](#-özellikler)
- [Kurulum](#-kurulum)
- [Kullanım](#-kullanım)
- [Kalibrasyon Türleri](#-kalibrasyon-türleri)
- [Teknik Detaylar](#-teknik-detaylar)
- [Sık Sorulan Sorular](#-sık-sorulan-sorular)
## ✨ Özellikler
### 🎯 6 Farklı Kalibrasyon Türü
- **X Ekseni Kalibrasyonu** - Yatay eksen hassasiyet ayarı
- **Y Ekseni Kalibrasyonu** - Derinlik ekseni hassasiyet ayarı
- **Z Ekseni Kalibrasyonu** - Dikey eksen hassasiyet ayarı
- **Extruder Kalibrasyonu** - Filament akış miktarı ayarı
- **Akış Kalibrasyonu** - Flow rate optimizasyonu (YENİ!)
- **Çarpıklık Kalibrasyonu** - XY, XZ, YZ eksenleri çarpıklık düzeltme
### 🔧 Ana Özellikler
- ✅ Anlık hesaplama ve sonuç gösterimi
- ✅ Otomatik G-code üretimi
- ✅ G-code önizleme özelliği
- ✅ İndirilebilir .gcode dosyaları
- ✅ Firmware komutları ve açıklamaları
- ✅ Responsive (mobil uyumlu) tasarım
- ✅ Türkçe arayüz
- ✅ Kullanım talimatları dahil
- ✅ Production-ready (üretim ortamı hazır)
- ✅ Tek dosya, bağımlılık yok
## 🚀 Kurulum
### Gereksinimler
- Modern bir web tarayıcı (Chrome, Firefox, Safari, Edge)
- Web sunucusu (Apache, Nginx, veya basit bir HTTP sunucusu)
- **Önemli:** Tek dosya (index.html), harici bağımlılık yok!
### Hızlı Kurulum (Önerilen)
**Tek dosya versiyonu - Production Ready!**
1. **index.html dosyasını indirin** (Artifact'tan)
2. **Web sunucunuza yükleyin:**
```bash
# Apache için
sudo cp index.html /var/www/html/3d-calibration/
# Nginx için
sudo cp index.html /usr/share/nginx/html/3d-calibration/
```
3. **Tarayıcıdan erişin:**
```
http://yourserver.com/3d-calibration/
```
**Hepsi bu kadar!** ✨
### Yöntem 1: Python ile Test Sunucusu (Geliştirme)
```bash
# Dosyanın olduğu dizinde
python3 -m http.server 8000
# Tarayıcıdan erişin
http://localhost:8000
```
### Yöntem 2: Node.js ile Test Sunucusu
```bash
# http-server paketini yükleyin (bir kere)
npm install -g http-server
# Sunucuyu başlatın
http-server -p 8000
# Tarayıcıdan erişin
http://localhost:8000
```
### Yöntem 3: Apache ile Kalıcı Kurulum
```bash
# Dosyayı Apache web dizinine kopyalayın
sudo cp index.html /var/www/html/3d-calibration/
# Tarayıcıdan erişin
http://localhost/3d-calibration
```
### Yöntem 4: Nginx ile Kalıcı Kurulum
```bash
# Dosyayı Nginx web dizinine kopyalayın
sudo cp index.html /usr/share/nginx/html/3d-calibration/
# Tarayıcıdan erişin
http://localhost/3d-calibration
```
## 📖 Kullanım
### Genel Ayarlar
1. **Sıcaklık Ayarları**
- Tabla Sıcaklığı: Filament tipine göre ayarlayın (PLA: 50-60°C, ABS: 80-110°C)
- Nozzle Sıcaklığı: Filament tipine göre ayarlayın (PLA: 190-220°C, ABS: 220-250°C)
- Nozzle Çapı: Yazıcınızın nozzle çapını girin (genellikle 0.4mm)
### Kalibrasyon Sırası (Önerilen)
Optimal sonuçlar için kalibrasyonları şu sırayla yapın:
1. **X, Y, Z Eksenleri** - Mekanik hassasiyet
2. **Extruder** - Filament akışı
3. **Akış (Flow)** - İnce ayar
4. **Çarpıklık** - Son dokunuşlar
#### 1️⃣ X/Y/Z Ekseni Kalibrasyonu
**Adım 1:** Hedef mesafeyi belirleyin
```
Örnek: 100mm (önerilen)
```
**Adım 2:** Mevcut steps/mm değerini girin
```
Yazıcınızın firmware'inden öğrenin (genellikle M503 komutu ile)
Varsayılan değerler:
- X/Y: 80 steps/mm
- Z: 400 steps/mm
```
**Adım 3:** G-code'u indirin ve yazıcıya gönderin
**Adım 4:** Hareketi tamamlandıktan sonra gerçek mesafeyi ölçün
```
Kumpas veya cetvel ile hassas ölçüm yapın
```
**Adım 5:** Ölçülen değeri girin
```
Program otomatik olarak yeni steps/mm değerini hesaplayacak
```
**Adım 6:** Yeni değeri firmware'e uygulayın
```gcode
M92 X80.25 ; Yeni X steps/mm değeri
M500 ; Ayarları kaydet
```
#### 2️⃣ Extruder Kalibrasyonu
**Adım 1:** Filamenti hazırlayın
```
1. Filamenti nozzle'a yükleyin
2. Extruder girişinden 120mm yukarıya işaret koyun
```
**Adım 2:** Mevcut E steps/mm değerini girin
```
Varsayılan: 93 steps/mm (değişkenlik gösterir)
```
**Adım 3:** G-code'u indirin ve çalıştırın
```
Program 100mm filament ekstrüzyonu yapacak
```
**Adım 4:** Kalan mesafeyi ölçün
```
İşaretten kalan mesafe = 120mm - Ekstrüd edilen miktar
Örnek: 20mm kaldı ise, 100mm ekstrüd edildi
```
**Adım 5:** Gerçek ekstrüzyon miktarını girin
```
Ölçülen değer: 100mm
```
**Adım 6:** Yeni değeri firmware'e uygulayın
```gcode
M92 E95.50 ; Yeni E steps/mm değeri
M500 ; Ayarları kaydet
```
#### 3️⃣ Akış Kalibrasyonu (YENİ!)
**Adım 1:** Parametreleri ayarlayın
```
Hedef Duvar Kalınlığı: 0.4mm (nozzle çapınız)
Mevcut Akış Oranı: 100% (slicer'daki değer)
```
**Adım 2:** Test küpünü bastırın
```
G-code'u indirin ve yazıcıya gönderin
20x20mm tek duvarlı küp (10 katman)
```
**Adım 3:** Duvar kalınlığını ölçün
```
1. Baskı tamamen soğusun
2. Küpün ortasından ölçüm yapın
3. Kumpas ile 0.01mm hassasiyetle ölçün
4. 3-5 farklı noktadan ölçüp ortalamasını alın
```
**Adım 4:** Ölçülen değeri girin
```
Örnek: 0.44mm ölçtünüz
Program otomatik yeni akış oranını hesaplar
```
**Adım 5:** Yeni akış oranını uygulayın
```
Slicer'ınızda (Cura, PrusaSlicer, etc.)
Flow Rate: 90.91% olarak ayarlayın
```
**Önemli Notlar:**
- Ölçüm hassasiyeti çok önemli! Dijital kumpas kullanın
- Üst ve alt köşelerden kaçının, ortadan ölçün
- %10'dan fazla fark varsa Extruder steps/mm'yi kontrol edin
- Her filament değişiminde tekrar kalibrasyon yapın
#### 4️⃣ Çarpıklık Kalibrasyonu
**Adım 1:** Test baskısı yapın
```
100x100mm kalibrasyon karesi bastırın
En az 0.2mm katman yüksekliği
2-3 katman yeterli
```
**Adım 2:** Köşegen mesafeleri ölçün
```
AC: Sol üst - Sağ alt köşegen (ideal: 141.4mm)
BD: Sağ üst - Sol alt köşegen (ideal: 141.4mm)
AD: Dikey köşegen (ideal: 141.4mm)
```
**Adım 3:** Değerleri girin
```
Program otomatik olarak çarpıklık açılarını hesaplayacak
```
**Adım 4:** Düzeltmeyi uygulayın
```gcode
M852 I0.0520 J-0.0235 K0.0100 ; Çarpıklık değerleri
M500 ; Ayarları kaydet
```
## 🔬 Kalibrasyon Türleri
### X Ekseni Kalibrasyonu
**Amaç:** Yatay (sağ-sol) hareketin hassasiyetini ayarlar
**Ne Zaman Gerekir:**
- Baskılar istenenden daha geniş/dar çıkıyorsa
- X ekseni boyutları tutmuyorsa
**Beklenen Sonuç:** ±0.1mm hassasiyet
### Y Ekseni Kalibrasyonu
**Amaç:** Derinlik (ön-arka) hareketin hassasiyetini ayarlar
**Ne Zaman Gerekir:**
- Baskılar istenenden daha derin/sığ çıkıyorsa
- Y ekseni boyutları tutmuyorsa
**Beklenen Sonuç:** ±0.1mm hassasiyet
### Z Ekseni Kalibrasyonu
**Amaç:** Dikey (yukarı-aşağı) hareketin hassasiyetini ayarlar
**Ne Zaman Gerekir:**
- Katman yükseklikleri tutmuyorsa
- Baskılar istenenden daha kısa/uzun çıkıyorsa
**Beklenen Sonuç:** ±0.05mm hassasiyet
### Extruder Kalibrasyonu
**Amaç:** Doğru miktarda filament akışını sağlar
**Ne Zaman Gerekir:**
- Aşırı ekstrüzyon (fazla plastik)
- Eksik ekstrüzyon (az plastik)
- İlk katman problemleri
**Beklenen Sonuç:** ±1mm hassasiyet
### Akış Kalibrasyonu (Flow Rate) 🆕
**Amaç:** Duvar kalınlığı ve baskı kalitesi optimizasyonu
**Ne Zaman Gerekir:**
- Duvar kalınlıkları istenenden farklı çıkıyorsa
- Aşırı/eksik dolgu problemleri
- Katmanlar arası boşluklar
- Yüzey kalitesi sorunları
- Filament değişikliği sonrası
**Beklenen Sonuç:** ±0.02mm duvar kalınlığı hassasiyeti
**Önemli:**
- Extruder kalibrasyonundan SONRA yapılmalı
- Her filament türü için ayrı kalibrasyon gerekir
- Sıcaklık değişikliklerinde tekrar kalibrasyon önerilir
**Avantajları:**
- Daha düzgün yüzey kalitesi
- Katmanlar arası daha iyi yapışma
- Doğru boyutlarda baskılar
- Filament tasarrufu
- Daha az stringing ve blobbing
### Çarpıklık Kalibrasyonu
**Amaç:** Eksenlerin birbirine göre açısal sapmasını düzeltir
**Ne Zaman Gerekir:**
- Dikdörtgen baskılar eğik çıkıyorsa
- Köşeler 90° değilse
- Montaj problemleri
**Beklenen Sonuç:** <0.1° sapma
## 🛠️ Teknik Detaylar
### Hesaplama Formülleri
**Steps/mm Hesaplama:**
```
Yeni Steps = (Hedef Mesafe / Ölçülen Mesafe) × Mevcut Steps
```
**Flow Rate Hesaplama:**
```
Yeni Flow = (Hedef Duvar Kalınlığı / Ölçülen Duvar Kalınlığı) × Mevcut Flow
```
**Çarpıklık Hesaplama:**
```
Çarpıklık Açısı = arctan((Ölçülen Köşegen - İdeal Köşegen) / 100) × (180 / π)
```
### Desteklenen G-code Komutları
| Komut | Açıklama |
|-------|----------|
| G28 | Home all axes (tüm eksenleri sıfırla) |
| G90 | Absolute positioning (mutlak konumlandırma) |
| G1 | Linear move (doğrusal hareket) |
| M92 | Set axis steps per unit (eksen adımlarını ayarla) |
| M104 | Set extruder temperature (extruder sıcaklığı) |
| M140 | Set bed temperature (tabla sıcaklığı) |
| M109 | Wait for extruder temperature (extruder sıcaklığını bekle) |
| M190 | Wait for bed temperature (tabla sıcaklığını bekle) |
| M221 | Set flow rate (akış oranını ayarla) |
| M400 | Wait for moves to finish (hareketleri tamamla) |
| M500 | Save settings to EEPROM (ayarları kaydet) |
| M852 | Skew correction (çarpıklık düzeltme) |
### Tarayıcı Uyumluluğu
| Tarayıcı | Minimum Versiyon |
|----------|------------------|
| Chrome | 90+ |
| Firefox | 88+ |
| Safari | 14+ |
| Edge | 90+ |
## ❓ Sık Sorulan Sorular
### G-code dosyası indirmiyor?
**Cevap:** Tarayıcı ayarlarınızdan indirme izinlerini kontrol edin. Popup engelleyici varsa devre dışı bırakın.
### Hesaplanan değerler çok farklı çıkıyor?
**Cevap:**
1. Ölçümlerinizi kontrol edin
2. Yazıcınızın mekaniğini kontrol edin
3. Kayış gerginliğini kontrol edin
4. %10'dan fazla fark varsa mekanik bir sorun olabilir
### Akış kalibrasyonunda %10'dan fazla fark var?
**Cevap:**
1. Önce Extruder steps/mm kalibrasyonunu yapın
2. Nozzle çapını doğru girdiğinizden emin olun
3. Sıcaklık ayarlarını kontrol edin
4. Kumpas kalibrasyonunu kontrol edin
### Kalibrasyon sonrası baskılar hala tutmuyor?
**Cevap:**
1. M500 ile ayarları kaydettiğinizden emin olun
2. Yazıcıyı yeniden başlatın
3. M503 komutu ile değerleri kontrol edin
4. Slicer ayarlarını kontrol edin (flow rate, layer height)
### Hangi sırayla kalibrasyon yapmalıyım?
**Cevap:** Önerilen sıra:
1. X, Y, Z eksenleri
2. Extruder steps/mm
3. Akış (Flow) kalibrasyonu
4. Çarpıklık düzeltme
### Mobil cihazda çalışmıyor?
**Cevap:** Program responsive tasarıma sahiptir, ancak G-code indirme mobil tarayıcılarda farklı davranabilir. Masaüstü tarayıcı önerilir.
### Çarpıklık kalibrasyonu destekleniyor mu?
**Cevap:** M852 komutu Marlin 2.0+ firmware'lerinde desteklenir. Eski firmware versiyonlarında çalışmayabilir.
### Farklı filamentler için ayrı kalibrasyon gerekir mi?
**Cevap:**
- X, Y, Z eksenleri: Hayır, bir kere yeterli
- Extruder: Farklı filament çapları için evet
- Akış: Evet, her filament türü için ayrı kalibrasyon önerilir
### Test baskıları ne kadar sürer?
**Cevap:**
- Eksen testleri: ~2 dakika
- Extruder testi: ~3 dakika
- Akış testi küpü: ~15-20 dakika
- Çarpıklık test karesi: ~30-40 dakika
## 📝 Notlar
- ⚠️ **Kalibrasyon öncesi yazıcınızın mekanik durumunu kontrol edin**
- ⚠️ **Her kalibrasyon sonrası M500 ile kaydetmeyi unutmayın**
- ⚠️ **Aşırı değişiklikler mekanik sorun işareti olabilir**
- ⚠️ **Test baskıları soğuduktan sonra ölçüm yapın**
- ⚠️ **Hassas ölçüm için dijital kumpas kullanın**
- ⚠️ **Akış kalibrasyonu için her filament türünde ayrı test yapın**
- ⚠️ **Kalibrasyon sırasını takip edin: Eksenler → Extruder → Akış → Çarpıklık**
## 🎯 Kalibrasyon İpuçları
### Genel İpuçları
1. Tüm kalibrasyonları oda sıcaklığında yapın
2. Yazıcı tablasının düz ve temiz olduğundan emin olun
3. Nozzle temiz olmalı (tıkanık değil)
4. Her ölçümü 2-3 kez tekrarlayın
5. Değerler arasında büyük fark varsa mekanik kontrol yapın
### Ölçüm İpuçları
1. **Dijital kumpas kullanın** - 0.01mm hassasiyet
2. **Kumpası kalibre edin** - Bilinen bir nesne ile test edin
3. **Farklı açılardan ölçün** - Ortalama alın
4. **Soğuk ölçüm yapın** - Plastik soğuduktan sonra
5. **Işık altında ölçün** - Doğru konumu görmek için
### Slicer Ayarları (Akış Kalibrasyonu Sonrası)
```
Cura: Material → Flow → %XX
PrusaSlicer: Filament Settings → Extrusion multiplier → 0.XX
Simplify3D: Process Settings → Extrusion Multiplier → 0.XX
```
## 🔄 Güncelleme Geçmişi
### v1.1.0 (2024)
- ✨ Akış (Flow) kalibrasyonu eklendi
- 🔧 Production-ready tek dosya versiyonu
- 🎨 Custom CSS ile Tailwind bağımlılığı kaldırıldı
- 🚀 Babel bağımlılığı kaldırıldı (Pure React)
- 📱 Responsive tasarım iyileştirmeleri
- 📚 README güncellendi
### v1.0.0 (2024)
- ✨ İlk sürüm
- 5 kalibrasyon türü
- G-code üretimi
- Türkçe arayüz
## 📄 Lisans
MIT License - Detaylar için LICENSE dosyasına bakın.
## 🤝 Katkıda Bulunma
Bu proje açık kaynaklıdır. Katkılarınızı bekliyoruz!
## 3D Yazıcı Kablibrasyonu için Formül Excel Dosyası
> hOLOlu Ender3 Ayarları
**E** : M92 E87,74
**X** : M92 X73,16
**Y** : M92 Y72,89
**Z** : M92 Z378,72
---
**Made with ❤️ for 3D Printing Community**