Operácie

MEMS 3D akcelerometer: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentDVPS (diskusia | príspevky)
Bez shrnutí editace
StudentDVPS (diskusia | príspevky)
Bez shrnutí editace
Riadok 105: Riadok 105:
Slave adresa (SAD) pridružená k LSM6DS0 je 110101xb. Ak je SDO/SA0 pin pripojený k zdroju napätia, LSB je '1' (adresa 1101011b), inak ak je SDO/SA0 pin pripojený k zemi, LSB hodnota "0" (adresa 1101010b). Toto riešenie umožňuje pripojiť sa a riešiť dve rôzne zotrvačné moduly na rovnakej zbernici I2C.  
Slave adresa (SAD) pridružená k LSM6DS0 je 110101xb. Ak je SDO/SA0 pin pripojený k zdroju napätia, LSB je '1' (adresa 1101011b), inak ak je SDO/SA0 pin pripojený k zemi, LSB hodnota "0" (adresa 1101010b). Toto riešenie umožňuje pripojiť sa a riešiť dve rôzne zotrvačné moduly na rovnakej zbernici I2C.  


[[Image:ReadWrite.jpg|450px]]
                                                    [[Image:ReadWrite.jpg|500px]]


Prenos dát potvrdením je povinný. Vysielač musí uvoľniť SDA linku počas potvrdzovací impulzu. Prijímač musí potom ťahať dátovej linky nízko, takže zostáva stabilný nízka aj na vysokú dobu impulzu potvrdí hodiny. Prijímač ktorá bola určená, povinnosť vygeneruje uznať za každý bajt prijatých dát. I2C vložený vnútri LSM6DS0 chová ako slave a nasledujúce protokol musia byť dodržané. Po počiatočnom stave (ST) otrokom adresa je odoslaná, akonáhle otrok potvrdenie (SAK) bola vrátená, sa prenáša 8-bitová sub-adresa (SUB). Prírastok adresy je nakonfigurovaný CTRL_REG8 (22h) (IF_ADD_INC). Otrok adresa je doplnená / zápis trochu čítanie. V prípade, že bol trochu '1' (Read), opakované START (SR) podmienka musí byť vydané po dvoch sub-adresy bajtov. Ak je bit je "0" (Write) veliteľ bude vysielať na slave s nezmeneným smerom. Tabuľka 15 vysvetľuje, ako je SAD + Read / Write-bitový vzorka skladá so zoznamom všetkých možných konfigurácií.
Prenos dát potvrdením je povinný. Vysielač musí uvoľniť SDA linku počas potvrdzovací impulzu. Prijímač musí potom ťahať dátovej linky nízko, takže zostáva stabilný nízka aj na vysokú dobu impulzu potvrdí hodiny. Prijímač ktorá bola určená, povinnosť vygeneruje uznať za každý bajt prijatých dát. I2C vložený vnútri LSM6DS0 chová ako slave a nasledujúce protokol musia byť dodržané. Po počiatočnom stave (ST) otrokom adresa je odoslaná, akonáhle otrok potvrdenie (SAK) bola vrátená, sa prenáša 8-bitová sub-adresa (SUB). Prírastok adresy je nakonfigurovaný CTRL_REG8 (22h) (IF_ADD_INC). Otrok adresa je doplnená / zápis trochu čítanie. V prípade, že bol trochu '1' (Read), opakované START (SR) podmienka musí byť vydané po dvoch sub-adresy bajtov. Ak je bit je "0" (Write) veliteľ bude vysielať na slave s nezmeneným smerom. Tabuľka 15 vysvetľuje, ako je SAD + Read / Write-bitový vzorka skladá so zoznamom všetkých možných konfigurácií.

Verzia z 10:31, 24. máj 2016

Autori: Eva Bartalová, Romana Čápková
Študijný odbor: Aplikovaná mechatronika a elektromobilita
Ročník: 1. ročník IŠ (2015/2016)

Zadanie

Využitím akcelerometra, ktorý sa nachádza na doske MEMS Inertial Nucleo navrhnite a vytvorte aplikáciu, ktorý bude merať zrýchlenie.

Úlohy:

  • Nájdite si k senzorom datasheet
  • Nájdite si schémy zapojenia dosky
  • Na základe predošlých vedomostí navrhnite spôsob pripojenia k riadiacej jednotke
  • Napíšte základný demonštračný program využívajúci vaše funkcie
  • Vymyslite a demonštrujte vhodnú aplikáciu


MEMS Inertial Nucleo

   

Zoznam senzorov, ktoré sa nachádzajú na doske:

  • LSM6DS0: MEMS 3D accelerometer (±2/±4/±8 g) + 3D gyroscope (±245/±500/±2000 dps)
  • LIS3MDL: MEMS 3D magnetometer (±4/ ±8/ ±12/ 16 gauss)
  • LPS25HB*: MEMS pressure sensor, 260-1260 hPa absolute digital output barometer
  • HTS221: capacitive digital relative humidity and temperature
                                                            


Literatúra:

  • Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.


Analýza riešenia

