Sorun giderme · 8 dk okuma
Telefon pusulası neden yanlış gösterir? Beş sebep ve çözümleri
Kalibrasyon kaybı, manyetik parazit, ekran döndürme, referans kuzey karışıklığı ve filtreleme hataları — belirtileri ve çözümleri.
Telefon pusulaları şaşırtıcı biçimde sık yanlış gösterir. Daha kötüsü, yanlış gösterirken de kararlı görünürler: iğne titremeden bir yeri işaret eder ve kullanıcının bunun yanlış olduğunu anlaması için bağımsız bir referansa ihtiyacı olur.
Bu yazı beş sebebi belirtileriyle birlikte anlatıyor. Belirtiye bakarak hangi sorunla karşı karşıya olduğunuzu ayırt edebilirsiniz — ve bu, çözümün yarısıdır.
1. Kalibrasyon kaybı
Belirti: İğne kararlı ama yanlış. Farklı odalarda da benzer biçimde yanlış. Hata büyüklüğü rastgele, on ile otuz derece arası.
Manyetometre, üç eksende manyetik alan bileşenini ölçen küçük bir sensör. Her eksenin bir sıfır noktası (offset) var ve bu noktalar zamanla kayar. Güçlü bir manyetik alana yakın kalmak kaymayı hızlandırır. Sensör kaymış offset'le çalıştığında ölçümler tutarlı biçimde yanlış olur.
Çözüm:Telefonu elinizde tutup havada birkaç kez büyük bir sekiz çizin. Bu hareketin amacı sensörün üç eksende de geniş bir değer aralığı görmesini sağlamak; işletim sistemi bu verilerden yeni offset'leri türetiyor. Hareketi yavaş ve geniş yapın — hızlı sallamak işe yaramaz.
Kalibrasyondan önce metalden ve mıknatıslardan bir kol boyu uzaklaşın. MagSafe kılıf veya manyetik araç tutucusu varsa çıkarın; kılıftaki mıknatısla kalibrasyon yapmak, hatayı sabitlemek anlamına gelir.
Pusula sayfamızdaki kalibrasyon rehberi hareketi animasyonla gösteriyor ve sonunda kararsızlığın gerçekten azalıp azalmadığını ölçüp söylüyor — yani işe yarayıp yaramadığını tahmin etmeniz gerekmiyor.
2. Manyetik parazit
Belirti: Odayı değiştirdiğinizde sonuç değişiyor. Telefonu masadan kaldırdığınızda iğne kayıyor. Belirli bir noktada iğne huzursuz.
Dünya'nın manyetik alanı zayıftır: yeryüzünde 22 ile 68 mikrotesla arasında. Bir hoparlör mıknatısı yakın mesafeden bunu kolayca bastırır. Ev içinde şüpheli listesi uzun: kalorifer peteği, çelik masa veya raf, buzdolabı, televizyon hoparlörleri, dizüstü bilgisayar, kablosuz şarj pedi, mıknatıslı telefon kılıfı, hatta betonarme içindeki demir donatı.
Araç içinde durum en kötüsüdür — gövde büyük bir çelik kafestir ve alanı tamamen büker. Uçakta daha da kötü.
Çözüm: Ölçümü odanın ortasında, elektronik cihazlardan uzakta yapın. Sonuç odaya göre değişiyorsa sorun kesin olarak çevresel. Bu senaryoda kalibrasyon yapmak işe yaramaz; parazit kaynağından uzaklaşmanız gerekir.
Bu, tespiti en zor sorun çünkü kullanıcının manyetik alanı görmesi mümkün değil. Bu yüzden parazit dedektörü yaptık: ölçülen alan büyüklüğü Dünya için normal aralığın dışına çıkarsa uyarı basıyoruz. Özellik manyetometre erişimi veren tarayıcılarda çalışıyor; olmadığında sessizce devre dışı kalıyor.
3. Ekran döndürme düzeltmesinin atlanması
Belirti: Telefonu yatay çevirdiğinizde açı tam doksan derece kayıyor. Dikey tutarken doğru, yatay tutarken yanlış.
Sensör verisi cihazın fiziksel gövdesine göre gelir. Ekran döndüğünde gövde çerçevesi ile ekran çerçevesi ayrışır. Uygulama ekran açısını okuyup ölçüme eklemezse, yatay modda pusula tam doksan derece yanlış gösterir.
Bu hatanın kullanıcı tarafından fark edilmesi neredeyse imkânsız, çünkü iğne yine kararlı ve inandırıcı görünür. Ayırt edici belirti tam olarak doksan derecelik farktır — düzensiz bir sapma değil.
Çözüm: Uygulama tarafında. Ekran açısını okuyup her ölçüme ekliyoruz. Kullanıcı olarak yapabileceğiniz test: telefonu yatay ve dikey tutarken açının değişip değişmediğine bakın. Doksan derece kayıyorsa o uygulamada bu düzeltme yok.
4. Referans kuzey karışıklığı
Belirti:Hata her zaman aynı yönde ve Türkiye'de yaklaşık altı derece. iPhone ile Android farklı sonuç veriyor.
Pusula manyetik kuzeyi gösterir, kıble açısı ise coğrafi kuzeye göredir. Aradaki farka manyetik sapma denir ve Türkiye'de yaklaşık altı derecedir. Uygulama bu düzeltmeyi yapmazsa sistematik bir hata oluşur.
İşin karmaşık tarafı platformların farklı davranması. iOS pusula değerini gerçek kuzeye göre verir (cihaz düzeltmeyi kendisi uygular); Android manyetik kuzeye göre verir. Bir uygulama ikisini aynı sanarsa, platformlardan birinde yanlış olur — ya da düzeltmeyi iki kez uygulayıp on iki derece kaydırır.
Çözüm: Okuduğumuz değerin hangi referansa ait olduğunu takip ediyor, sapmayı yalnızca manyetik kaynaklı okumalara uyguluyor ve durumu kadranın altındaki etikette yazıyoruz. Ayrıntı için manyetik sapma yazımıza bakabilirsiniz.
5. Filtreleme hataları
Belirti: İğne titriyor, ya da kuzeyden geçerken bir anda ters yöne fırlıyor.
Ham manyetometre verisi gürültülüdür; filtresiz bir iğne okunamayacak kadar oynar. Ama açı değerleri üzerinde basit ortalama almak burada tuzak: 359 derece ile 1 derecenin aritmetik ortalaması 180 çıkar. Yani kuzeyden her geçişte iğne bir anda güneye fırlar.
Çözüm: Filtreyi açı üzerinde değil birim vektör üzerinde uygulamak. Açının sinüs ve kosinüsünü ayrı ayrı yumuşatıp sonucu geri açıya çevirmek yeterli; sarmalama sorunu kendiliğinden ortadan kalkıyor. Bunun ek bir yararı da var: aynı yaklaşımla okumaların dairesel dağılımını hesaplayıp doğruluk tahmini üretebiliyoruz.
Hiçbiri çözmezse
Bazı cihazların manyetometresi gerçekten zayıf veya arızalı olabilir. O durumda pusulayı zorlamak yerine yöntemi değiştirmek doğru karar.
Güneş yöntemi manyetik alanla hiç ilgilenmez; gökmekanik hesabıyla çalışır ve hiçbir parazitten etkilenmez. Harita üzerinden duvar hizalama ise cihazın yönünü hiç ölçmez, yalnızca coğrafyayı kullanır. İkisi de masaüstünde çalışır ve ev içinde çoğu zaman kalibrasyonu bozulmuş bir pusuladan daha güvenilirdir.
Bu arada bir teşhis ipucu: aynı konumda güneş yöntemiyle ölçüm yapıp pusula sonucuyla karşılaştırın. İki değer uyuşuyorsa pusulanız iyi durumda; ayrışıyorsa fark size hatanın büyüklüğünü doğrudan söyler.