Test: doğrula, sonra sür
Mühendislikte "herhalde çalışır" diye bir şey yoktur. Bunun yerine test protokolü vardır: her şeyi sırayla, tek tek, kontrollü koşullarda doğrularsın. Robot yere ancak ondan sonra iner. Bu ders sana robotçuların gerçek alışkanlığını kazandırıyor ve modülün geri kalanında da yanında kalacak bir sorun giderme refleksi veriyor.
Kanca: "herhalde çalışır" tuzağı (10 dk)
Kodu yazdın, kabloları bağladın, pil şarjlı. Şimdi robotu yere koyup gaza basmak çok cazip. Ama düşün: ya sol motorun kablosu ters bağlıysa? Yere koyduğun an robot beklediğin gibi ileri gitmek yerine kendi etrafında fırlar, masadan düşer ya da duvara toslar ve belki de az önce bağladığın bir kabloyu koparır.
Videodaki grubun hatası kod ya da kablo değildi. Hatası, doğrulamadan güvenmekti. Ucuz bir kontrolü atlayıp pahalı bir kazayı satın aldılar.
Tartışma sorusu: Robotu yere koymadan önce, tekerler havadayken hangi şeyleri kontrol edebilirsin? En az üç tane söyle. Grubunla 2 dakika konuş, sonra tahtada toplayalım.
Bugün cevabın kendisini bir protokole çevireceğiz.
Askıda test protokolü (20 dk)
Robotu bir kutunun ya da kitap yığınının üstüne, tekerler havada kalacak ve hiçbir yere değmeyecek şekilde yerleştir. Kabloları topla, hiçbiri tekere takılmasın. Şimdi her adımı önce tahmin et, sonra dene, sonra gözle.
Adım 1 - Bağlan ve başlat. Pili tak, anahtarı aç. Telefonu robotun WiFi ağına bağla, tarayıcıda http://192.168.4.1 adresini aç, Driver Station gelsin. Kumandada bir tuşa bas ki tanınsın, sonra Init ve Start yap.
Adım 2 - Yön kontrolü. Önce tahmin et: sol çubuğu hafifçe ileri itersem ne olmalı? Doğru cevap, iki tekerin de ileri dönmesi. Şimdi dene. İki teker de ileri dönüyorsa geç. Biri geri dönüyorsa o motor ters bağlanmış demektir; çözümünü birazdan kavram köprüsünde konuşacağız, şimdilik not al.
Adım 3 - Dönüş kontrolü. Tahmin: sağ çubuğu sağa yatırırsam? Robot sağa dönmeli, yani sol teker ileri, sağ teker geri dönmeli. Dene ve gözle. Ters oluyorsa çubuk yönüyle teker yönü arasındaki ilişkiyi not et.
Adım 4 - Stop kontrolü. Tekerler dönerken Driver Station'da Stop'a bas. Her şey anında durmalı. Durmuyorsa Stop'ta çalışan robotEnd bloğunun ya da fonksiyonunun motorları sıfırladığından emin ol.
Adım 5 - Kapanış sırası. Sürüş bitince sıra hep aynıdır: önce Stop, sonra anahtar, en son pil. Bu sırayı bugünden ezberle; her derste böyle kapatacaksın.
Dört kontrolün dördü de askıdayken geçmeden robotu yere indirme.
Kavram köprüsü: neden askıda ve nasıl teşhis (7 dk)
Az önce yaptığın şeyin adı test protokolü: bir sistemi kullanmadan önce, işlevlerini sabit bir sırayla ve kontrollü koşulda doğrulama. Robotçular bunu her seferinde yapar, çünkü doğrulanmamış bir robot güvenilmez bir robottur.
Neden önce askıda? Yanlış yöne dönen bir robot yerdeyken masadan düşer, duvara gider, kablo koparır. Askıdayken tam olarak aynı hata sadece bir gözlemdir: not eder, düzeltir, tekrar denersin. Ucuz hata iyi hatadır. Askıda test, pahalı bir kazayı ucuz bir gözleme çevirmenin yoludur.
Motor ters dönüyorsa ne yapılır? Adım 2'de bir teker geri döndüyse, o motorun ileri ve geri sinyalleri ters kalmış demektir. Çözüm kabloyu sökmek değil: o motorun kodundaki RPWM ve LPWM sabitlerinin değerlerini birbiriyle yer değiştir, yeniden yükle ve testi tekrarla. Bu senin Yazılım B dersinde tanıştığın iki pin sabitiydi; ileri sinyalini veren pinle geri sinyalini veren pini takas ediyorsun.
Neden tek tek? Protokolde adımları birer birer yapmanın bir nedeni var. Yön, dönüş ve Stop'u aynı anda denersen, bir şey ters gittiğinde hangisinin bozuk olduğunu bilemezsin. Ama tek tek gidersen, sorun çıktığı anda hangi adımda çıktığını bilirsin ve arızanın yerini yarıya, sonra çeyreğe indirirsin. Bu, mühendislerin her karmaşık sistemde kullandığı bir alışkanlıktır: bir seferde bir değişken.
Teşhisin yönü. Bir arızayı çözerken belirtiden başla, olası nedeni daralt, çözümü uygula. Aşağıdaki tablo tam da bunun için: belirti sütununu bulur, o satırı okursun. Bir belirtiyi birden çok neden verebilir; o zaman en kolay kontrol edilenden başlayıp elersin.
Sorun giderme tablosu
Bu tablo bu dersten sonra tüm modüllerde başvuru kaynağın olacak. Bir sonraki bölümde onu gerçek arızalarda kullanacaksın.
| Belirti | Muhtemel neden | Çözüm |
|---|---|---|
| Hiçbir motor dönmüyor | Sürücülere güç yok ya da EN hattı bağlı değil | B+/B- bağlantılarını ve VCC ile EN köprüsünü kontrol et; sigortayı ve anahtarı kontrol et |
| Sinyal var ama motor tepkisiz | Ortak toprak eksik | ESP32 GND ile Wago GND arasındaki kabloyu kontrol et (Elektronik dersi) |
| Motor ters dönüyor | M+/M- ters ya da kodda RPWM/LPWM sabitleri ters | Kodda o motorun RPWM ve LPWM sabitlerini yer değiştir; kablo sökmeye gerek yok |
| Tek taraf dönüyor | O tarafın sinyal jumperı gevşek ya da yanlış GPIO'da | O taraf için sinyal jumperlarını Elektronik dersi tablosundan yeniden izle |
| Robot düz gitmiyor, hep bir yana çekiyor | Motorlar birebir aynı hızda değil; mekanik sürtünme farkı | Önce tekerleri elle çevirip sürtünmeye bak; gerekirse kodda yavaş tarafa küçük bir çarpan ekle |
| ESP32 sürüş sırasında resetleniyor | Beyin beslemesi zayıf ya da motor gürültüsü | XL4005 çıkışını kontrol et; güç kablolarını sinyal jumperlarından ayrı yolla |
| WiFi ağı görünmüyor | Kod yüklenmemiş ya da besleme yok | Serial monitörde (115200) açılış loglarına bak; ağ adı satırını görmelisin |
| Kumanda arayüzde "Not Connected" | Tarayıcı kumandayı henüz tanımadı | Kumandada herhangi bir tuşa bas; kumanda telefona ya da tablete bağlı olmalı, bilgisayara değil |
Uygulama: arıza istasyonları (15 dk)
Şimdi işi tersine çeviriyoruz. Bir arızayı bilerek yaratıp teşhis etmek, gerçek arızada seni panikten kurtarır; çünkü belirtiyi daha önce görmüş olursun.
Öğretmenin, sınıftaki 2-3 robotta pil kapalıyken bilinçli birer arıza kuracak: bir sinyal jumperını çıkarmak, iki motor kablosunu takas etmek ya da ortak toprak kablosunu sökmek gibi. Bunlar birer arıza istasyonu.
Nasıl oynanıyor: Grubun elinde bir teşhis fişi var. Her istasyona gidip robotu askıda test protokolüyle çalıştırıyorsun. Amacın robotu tamir etmek değil, önce teşhis etmek. Fişe üç şeyi yazıyorsun:
- Belirti: Ne görüyorsun? (Örneğin: sağ teker hiç dönmüyor.)
- Muhtemel neden: Tabloda hangi satıra uyuyor?
- Çözüm: O satır ne diyor?
Doğru teşhisi en hızlı ve en çok istasyonda yapan grup kazanır. Yanlış teşhis puan kaybettirir, yani acele edip tahmin etmek işe yaramaz; belirtiyi dikkatle okumak yarar.
Önemli kural: Bir kabloyu takarken ya da sökerken robotun anahtarı kapalı, pili çıkık olacak. Elektrik varken kablo oynatılmaz.
İstasyonları gezdikten sonra sınıfça toplanıp her arızanın tabloda hangi satır olduğunu birlikte doğrulayın. Aynı belirtiyi iki farklı neden verebiliyor mu? Bunu tartışın.
Pekiştirme ve değerlendirme (6 dk)
Kendini kontrol et:
- Askıdaki dört kontrolü sırasıyla sayabiliyor musun? (Yön, dönüş, Stop, ve yere indirmeden önceki son bakış.)
- Motor ters dönüyorsa kabloya dokunmadan koddan nasıl çözersin?
- "Sinyal var ama motor tepkisiz" belirtisinin en olası nedeni nedir?
- Kapanış sırası nedir?
Günlük hayat bağı: Bir pilot uçağı kalkışa götürmeden önce bir kontrol listesini tek tek okur; bir cerrah ameliyat öncesi hazırlığı sırayla doğrular. İkisi de "herhalde tamamdır" demez. Senin askıda test protokolün de aynı fikrin robot hâli: güvenmeden önce doğrula.
Erken bitirene ek görev
- Kör teşhis: Bir arkadaşın robotta gizlice tek bir arıza kursun (pil kapalıyken). Sen robotu görmeden, sadece askıda testteki belirtiye bakarak nedeni bilebiliyor musun? Rolleri değiştirin.
- Kendi satırını ekle: Test sırasında tabloda olmayan bir belirtiyle karşılaştıysan, onu belirti/neden/çözüm biçiminde yaz ve tabloya yeni bir satır olarak öner. İyi bir sorun giderme tablosu böyle büyür.