Na realizáciu akcelerometra sme využili senzor LSM6DS0.

Senzor LSM6DS0

LSM6DS0 je integrovaný obvod, ktorý zahŕňa 3D digitálny akcelerometer a 3D digitálny gyroskop. Jednotlivé snímače sú vyrábané pomocou špeciálnej techniky tzv. micromachining, zatiaľ čo rozhranie IC využíva CMOS technológiu. LSM6DS0 má dva režimy použitia. Prvý režim predstavuje aktiváciu akcelerometera a gyroskopu naraz na rovnakom ODR. Druhý režim predstavuje aktiváciu akcelerometera a deaktiváciu gyroskopu.

                                                          

LSM6DS0 je uložený v 3 mm x 3mm x 0.86 mm LGA púzdre.

Vlastnosti:

  • Analógové napájacie napätie: 1.71 V až 3.6 V
  • Nezávislé I/O napájanie (1.71 V)
  • Nízkovýkonový režim 1.8 mA
  • Meranie zrýchlenia v smere osi X,Y,Z
  • ±2/±4/±8/±16 g full scale
  • ±245/±500/±2000 dps full scale
  • SPI/I2C rozhranie
  • Vstavený snímač tepla
  • Vstavané FIFO


Vývody

                                                       

Popis jednotlivých pinov a ich funkcia:

                                                       

Registre

TODOOOOOOO

Sériové rozhrania

Registre vo vnútri senzora LSM6DS0 umožňujú prístup aj pre I2C a SPI sériové rozhranie. Pričom SPI môže byť nakonfigurovaný tak, aby SW pracovalo buď v 3-wire alebo 4-wire režime. Sériové rozhrania sú mapované na rovnakých pinoch. Pre využitie rozhrania I2C, musí byť pin CS pripojený k Vdd_IO.

Zbernica I2C

“Inter-Integrated Circuit” protokol a zbernicu vyvinula firma Philips Semiconductor pôvodne pre svoje TV prijímače v roku 1980, za účelom komunikácie medzi IO na jednej DPS pri použití minimálneho množstva pinov. Špecifikácia zbernice I2C je založená na jednoduchých hardvérových štandardoch (nie sú potrebné špeciálne konektory alebo kabeláž)

Základné pojmy

Pojem Opis
Master začína a končí dátový prenos generovaním štart bitu a stop bitu - generuje hodinový signál - vysiela adresu podriadeného IO, pre ktorý budú dáta určené - určuje smer prenosu dát
Slave odpovedá iba v prípade, že rozpoznal svoju adresu - časovanie prenosu je riadené hodinovým signálom

Existujú dva signály spojené s I2C zbernicou: Serial Clock Line (SCL - slúži pre prenos hodinového signálu) a Serial Data Line (SDA - slúži pre prenos sériových dát). SDA je obojsmerná linka, ktorá slúži na odosielanie a prijímanie dát do / z rozhrania. Obe linky musia byť pripojené k Vdd_IO prostredníctvom externého pull-up rezistorov.

Transakcia na zbernici je spustená pomocou signálu ŠTART (ST). Po štart podmienke sa vysiela na zbernicu 7bitove číslo – adresa SLAVE zariadenia (SAD) s ktorým chceme komunikovať – doplnené o najnižší bit, ktorý značí či chceme do zariadenia dáta zapisovať alebo z neho dáta prijímať (čítať).

Slave adresa (SAD) pridružená k LSM6DS0 je 110101xb. Ak je SDO/SA0 pin pripojený k zdroju napätia, LSB je '1' (adresa 1101011b), inak ak je SDO/SA0 pin pripojený k zemi, LSB hodnota "0" (adresa 1101010b). Toto riešenie umožňuje pripojiť sa a riešiť dve rôzne zotrvačné moduly na rovnakej zbernici I2C.

                                                    

Prenos dát potvrdením je povinný. Vysielač musí uvoľniť SDA linku počas potvrdzovací impulzu. Prijímač musí potom ťahať dátovej linky nízko, takže zostáva stabilný nízka aj na vysokú dobu impulzu potvrdí hodiny. Prijímač ktorá bola určená, povinnosť vygeneruje uznať za každý bajt prijatých dát. I2C vložený vnútri LSM6DS0 chová ako slave a nasledujúce protokol musia byť dodržané. Po počiatočnom stave (ST) otrokom adresa je odoslaná, akonáhle otrok potvrdenie (SAK) bola vrátená, sa prenáša 8-bitová sub-adresa (SUB). Prírastok adresy je nakonfigurovaný CTRL_REG8 (22h) (IF_ADD_INC). Otrok adresa je doplnená / zápis trochu čítanie. V prípade, že bol trochu '1' (Read), opakované START (SR) podmienka musí byť vydané po dvoch sub-adresy bajtov. Ak je bit je "0" (Write) veliteľ bude vysielať na slave s nezmeneným smerom. Tabuľka 15 vysvetľuje, ako je SAD + Read / Write-bitový vzorka skladá so zoznamom všetkých možných konfigurácií.

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, 1-wire, RS-232 a pod.)
  • 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

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

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.