Mundarija:

Oson qattiq va yumshoq temir magnitometrni kalibrlash: 6 qadam (rasmlar bilan)
Oson qattiq va yumshoq temir magnitometrni kalibrlash: 6 qadam (rasmlar bilan)

Video: Oson qattiq va yumshoq temir magnitometrni kalibrlash: 6 qadam (rasmlar bilan)

Video: Oson qattiq va yumshoq temir magnitometrni kalibrlash: 6 qadam (rasmlar bilan)
Video: Спортчилар Бутун Умрга Шарманда Булди. Аниқ Бунақасини Кӯрмагансиз 2024, Noyabr
Anonim
Oson qattiq va yumshoq temir magnitometrni kalibrlash
Oson qattiq va yumshoq temir magnitometrni kalibrlash

Agar sizning sevimli mashg'ulotingiz RC, dronlar, robototexnika, elektronika, reallikni oshirish yoki shunga o'xshash bo'lsa, ertami -kechmi siz magnitometrni kalibrlash vazifasini bajarasiz. Har qanday magnitometr moduli sozlanishi kerak, chunki magnit maydonini o'lchash ba'zi buzilishlarga uchraydi. Bu buzilishlar ikki xil: qattiq temir va yumshoq temir buzilishlari. Bu buzilishlar haqidagi nazariyani bu erda topishingiz mumkin. Aniq o'lchovlarni olish uchun siz magnitometrni qattiq va yumshoq temir buzilishlari uchun sozlashingiz kerak. Bu ko'rsatma buni qanday qilishning oson yo'lini tasvirlab beradi.

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar

Uskuna:

  • HMC5883L magnitometr moduli
  • Arduino Mega 2560 kartasi

*Ammo siz buni boshqa magnitometr moduli yoki arduino kartasi uchun osonlikcha qabul qilishingiz mumkin.

Dasturiy ta'minot:

  • MagMaster
  • MagViewer

Dasturiy ta'minot:

    Arduino eskiz

*Bu eskiz HMC5883L moduli uchun yozilgan, lekin siz uni modul uchun osongina qabul qilishingiz mumkin.

Boshqalar:

  • Qog'oz qutisi
  • Non paneli
  • Simlar

2 -qadam: Kalibrlash qutisini yaratish

Kalibrlash qutisini yasash
Kalibrlash qutisini yasash

Kalibrlash jarayonida siz maxsus kalibrlash qutisini yasashingiz kerak (2.1 -rasm). Buni amalga oshirish uchun men qog'oz qutini ishlatardim, lekin siz plastik, yog'och bar yoki boshqa narsalarni ishlatishingiz mumkin. 2.1 -rasmda ko'rsatilgandek, magnitometr modulini quti bilan ulashingiz kerak (masalan, elim bilan). Qutining yuzlarida siz magnitometr modulining koordinata tizimiga muvofiq koordinata tizimini chizishingiz kerak.

3 -qadam: Elektr aloqasi

Elektr aloqasi
Elektr aloqasi
Elektr aloqasi
Elektr aloqasi

