Navigačná aplikácia s kompasom HMC5883L: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 37: | Riadok 37: | ||
==== Popis vývodov ==== | ==== Popis vývodov ==== | ||
[[Súbor: | [[Súbor:HMC5883L-pinout.png|300px|right||thumb|HMC5883L Pinout]] | ||
{| | {| | ||
Riadok 45: | Riadok 45: | ||
|---- | |---- | ||
|1 | |1 | ||
| | |SCL | ||
| | |Hodinový signál I2C zbernice | ||
|---- | |---- | ||
|2 | |2 | ||
| | |VDD | ||
|Napájacie napätie | |Napájacie napätie | ||
|---- | |---- | ||
|3 | |3 | ||
| | |NC | ||
| | |Nepripojené | ||
|---- | |---- | ||
|4 | |4 | ||
| | |S1 | ||
| | |Napätie IO obvodov | ||
|---- | |---- | ||
|5 | |5 | ||
| | |NC | ||
| | |Nepripojené | ||
|---- | |---- | ||
|6 | |6 | ||
| | |NC | ||
| | |Nepripojené | ||
|---- | |---- | ||
|7 | |7 | ||
| | |NC | ||
| | |Nepripojené | ||
|---- | |---- | ||
|8 | |8 | ||
| | |SETP | ||
| | |Set/Reset | ||
|---- | |---- | ||
|9 | |9 | ||
| | |GND | ||
| | |Pripojenie na zem | ||
|---- | |---- | ||
|10 | |10 | ||
| | |C1 | ||
| | |Stabilizačný kondenzátor | ||
|---- | |---- | ||
|11 | |11 | ||
| | |GND | ||
| | |Pripojenie na zem | ||
|---- | |---- | ||
|12 | |12 | ||
|SETC | |||
|Set/Reset kondenzátor | |||
|---- | |||
|13 | |||
|VDDIO | |||
|Napätie 1.71V IO obvodov | |||
|---- | |||
|14 | |||
|NC | |NC | ||
|Nepripojené | |Nepripojené | ||
|---- | |||
|15 | |||
|DRDY | |||
|Pin prerušenia | |||
|---- | |||
|16 | |||
|SDA | |||
|Dátová linka I2C zbernice | |||
|---- | |---- | ||
|} | |} |
Verzia z 21:10, 31. máj 2016
Autori: | Peter Griger, Ivan Beliansky | |
Študijný odbor: | Aplikovaná mechatronika a elektromobilita | 1. Ing. (2016) |
Zadanie
Pomocou troj osého magnetometra HMC5883L vytvorte aplikáciu ktorá bude slúžiť ako smerový navigačný systém.
Body zadania:
- K použitému senzoru nájdite datasheet a preštudujte jeho štruktúru, spôsob pripojenia, komunikácie, a čítania dát.
- Na základe predošlých vedomostí navrhnite spôsob pripojenia k vhodnej riadiacej jednotke.
- Napíšte program v prostredí Arduino zabezpečujúci:
- Komunikáciu so snímačom
- Načítanie a spracovanie potrebných dát
- Vyhodnotenie a prezentácia údajov v reálnom čase
- Dokumentáciu odovzdajte prostredníctvom tejto wiki stránky.
Literatúra:
- Product page
- Datasheet 3D magnetometra HMC5883L
- Návod na prepočet získaných dát na stupne
- I2C zbernica
- I2C/TWI pre Arduino
Analýza
Použitý senzor
HMC5883L je senzor na snímanie slabých magnetických poli využívaný v magnetografii alebo ako kompas. Obsahuje trojicu magnetorezistívnych senzorov HMC118X, obvody pre spracovanie výsledkov a úpravu vlastností senzora, I2C rozhranie a 12 bitový analógovo-číselný prevodník ktorý zabezpečuje smerovú presnosť 1° až 2° pri rozsahu ±8Gs.Využíva jav anizotropickej magnetorezistivity čo zabezpečuje linearitu a vysokú citlivosť pre každú os. HMC5883L je vyrábaný firmou Honeywell v púzdre LPCC-16 s rozmermi 3,0mm x 3,0mm x 0,9mm.
OBRˇAZOK DIAGRAM
Popis vývodov
C | Pin | Funkcia |
1 | SCL | Hodinový signál I2C zbernice |
2 | VDD | Napájacie napätie |
3 | NC | Nepripojené |
4 | S1 | Napätie IO obvodov |
5 | NC | Nepripojené |
6 | NC | Nepripojené |
7 | NC | Nepripojené |
8 | SETP | Set/Reset |
9 | GND | Pripojenie na zem |
10 | C1 | Stabilizačný kondenzátor |
11 | GND | Pripojenie na zem |
12 | SETC | Set/Reset kondenzátor |
13 | VDDIO | Napätie 1.71V IO obvodov |
14 | NC | Nepripojené |
15 | DRDY | Pin prerušenia |
16 | SDA | Dátová linka I2C zbernice |
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.
Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo nahrať už aspoň 10 študentov.
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
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.