Dijital pusula ölçer kalibrasyonu

Başlatan Mucit23, 06 Ocak 2021, 16:26:39

Mucit23

Selamlar

Bir konuda fikrinize ihtiyacım var.

Dijital pusula ölçerler var bilirsiniz. Artık cep telefonlarında gelen standart sensörlerden birisi.

Ben BNO055 9 Eksen oryantasyon sensörü ile benzer bir pusula uygulaması yapmaya çalışıyorum. BNO055 Harika çalışıyor. Roll Yaw ve Pitch değerlerini okuyabiliyorum hassas bir şekilde. Fakat şöyle bir sorun var.

Yaw yada Heading Değerini okuyorum. Sensörün dünyadaki konumuna göre açısı ne olursa olsun ilk enerjilendiği anda 0 olarak başlıyor. Normalde bu değer pusula değeri değilmidir? Her seferinde 0 dan başlamaması lazım.

Cep telefonlarında ve diğer aygıtlarda pusula sensörün yaptığı işi yapmaya çalışıyorum. Bunun mantığı nedir? Sadece sensör ile mi oluyor yoksa mikroişlemci ile bir takım işlemler mi yapmak gerekiyor?

esdevhk

Hocam eğer her başlangıçta 0 olarak başlıyorsa muhtemelen o bilgiyi ivme ve jiroskop bilgisini füzyon ederek elde ediyor olabilir.
Pusula bilgisi elde etmek isterseniz ivme, jiroskop ve manyeto bilgilerini kullanarak elde edebilirsiniz. Ufak bir matematik gerekiyor sadece.

Bknz:(Magnetometer Tilt Compensation)


Mucit23

BNO055'in Dökümanına biraz göz atınca COMPASS modu olduğunu farkettim. Çalışmasını COMPASS yapınca okuduğum yaw değerleri artık pusula değerlerine döndü. Fakat telefonun pusulası ile karşılaştırınca hala çok fark var.

compass modunda Accelerometer ile Magnetometer kullanılıyor. Datasheet sayfa 47'de nasıl kalibre edileceği yazılmış. NDOF modunda kalibrasyon yaptığımda Sadece Accelerometer kalibre olmuyor. Compass modunda kalibrasyon yaptığımda ise hiçbiri kalibre olmuyor.

Kalibrasyon işini çözmem gerekiyor.

Cemre.

Bir de deklinasyon açısı var, dikkate alınması gereken.
Malum dünyanın manyetik kutup noktası ile coğrafi kutup noktası arasında bir fark vardır. Bulunduğunuz konumdan her ikisine bir çizgi çizdiğinizde, bu çizgilerin arasındaki açıya deklinasyon açısı deniyor. Yani manyetik kuzeyin coğrafi kuzeyden sapma açısı diyelim. Bu deklinasyon değeri dünya üzerindeki konumunuza ve zamana bağlı olarak değişen bir değerdir. Bu değeri offset olarak eklemeniz gerekiyor. Deneme amaçlı internetten şuanki konumunuz için sabit bir değer bulup girebilirsiniz ama gerçek sistemde koordinat ve UTC zaman bilgisine de ihtiyacınız olacak gibi duruyor...