3.1 -rasmda ko'rsatilganidek, magnitometr moduli va arduino kartasini ulang. E'tibor bering, magnitometr modulining besleme zo'riqishi 3, 3 V bo'lishi mumkin (mening holatimda HMC5883L GY-273 versiyasida bo'lgani kabi).

4 -qadam: Dasturiy ta'minot va dasturiy ta'minotni o'rnatish

Dasturiy ta'minot va dasturiy ta'minotni o'rnatish
Dasturiy ta'minot va dasturiy ta'minotni o'rnatish

Dasturiy ta'minot va dasturiy ta'minotni bu yerdan yuklab oling. Bu arxivda fayllar mavjud:

  • MagMaster.exe - magnitometrni kalibrlash dasturi
  • MagViewer.exe - magnitometr o'lchovlarini vizualizatsiya qilish dasturi
  • Arduino_Code - kalibrlash jarayonining arduino eskizi
  • Arduino_Test_Results - kalibrlash natijalarini sinash uchun arduino eskizi
  • Arduino_Radius_Stabilisation - shar radiusini barqarorlashtirish algoritmi yordamida kalibrlash natijalarini sinash uchun arduino eskizi.
  • MagMaster fayllari va MagViewer fayllari - MagMaster.exe va MagViewer.exe uchun tizim fayllari.

Bu fayllarning barchasini istalgan papkaga nusxalash. Arduino kartasiga "Arduino_Code" eskizini yuklang. Bu arduino eskiziga HMC5883L kutubxonasi kerak bo'ladi, "HMC5883L" papkasini ("Arduino_Code" jildiga joylashtirilgan) eskizni yuklashdan oldin "C: / Program Files / Arduino / libraries" papkasiga ko'chiring.

5 -qadam: Kalibrlash

Kalibrlash
Kalibrlash
Kalibrlash
Kalibrlash
Kalibrlash
Kalibrlash
Kalibrlash
Kalibrlash

Kirish

Magnitometrni kalibrlash - bu konvertatsiya matritsasi va bir xillikni olish jarayoni.

Magnit maydonning kalibrlangan o'lchovlarini olish uchun siz ushbu transformatsiya matritsasi va dasturini ishlatishingiz kerak. O'z algoritmingizda magnitometr ma'lumotlarining kalibrlanmagan vektoriga (X, Y, Z koordinatalari) qarama -qarshilikni qo'llashingiz va keyin transformatsiya matritsasini shu vektorga ko'paytirishingiz kerak (5.4 -rasm). Ushbu hisob -kitoblarning C algoritmini "Arduino_Test_Results" va "Arduino_Radius_Stabilization" eskizlarida topishingiz mumkin.

Kalibrlash jarayoni

MagMaster.exe -ni ishga tushiring va arduino kartasining ketma -ket portini tanlang. Dastur oynasidagi yashil chiziqlar magnitometr vektorining koordinatalarini ko'rsatadi (5.1 -rasm).

Magnitometr modulini (biriktirilgan magnitometrli modulli kalibrlash qutisi) 5.2.1 -rasmda ko'rsatilgandek joylashtiring va "Axis X+" guruh qutisining "0 -nuqta" tugmasini bosing. E'tibor bering, kalibrlash qutisi belgilangan gorizontal tekislikka nisbatan harakatsiz emas. Keyin magnitometrni 5.2.2 -rasmda ko'rsatilgandek joylashtiring va "Axis X+" guruh qutisining "180 -nuqta" tugmachasini bosing va hokazo. Buni quyidagicha bajarish kerak (5.3 -rasmga qarang):

  • 5.2.1 -rasm: "0 -nuqta", "Eksa X+"
  • 5.2.2 -rasm: "180 -nuqta", "Eksa X+"
  • 5.2.3-rasm: "0-nuqta", "Eksa X-"
  • 5.2.4-rasm: "180-nuqta", "Eksa X-"
  • 5.2.5 -rasm: "0 -nuqta", "Eksa Y+"
  • 5.2.6 -rasm: "180 -nuqta", "Eksa Y+"
  • 5.2.7-rasm: "0-nuqta", "Eksa Y-"
  • 5.2.8-rasm: "180-nuqta", "Eksa Y-"
  • 5.2.9 -rasm: "0 -nuqta", "Eksa Z+"
  • 5.2.10 -rasm: "180 -nuqta", "Eksa Z+"
  • 5.2.11-rasm: "0-nuqta", "Eksa Z-"
  • 5.2.12-rasm: "180-nuqta", "Eksa Z-"

Siz jadvalni to'ldirishingiz kerak. Shundan so'ng, "O'zgartirish matritsasi va qiyaliklarini hisoblash" tugmachasini bosing va aylantirish matritsasi va burilishini oling (5.3 -rasm).

O'zgartirish matritsasi va tarafkashlik bor! Kalibrlash tugadi!

6 -qadam: Sinov va vizualizatsiya

Image
Image
Sinov va vizualizatsiya
Sinov va vizualizatsiya

Kalibrlanmagan o'lchov vizualizatsiyasi

Arduino taxtasiga "Arduino_Code" eskizini yuklang. MagViewer.exe -ni ishga tushiring, arduino kartasining ketma -ket portini tanlang (seriyali portning tezligi 9600 bps bo'lishi kerak) va "MagViewer -ni ishga tushirish" tugmasini bosing. Endi siz 3D maydonidagi magnitometr ma'lumotlar vektorining koordinatalarini real vaqtda ko'rishingiz mumkin (rasm 6.1, video 6.1, 6.2). Bu o'lchovlar kalibrlanmagan.

Kalibrlangan o'lchovlarni vizualizatsiya qilish

"Arduino_Radius_Stabilization" eskizini tahrirlang, odatiy o'zgartirish matritsasi va noto'g'ri ma'lumotlarini kalibrlash paytida olingan ma'lumotlar bilan almashtiring (sizning transformatsiya matritsasi va noto'g'ri). Arduino kartasiga "Arduino_Radius_Stabilization" eskizini yuklang. MagViewer.exe -ni ishga tushiring, ketma -ket portni tanlang (ovoz balandligi 9600 bps), "MagViewer -ni ishga tushirish" -ni bosing. Endi siz 3D maydonda kalibrlangan o'lchovlarni real vaqtda ko'rishingiz mumkin (6.2-rasm, 6.3, 6.4-video).

Ushbu eskizlar yordamida siz magnitometr loyihasining algoritmini kalibrlangan o'lchovlar bilan oson yozishingiz mumkin!

Tavsiya: