
Neden güvenlik zinciri?
Makinelerde en tehlikeli hata, motorun yanlış konumda çalışmasıdır. Bıçak iner, tabla çarpar, malzeme sıkışır. Bu yüzden motoru "çalıştır" komutuyla doğrudan beslemek yerine, bir zincir kuruyorum.
Zincir nasıl kurulur?
``cpp // 1) MOSFET başlangıçta KAPALI tutulur digitalWrite(MOTOR_GATE, LOW);
// 2) Manyetik sensör (MZ580) konumu doğrular if (readHallSensor() == HALL_OK) { // 3) 600 ms bekleme — geçiş kararlılığı için delay(600); // 4) Motoru yetkilendir digitalWrite(MOTOR_GATE, HIGH); }
## 600 ms neden?
Manyetik sensör, konum değiştiği an okuma yapar; ancak alan yerleşene kadar okuma kararsızdır. Bu aralıkta motoru yanlışlıkla çalıştırmamak için 600 ms'lik bir gecikme konulur. Değeri kendi makinenize göre ölçüp ayarlayın — 600 ms bir başlangıç değeri, evrensel bir kural değil.
## Kullanılan sürücüler
| Sürücü | Kullanım |
|---|---|
| TB6600 | Yüksek tork, orta devir |
| JSS860H | Kompakt, düşük devir |
| JSS556 | Ekonomik çözüm |
Motor seçiminde **tork, hız ve sürücü akımı** üçlüsünü birlikte düşünmek gerekir. En sık yapılan hata, yüksek torklu motoru düşük akımlı sürücüye bağlamaktır — sürücü ısınır ve koruma devreye girer.
## Filtreleme
Sensör okumalarını doğrudan kullanmak gürültüye açıktır. Basit bir hareketli ortalama filtresi, çoğu uygulamada yeterlidir:
``cpp
float smooth(int raw) {
static int buf[SIZE];
// ... halka tampon, ortalama al
}
Sonuç
Bu düzen, "motor dönmüyor" problemini de ortadan kaldırır. Çünkü sorun motorun kendisinde değil, yanlış momentte çalıştırılmış olmasındadır.


