Operácie

Meteostanica s Nucleo Board

Zo stránky SensorWiki

Autori: Kamila Vavríková, Martin Herceg
Študijný odbor: Aplikovaná mechatronika a elektromobilita 1. Ing. (2018)



Zadanie

Využitím dosky X. MEMS Inertial Nucleo board zostavte Meteostanicu, ktorá bude merať teplotu vzduchu, vlhkosť vzduchu a atmosferický tlak.


Ú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


Komponenty

Na vypracovanie sme použili nasledujúce komponenty:

  • 1 x Vývojovú dosku X-NUCLEO-IKS01A1
  • 1 x Vývojová doska Acrob
  • 1 x Basic Breakout 5V (Sparkfun DEV-09716) USB mini to serial 6pin
  • 1 x Mini USB kábel
  • Prepojovacie kábliky
  • Software - Arduino IDE


Doska X-NUCLEO-IKS01A1


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


Vývojová doska Acrob


Technické parametre vývojovej dosky nájdete tu: Klik

Basic Breakout 5V (Sparkfun DEV-09716) USB mini to serial 6pin

Technické parametre nájdete tu: klik


Médiá:MojZdrojak.c


Literatúra:

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


Analýza

Senzor HTS221

HTS221 sníma relatívnu vlhkosť a teplotu vzduchu. Obsahuje snímač a zmiešaný signál ASIC na poskytovanie informácií o meraní prostredníctvom digitálnych sériových rozhraní. Snímač pozostáva z dielektrickej štruktúry kondenzátora, ktorá je schopná detekovať zmeny relatívnej vlhkosti.

Parametre:

  • Napájacie napätie: 1,7 až 3,6 V
  • Prevádzková teplota: -40 až +120 °C
  • Rozsah merania vlhkosti: 0 až 100%
  • Presnosť merania teploty: ±0,5 °C, 15 až +40°C
  • Presnosť merania vlhkosti: ±3.5% rH, 20 až 80% rH

Senzor LPS25HB*

LPS25HB je piezoelektrický snímač absolútneho tlaku, ktorý funguje ako digitálny výstupný barometer. Zariadenie obsahuje senzorový prvok a rozhranie IC, ktoré komunikuje cez I2C alebo SPI zo snímacieho prvku s aplikáciou.

Parametre:

  • Napájacie napätie: 1,7 až 3,6 V
  • Prevádzková teplota: -30 až +105 °C
  • Rozsah merania tlaku: 260 až 1260 hPa
  • Presnosť merania tlaku: ±1 hPa, 0 až +80°C

Sériové rozhranie

TODO


Zbernica I2C

I2C je dvojvodičová obojsmerná sériová zbernica používajúca vodiče SCL a SDA. Úlohou SCL vodiča je prenášať hodinové signály, úlohou SDA vodiča je prenášať sériové dáta. Na komunikáciu využíva master - slave komunikáciu. V našom projekte je doska Acrob master a senzory HTS221 a LPS25HB* sú podriadené (slave). Master môže z podriadeného zariadenia údaje čítať alebo naň údaje zapisovať. Prenos údajov môže začať iba Master zariadenie.


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

Riešenie

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

Súbor:Example.jpg

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

Jednotlivé merané veličiny boli vykreslené v prostredí Matlab. Každá veličina je vykreslená samostatne kvôli rôznemu rozsahu osi y.

Matlab kód: ZadanieGrafy.m