MODÜL 02 DERS 5 / 6 · 60 DK

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)

🎬 VİDEO · kanca · 50 sn · Bir grup robotu sevinçle doğrudan yere koyuyor, robot ters yöne fırlayıp masadan düşüyor; ekranda "Önce askıda" yazısı, ardından aynı robot kutu üstünde askıda test ediliyor

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.

🎬 VİDEO · tezgah · 150 sn · Robot kutu üstünde askıda; sol çubuk ileri itiliyor iki teker ileri dönüyor, sağ çubuk yatırılıyor dönüş kontrolü, en son Stop ile ani duruş; altyazılı sessiz

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.

BelirtiMuhtemel nedenÇözüm
Hiçbir motor dönmüyorSürücülere güç yok ya da EN hattı bağlı değilB+/B- bağlantılarını ve VCC ile EN köprüsünü kontrol et; sigortayı ve anahtarı kontrol et
Sinyal var ama motor tepkisizOrtak toprak eksikESP32 GND ile Wago GND arasındaki kabloyu kontrol et (Elektronik dersi)
Motor ters dönüyorM+/M- ters ya da kodda RPWM/LPWM sabitleri tersKodda o motorun RPWM ve LPWM sabitlerini yer değiştir; kablo sökmeye gerek yok
Tek taraf dönüyorO tarafın sinyal jumperı gevşek ya da yanlış GPIO'daO taraf için sinyal jumperlarını Elektronik dersi tablosundan yeniden izle
Robot düz gitmiyor, hep bir yana çekiyorMotorlar 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 resetleniyorBeyin 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üyorKod yüklenmemiş ya da besleme yokSerial 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:

  1. Belirti: Ne görüyorsun? (Örneğin: sağ teker hiç dönmüyor.)
  2. Muhtemel neden: Tabloda hangi satıra uyuyor?
  3. Çö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:

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