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
Literatúra:
- Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.
Analýza
Na realizáciu Meteostanice, ktorá bude merať teplotu vzduchu, atmosferický tlak a vlhkosť vzduchu sme využili senzory HTS221 a LPS25HB*
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. Na komunikáciu používa I2C alebo SPI zbernicu.
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.
Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo nahrať už aspoň 10 študentov.
![](/sensorwiki/images/thumb/3/31/MojObrazok.jpg/250px-MojObrazok.jpg)
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
Jednotlivé merané veličiny boli vykreslené v prostredí Matlab. Každá veličina je vykreslená samostatne kvôli rôznemu rozsahu osi y.
-
Teplota vzduchu
-
Vlhkost vzduchu
-
Tlak vzduchu
Matlab kód: ZadanieGrafy.m