İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Hobiniz RC, dronlar, robotik, elektronik, artırılmış gerçeklik veya benzeri ise, er ya da geç manyetometre kalibrasyon görevi ile karşılaşacaksınız. Herhangi bir manyetometre modülü kalibre edilmelidir, çünkü manyetik alan ölçümü bazı bozulmalara maruz kalır. Bu bozulmaların iki türü vardır: sert demir çarpıklıkları ve yumuşak demir çarpıklıkları. Bu çarpıtmalarla ilgili teoriyi burada bulabilirsiniz. Doğru ölçümleri elde etmek için manyetometreyi sert ve yumuşak demir bozulmaları için kalibre etmelisiniz. Bu talimat, nasıl yapılacağının kolay yolunu açıklar.
Adım 1: İhtiyacınız Olan Şeyler
Donanım:
- HMC5883L manyetometre modülü
- Arduino Mega 2560 kurulu
*Ancak bu talimatı başka bir manyetometre modülü veya arduino kartı için kolayca benimseyebilirsiniz.
Yazılım:
- MagMaster
- MagViewer
Bellenim:
Arduino Kroki
*Bu çizim HMC5883L modülü için yazılmıştır, ancak modülünüz için kolayca benimseyebilirsiniz.
Diğerleri:
- Kağıt kutusu
- ekmek tahtası
- teller
Adım 2: Kalibrasyon Kutusunun Yapılması
Kalibrasyon işlemi için özel kalibrasyon kutusunu (resim 2.1) yapmalısınız. Bunu yapmak için bir kağıt kutu kullandım, ancak plastik bir kutu, tahta çubuk veya başka bir şey de kullanabilirsiniz. Manyetometre modülünü kutu ile (örneğin yapıştırıcı ile) resim 2.1'de gösterildiği gibi birleştirmelisiniz. Kutunun yüzlerinde manyetometre modülünün koordinat sistemine göre koordinat sistemini çizmelisiniz.
Adım 3: Elektrik Bağlantısı
Manyetometre modülünü ve arduino kartını resim 3.1'de gösterildiği gibi bağlayın. Manyetometre modülünün besleme voltajının 3, 3 V olabileceğini unutmayın (benim durumumda HMC5883L GY-273 versiyonunda olduğu gibi).
Adım 4: Yazılımı ve Bellenimi Yükleme
Yazılımı ve bellenimi buradan indirin. Bu arşiv dosyaları içerir:
- MagMaster.exe - manyetometre kalibrasyon programı
- MagViewer.exe - manyetometre ölçümleri görselleştirme programı
- Arduino_Code - kalibrasyon işlemi için arduino taslağı
- Arduino_Test_Results - kalibrasyon sonuçlarını test etmek için arduino taslağı
- Arduino_Radius_Stabilization - küre yarıçapı sabitleme algoritması ile kalibrasyon sonuçlarını test etmek için arduino taslağı
- MagMaster Dosyaları ve MagViewer Dosyaları - MagMaster.exe ve MagViewer.exe için sistem dosyaları
Tüm bu dosyaları herhangi bir klasöre kopyalayın. "Arduino_Code" taslağını arduino panosuna yükleyin. Bu arduino çizimi HMC5883L kütüphanesini gerektirir, çizim yüklemeden önce "HMC5883L" klasörünü ("Arduino_Code" klasörüne yerleştirilir) "C:\Program Files\Arduino\libraries" klasörüne kopyalayın.
Adım 5: Kalibrasyon
Tanıtım
Manyetometrenin kalibrasyonu, dönüşüm matrisini ve yanlılığı elde etme işlemidir.
Manyetik alanın kalibre edilmiş ölçümlerini elde etmek için programınızda bu dönüşüm matrisini ve önyargıyı kullanmalısınız. Algoritmanızda, kalibre edilmemiş manyetometre verilerinin vektörüne (X, Y, Z koordinatları) sapmayı uygulamanız ve ardından elde edilen bu vektör ile dönüşüm matrisini çarpmanız gerekir (resim 5.4). Bu hesaplamaların C algoritmasını "Arduino_Test_Results" ve "Arduino_Radius_Stabilization" eskizlerinde bulabilirsiniz.
Kalibrasyon süreci
MagMaster.exe'yi çalıştırın ve arduino kartının seri portunu seçin. Program penceresindeki yeşil diziler manyetometre vektörünün koordinatlarını gösterir (resim 5.1).
Manyetometre modülünü (manyetometre modülü takılı kalibrasyon kutusu) resim 5.2.1'de gösterildiği gibi yerleştirin ve "Axis X+" grup kutusunun "Nokta 0" düğmesine tıklayın. Kalibrasyon kutusunun sabit yatay düzleme göre sabit olmadığına dikkat edin. Ardından manyetometreyi resim 5.2.2'de gösterildiği gibi yerleştirin ve "Axis X+" grup kutusunun "Point 180" butonuna tıklayın ve bu şekilde devam edin. Aşağıdaki şekilde yapmalısınız (bkz. resim 5.3):
- Resim 5.2.1: "Nokta 0", "Eksen X+"
- Resim 5.2.2: "Point 180", "Axis X+"
- Resim 5.2.3: "Nokta 0", "Eksen X-"
- Resim 5.2.4: "Nokta 180", "Eksen X-"
- Resim 5.2.5: "Nokta 0", "Eksen Y+"
- Resim 5.2.6: "Nokta 180", "Eksen Y+"
- Resim 5.2.7: "Nokta 0", "Eksen Y-"
- Resim 5.2.8: "Point 180", "Eksen Y-"
- Resim 5.2.9: "Nokta 0", "Eksen Z+"
- Resim 5.2.10: "Point 180", "Axis Z+"
- Resim 5.2.11: "Nokta 0", "Eksen Z-"
- Resim 5.2.12: "Point 180", "Eksen Z-"
Masayı doldurmalısın. Daha sonra "Dönüşüm Matrisi ve Önyargısını Hesapla"ya tıklayın ve dönüşüm matrisini ve önyargıyı alın (resim 5.3).
Dönüşüm matrisi ve önyargı elde edildi! Kalibrasyon tamamlandı!
6. Adım: Test Etme ve Görselleştirme
Kalibre edilmemiş ölçümlerin görselleştirilmesi
"Arduino_Code" taslağını arduino panosuna yükleyin. MagViewer.exe'yi çalıştırın, arduino kartının seri bağlantı noktasını seçin (seraial bağlantı noktasının boud hızı 9600 bps olmalıdır) ve "MagViewer'ı Çalıştır" ı tıklayın. Artık manyetometre veri vektörünün koordinatlarını gerçek zamanlı olarak 3B uzayda görebilirsiniz (resim 6.1, video 6.1, 6.2). Bu ölçümler kalibre edilmemiştir.
Kalibre edilmiş ölçümlerin görselleştirilmesi
"Arduino_Radius_Stabilization" çizimini düzenleyin, varsayılan dönüşüm matrisini ve sapma verilerini kalibrasyon sırasında elde ettiğiniz verilerle değiştirin (dönüşüm matrisiniz ve sapmanız). Arduino kartına "Arduino_Radius_Stabilization" taslağını yükleyin. MagViewer.exe'yi çalıştırın, seri bağlantı noktasını seçin (boud hızı 9600 bps'dir), "MagViewer'ı Çalıştır" ı tıklayın. Artık kalibre edilmiş ölçümleri gerçek zamanlı olarak 3B uzayda görebilirsiniz (resim 6.2, video 6.3, 6.4).
Bu eskizleri kullanarak manyetometre projeniz için kalibre edilmiş ölçümlerle algoritmayı kolayca yazabilirsiniz!