Мазмуну:

Оңой Hard жана Soft Темир Магнитометр Калибрлөө: 6 кадам (Сүрөттөр менен)
Оңой Hard жана Soft Темир Магнитометр Калибрлөө: 6 кадам (Сүрөттөр менен)

Video: Оңой Hard жана Soft Темир Магнитометр Калибрлөө: 6 кадам (Сүрөттөр менен)

Video: Оңой Hard жана Soft Темир Магнитометр Калибрлөө: 6 кадам (Сүрөттөр менен)
Video: Советы и лайфхаки с малярной лентой, о которых вы могли не знать 2024, Ноябрь
Anonim
Оңой Катуу жана Жумшак Темир Магнитометр Калибрлөө
Оңой Катуу жана Жумшак Темир Магнитометр Калибрлөө

Эгерде сиздин хоббиңиз RC, дрондор, робототехника, электроника, реалдуулукту жогорулатуу же ушуга окшош болсо, анда эртеби -кечпи сиз магнитометрди калибрлөө тапшырмасына жооп бересиз. Кандайдыр бир магнитометрдин модулу калибрлениши керек, анткени магнит талаасынын өлчөөсү кээ бир бурмалоолорго дуушар болот. Бул бурмалоолордун эки түрү бар: катуу темир бурмалоо жана жумшак темир бурмалоо. Бул бурмалоолор жөнүндө теорияны бул жерден таба аласыз. Так өлчөөлөрдү алуу үчүн магнитометрди катуу жана жумшак темирдин бузулушу үчүн калибрлөө керек. Бул нускамада муну кантип жасоонун оңой жолу сүрөттөлгөн.

1 -кадам: Сизге керектүү нерселер

Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер

Аппараттык:

  • HMC5883L магнитометр модулу
  • Arduino Mega 2560 тактасы

*Бирок сиз бул инструкцияны башка магнитометр модулу же arduino тактасы үчүн оңой эле кабыл ала аласыз.

Программалык камсыздоо:

  • MagMaster
  • MagViewer

Камтылган программа:

    Arduino Sketch

*Бул эскиз HMC5883L модулу үчүн жазылган, бирок сиз аны модулуңузга оңой эле кабыл ала аласыз.

Башкалар:

  • Кагаз куту
  • Breadboard
  • Зымдар

2 -кадам: Калибрлөө кутучасын жасоо

Калибрлөө кутучасын жасоо
Калибрлөө кутучасын жасоо

Калибрлөө процесси үчүн атайын калибрлөө кутучасын жасоо керек (2.1 -сүрөт). Муну жасоо үчүн мен кагаз кутучаны колдондум, бирок сиз пластикти, жыгач таякчаны же башка нерсени колдонсоңуз болот. Сиз 2.1 -сүрөттө көрсөтүлгөндөй, магнитометр модулун кутучага (мисалы, клей менен) кошушуңуз керек. Кутунун жүздөрүндө магнитометр модулунун координаттар системасына ылайык координаттар системасын чийиш керек.

3 -кадам: Электр туташуусу

Электр байланышы
Электр байланышы
Электр байланышы
Электр байланышы

3.1 -сүрөттө көрсөтүлгөндөй магнитометр модулун жана arduino тактасын туташтырыңыз. Магнитометр модулунун камсыздоо чыңалуусу 3, 3 V болушу мүмкүн экенин эске алыңыз (менин жагдайымда HMC5883L GY-273 версиясы сыяктуу).

4 -кадам: Программаны жана жабдыкты орнотуу

Программаны жана Программаны орнотуу
Программаны жана Программаны орнотуу

Программаны жана программаны бул жерден жүктөп алыңыз. Бул архивде файлдар бар:

  • MagMaster.exe - магнитометрдин калибрлөө программасы
  • MagViewer.exe - магнитометрдин өлчөө визуалдаштыруу программасы
  • Arduino_Code - калибрлөө процесси үчүн arduino эскизи
  • Arduino_Test_Results - калибрлөө жыйынтыктарын текшерүү үчүн arduino эскизи
  • Arduino_Radius_Stabilisation - сфера радиусун турукташтыруу алгоритми менен калибрлөө жыйынтыгын текшерүү үчүн arduino эскизи
  • MagMaster Files жана MagViewer Files - MagMaster.exe жана MagViewer.exe үчүн тутумдук файлдар

Бул файлдардын бардыгын каалаган папкага көчүрүү. "Arduino_Code" эскизин arduino тактасына жүктөңүз. Бул arduino эскизи HMC5883L китепканасын талап кылат, эскиз жүктөө алдында "HMC5883L" папкасын ("Arduino_Code" папкасына жайгаштырылган) "C: / Program Files / Arduino / libraries" папкасына көчүрүңүз.

5 -кадам: Калибрлөө

