Operácie

IMU jednotka s 10DOF

Z SensorWiki

Autori: Martin Supek, Zdenko Pucovski
Študijný odbor: Aplikovaná mechatronika a elektromobilita 1. Ing. (2019)



Zadanie

Úlohou bolo oboznámiť sa s princípom senzora Adafruit IMU 10DOF.

Pripojiť ho k mikrokontroléru a vyčítať s neho dáta ktoré sa potom pomocou zvoleného súboru obj. zobrazia ako vizualizačná aplikácia.



Použité zariadenia

Senzor Adafruit IMU 10DOF

Inerciálna pohybová jednotka (IMU) je elektronické senzorové zariadenie obsahujúce niekoľko senzorov - akcelerometer, gyroskop či magnetometer (kompas).

Je to dôležitý komponent riadenia lietajúcich strojov, ale stáva sa aj súčasťou autonómnych automobilov či spotrebnej elektroniky.

Senzor imu.jpg


Všetky snímače na Adafruit 10DOF komunikujú cez I2C zbernicu. Vďaka tomu je jednoduché nastavenie s minimálnym počtom káblov.

Táto doska využíva existujúce Adafruit ovládače pre LSM303DLHC (akcelerometer a magnetometer), L3GD20 (gyroskop) a BMP180 (snímač tlaku / nadmorskej výšky).



Príručky použitých ovládačov:

 LSM303DLHC
 L3GD20
 BMP180


Arduino UNO

Vývojová doska s mikroprocesorom ATmega328P s 32KB Flash pamäte, 1 KB EEPROM, 2KB SRAM pamäte.

Softvér na programovanie používame Arduino IDE.

Arduino-uno-r3-development-board.jpg


Médiá:MojZdrojak.c


Literatúra:

Datasheet Adafruit 10DOF

IMU 10DOF Manual

https://learn.adafruit.com/ahrs-for-adafruits-9-dof-10-dof-breakout/visualizing-data?fbclid=IwAR3zc6-GW1_TjWuEX6jwo6jEN9aT7xU3RGTmduINXHhos84VY7UjXYnFOTo

https://en.wikipedia.org/wiki/Attitude_and_heading_reference_system

Analýza

V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje, ktoré sú potrebné na úspešné vyriešenie projektu. Napríklad:

  • popis komunikačnej zbernice:

I2C je počítačová zbernica, vyvinutá firmou Philips. Používa sa na pripojenie rôznych periférií, pričom na prenos údajov sa používajú dva vodiče.

Komunikácia prebieha tak, že jedno zariadenia hrá úlohu mastera (ovláda ostatné) a ostatné zariadenia hrajú úlohu slave.

V našom prípade budeme predpokladať, že master je Arduino. Slave bude náš senzor.

Master - Zahajuje komunikáciu a aktívne posiela alebo číta z podriadených zariadení. Master pozná adresu každého zariadenia a keď potrebuje osloviť konkrétne zariadenie, urobí to pomocou tejto adresy. Slave - Takéto zariadenia čaká na svoje oslovenie a keď ho master osloví, podľa okolnosti si len prečíta, čo za údaje dostalo, alebo odpovie nejakými inými údajmi.

  • obrázok zapojenia vývodov použitej súčiastky
  • odkaz na katalógový list
  • priebehy dôležitých signálov
  • este jedna polozka

Popis riešenia

Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru (nezabudnite na schému zapojenia!) a zdôraznite ktoré jeho periférie ste pritom využili.

Schéma zapojenia snímača Zapojenie.png

Zapojeniee.jpg


Stihacka.png



Algoritmus a program

Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. Je vhodné nakresliť aspoň hrubú štruktúru programu napríklad vo forme vývojového diagramu. Rozsiahly program pre lepšiu prehľadnosť rozdeľte do viacerých súborov.

Vyberte podstatné časti zdrojového kódu, použite na to prostredie source:

/* A nezabudnite zdroják hojne komentovať  */

int main(void) {
    
    printf("Hello, World!\n");  
    return(0);  
}

Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!

Zdrojový kód: serial.h a main.c

program.c



Overenie

Nezabudnite napísať čosi ako užívateľský návod. Z neho by malo byť jasné čo program robí, ako sa prejavuje a aké má užívateľské rozhranie (čo treba stlačiť, čo sa kde zobrazuje). Ak ste namerali nejaké signály, sem s nimi. Ak je výsledkom nejaký údaj na displeji, odfotografujte ho.

Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.


Späť na zoznam projektov...