Meteostanica s Nucleo Board: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 82: | Riadok 82: | ||
== '''Zbernica I2C''' == | == '''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. | 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. | ||
Obe linky musia byť pripojené na kladný pól napájacieho napätia prostredníctvom tzv. pull-up rezistorov (jedná sa vlastne o výstup typu otvorený kolektor). Tým je zabezpečená práca liniek SDA a SLC v obidvoch smeroch. Pokiaľ by došlo ku kolízii (chceli by vysielať viaceré obvody naraz), poškodili by sa iba úrovne signálu a nie vysielacie obvody. Spätnou väzbou je zaistené, že obvod môže pracovať aj ako vysielač, aj ako prijímač (obr. 1). | |||
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. | |||
Riadok 93: | Riadok 104: | ||
* priebehy dôležitých signálov | * priebehy dôležitých signálov | ||
* este jedna polozka | * este jedna polozka | ||
== '''Senzor HTS221''' == | == '''Senzor HTS221''' == |
Verzia z 10:24, 29. máj 2018
Balogh: * výborne opísané senzory, tak som si to predstavoval * výstup vlastne neviem aký by z toho mal byť * dokumentácia je zrejme nedokončená
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
Je MEMs inerciálna vývojová doska, ktorá môže byť použitá na rozšírenie systému SMT32 Nucleo. Je tiež kompatibilná s Arduino UNO R3.
- Obr. 1: Vývojová 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 (Arduino Compatible Robot)
Jedná sa o riadiacú jednotku s mikropocesorom ATmga328 s 32KB Flash pamäte, 2KB SRAM pamäte a 1 KB EEPROM pamäte. Dosku je možné programovať v jazyku C alebo Arduino a teda je možné ju programovať pomocou Arduino IDE.
- Obr. 2: Vývojová doska Acrob
Technické parametre vývojovej dosky nájdete tu: Klik
Basic Breakout 5V (Sparkfun DEV-09716) USB mini to serial 6pin
Jedná sa o plošnú dosku, ktorá obsahuje čip, ktorý umožňuje prevod USB na UART rozhranie.
- Obr. 3: Basic Breakout 5V
Technické parametre nájdete tu: klik
Analýza
Na realizáciu Meteostanice, ktorá bude merať teplotu vzduchu, atmosferický tlak a vlhkosť vzduchu sme využili senzor HTS221 a senzor LPS25HB* Na komunikáciu budeme využívať zbernicu I2C.
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.
Obe linky musia byť pripojené na kladný pól napájacieho napätia prostredníctvom tzv. pull-up rezistorov (jedná sa vlastne o výstup typu otvorený kolektor). Tým je zabezpečená práca liniek SDA a SLC v obidvoch smeroch. Pokiaľ by došlo ku kolízii (chceli by vysielať viaceré obvody naraz), poškodili by sa iba úrovne signálu a nie vysielacie obvody. Spätnou väzbou je zaistené, že obvod môže pracovať aj ako vysielač, aj ako prijímač (obr. 1).
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
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
Schéma zapojenia senzora (na vývojovej doske X-NUCLEO-IKS01A1):
Rozloženie pinov senzora:
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. Senzor taktiež umožňuje získavať dáta o teplote.
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
Schéma zapojenia senzora (na vývojovej doske X-NUCLEO-IKS01A1):
Rozloženie pinov senzora:
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.
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.
Zdrojový kód (Matlab): ZadanieGrafy.m
Vízia komplexnej aplikácie
TODO
Literatúra
- Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.