377 lines
9.8 KiB
Markdown
377 lines
9.8 KiB
Markdown
# 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
|
||
|
||
### 🎯 5 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ı
|
||
- **Ç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
|
||
|
||
## 🚀 Kurulum
|
||
|
||
### Gereksinimler
|
||
- Modern bir web tarayıcı (Chrome, Firefox, Safari, Edge)
|
||
- Web sunucusu (Apache, Nginx, veya basit bir HTTP sunucusu)
|
||
|
||
### Yöntem 1: Statik HTML Olarak Kullanım
|
||
|
||
1. **Dosyaları Hazırlayın**
|
||
```bash
|
||
mkdir 3d-printer-calibration
|
||
cd 3d-printer-calibration
|
||
```
|
||
|
||
2. **index.html dosyası oluşturun:**
|
||
|
||
```html
|
||
<!DOCTYPE html>
|
||
<html lang="tr">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>3D Yazıcı Kalibrasyon</title>
|
||
<script crossorigin src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
|
||
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
|
||
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
|
||
<script src="https://cdn.tailwindcss.com"></script>
|
||
</head>
|
||
<body>
|
||
<div id="root"></div>
|
||
<script type="text/babel" src="app.jsx"></script>
|
||
</body>
|
||
</html>
|
||
```
|
||
|
||
3. **app.jsx dosyasına React kodunu yapıştırın** (Artifact'taki kodu kullanın)
|
||
|
||
4. **Lucide-react ikonları için CDN ekleyin:**
|
||
|
||
```html
|
||
<!-- index.html içine <head> bölümüne ekleyin -->
|
||
<script src="https://unpkg.com/lucide-react@0.263.1/dist/umd/lucide-react.js"></script>
|
||
```
|
||
|
||
5. **Web sunucunuza yükleyin**
|
||
|
||
### Yöntem 2: Apache ile Kullanım
|
||
|
||
```bash
|
||
# Dosyaları Apache web dizinine kopyalayın
|
||
sudo cp -r 3d-printer-calibration /var/www/html/
|
||
|
||
# Tarayıcıdan erişin
|
||
http://localhost/3d-printer-calibration
|
||
```
|
||
|
||
### Yöntem 3: Nginx ile Kullanım
|
||
|
||
```bash
|
||
# Dosyaları Nginx web dizinine kopyalayın
|
||
sudo cp -r 3d-printer-calibration /usr/share/nginx/html/
|
||
|
||
# Tarayıcıdan erişin
|
||
http://localhost/3d-printer-calibration
|
||
```
|
||
|
||
### Yöntem 4: Python ile Basit HTTP Sunucusu
|
||
|
||
```bash
|
||
# Proje dizininde
|
||
cd 3d-printer-calibration
|
||
|
||
# Python 3 ile sunucu başlatın
|
||
python3 -m http.server 8000
|
||
|
||
# Tarayıcıdan erişin
|
||
http://localhost:8000
|
||
```
|
||
|
||
### Yöntem 5: Node.js ile Basit HTTP Sunucusu
|
||
|
||
```bash
|
||
# http-server paketini yükleyin (bir kere)
|
||
npm install -g http-server
|
||
|
||
# Proje dizininde sunucuyu başlatın
|
||
http-server -p 8000
|
||
|
||
# Tarayıcıdan erişin
|
||
http://localhost:8000
|
||
```
|
||
|
||
## 📖 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 Adımları
|
||
|
||
#### 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 E steps/mm değerini uygulayın
|
||
```gcode
|
||
M92 E95.50 ; Yeni E steps/mm değeri
|
||
M500 ; Ayarları kaydet
|
||
```
|
||
|
||
#### 3️⃣ Ç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
|
||
|
||
### Ç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
|
||
```
|
||
|
||
**Ç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) |
|
||
| 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ı neden boş?
|
||
**Cevap:** JavaScript'in çalışması için dosyaların bir web sunucusu üzerinden sunulması gerekir. Dosyayı direkt olarak açmayın (file://), bir HTTP sunucusu kullanı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
|
||
|
||
### 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. Flow rate (akış oranı) ayarlarını kontrol edin
|
||
|
||
### 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.
|
||
|
||
## 📝 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 kumpas kullanın**
|
||
|
||
## 🔄 Güncelleme Geçmişi
|
||
|
||
### 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!
|
||
|
||
## 📧 İletişim
|
||
|
||
Sorularınız için issue açabilirsiniz.
|
||
|
||
---
|
||
|
||
**Made with ❤️ for 3D Printing Community** |