Калибрлөө
Калибрлөө
Калибрлөө
Калибрлөө
Калибрлөө
Калибрлөө
Калибрлөө
Калибрлөө

Киришүү

Магнитометрди калибрлөө - бул трансформациялоо матрицасын жана бир жактуу болуу процесси.

Магнит талаасынын калибрленген өлчөөлөрүн алуу үчүн программаңызда бул трансформациялоочу матрицаны жана бир жактуу колдонушуңуз керек. Алгоритмде сиз калибрленбеген магнитометрдин маалыматтарынын векторуна (X, Y, Z координаттары) бир жактуу кайрылыңыз жана андан кийин трансформациялоо матрицасын ушул векторго көбөйтүңүз (5.4 -сүрөт). Бул эсептөөлөрдүн C алгоритмин "Arduino_Test_Results" жана "Arduino_Radius_Stabilization" эскиздеринен таба аласыз.

Калибрлөө процесси

MagMaster.exe иштетип, arduino тактасынын сериялык портун тандаңыз. Программанын терезесиндеги жашыл саптар магнитометрдин векторунун координаттарын көрсөтөт (5.1 -сүрөт).

Магнитометр модулун (тиркелген магнитометр модулу бар калибрлөө кутусу) 5.2.1 -сүрөттө көрсөтүлгөндөй жайгаштырыңыз жана "Axis X+" тобунун кутусунун "0 чекити" баскычын басыңыз. Белгилей кетсек, калибрлөө кутусу туруктуу горизонталдык тегиздикке салыштырмалуу туруктуу эмес. Андан кийин магнитометрди 5.2.2 сүрөттө көрсөтүлгөндөй коюп, "Axis X+" groupboxтун "Point 180" баскычын чыкылдатыңыз ж.б.у.с. Сиз муну төмөнкүдөй кылышыңыз керек (5.3 -сүрөттү да караңыз):

  • 5.2.1 -сүрөт: "0 -пункт", "Ок X+"
  • 5.2.2 -сүрөт: "Пункт 180", "Октун X+"
  • 5.2.3-сүрөт: "0-пункт", "Ок огу X-"
  • 5.2.4-сүрөт: "Пункт 180", "Ок огу X-"
  • 5.2.5 -сүрөт: "0 -пункт", "Ок+Y"
  • 5.2.6 -сүрөт: "Пункт 180", "Ок+Y"
  • 5.2.7-сүрөт: "0-пункт", "Ок огу-"
  • 5.2.8-сүрөт: "Пункт 180", "Ок огу-"
  • 5.2.9 -сүрөт: "0 чекити", "Ок огу Z+"
  • 5.2.10 -сүрөт: "Пункт 180", "Ок огу Z+"
  • 5.2.11-сүрөт: "0-пункт", "Ок огу Z-"
  • 5.2.12-сүрөт: "Пункт 180", "Ок огу Z-"

Сиз үстөлдү толтурушуңуз керек. Андан кийин "Трансформация матрицасын жана жактуулугун эсептөө" баскычын чыкылдатып, трансформация матрицасын жана бир жактуу болууну алыңыз (5.3 -сүрөт).

Трансформациялоо матрицасы жана жактуулугу бар! Калибрлөө аяктады!

6 -кадам: Тестирлөө жана визуалдаштыруу

Image
Image
Тестирлөө жана визуалдаштыруу
Тестирлөө жана визуалдаштыруу

Калибрленбеген өлчөөлөрдүн визуализациясы

"Arduino_Code" эскизин arduino тактасына жүктөңүз. MagViewer.exe файлын иштетип, arduino тактасынын сериялык портун тандаңыз (сериялык порттун ылдамдыгы 9600 bps болушу керек) жана "Run MagViewer" баскычын басыңыз. Эми сиз магнитометрдин маалымат векторунун координаттарын 3D мейкиндигинде реалдуу убакытта көрө аласыз (сүрөт 6.1, видео 6.1, 6.2). Бул өлчөөлөр калибрленбеген.

Калибрленген өлчөөлөрдүн визуализациясы

"Arduino_Radius_Stabilization" эскизин түзөтүңүз, демейки трансформация матрицасын жана бир жактуу маалыматтарды калибрлөө учурунда алган маалыматыңызга алмаштырыңыз (сиздин трансформация матрицаңыз жана бир жактуу). "Arduino_Radius_Stabilization" эскизин arduino тактасына жүктөңүз. MagViewer.exe иштетүү, сериялык портту тандоо (boud ылдамдыгы 9600 bps), "Run MagViewer" чыкылдатуу. Эми сиз 3D мейкиндигиндеги калибрленген өлчөөлөрдү реалдуу убакытта көрө аласыз (сүрөт 6.2, видео 6.3, 6.4).

Бул эскиздерди колдонуу менен сиз калибрленген өлчөөлөр менен магнитометр долбооруңуздун алгоритмин оңой жаза аласыз!

Сунушталууда: