Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 18.01.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 18.05.2019 1:14

Dnes niečo z praktického súdka. Každý správny Arduinista začne prvým zložitejším projektom - meteostanicou.
Meteostanica by mala vo svojej minimálnej funkčnosti snímať aspoň 3 veličiny:

    Teplotu
    Atmosférický tlak
    Vlhkosť vzduchu
Obľúbenými vylepšeniami môže byť aj záznam ďalších veličín:
    Intenzita osvetlenia
    čas východu a západu Slnka
    kvalita ovzdušia
    rýchlosť vetra
    množstvo zrážok
Záznam údajov s využitím štandardných barometrov znamená vo výsledku meranie absolútneho atmosférického tlaku, to znamená tlak v aktuálnej nadmorskej výške. Tu nastáva problém, keďže z nameraných údajov nie je zrejmé, či sa jedná o vysoký, alebo naopak nízky atmosférický tlak. Riešenie spočíva v možnosti prepočítať absolútny atmosférický tlak na relatívny, teda na úrovni mora.
Prepočet atmosférického tlaku na hladinu mora - Bosch BMP/BME
Najpoužívanejšie barometre od Boschu - cenovo dostupné senzory BME280 (záznam teploty, vlhkosti, atmosférického tlaku, nadmorskej výšky), BMP280 (záznam teploty, atmosférického tlaku, nadmorskej výšky) dokážu túto konverziu vykonať vďaka nameraným údajom.

Najčastejšie sa využívajú 3 vzorce prepočtu pre BM(X) senzory:

    relativny_t = abs_t / pow(1 - ((0.0065 * nadm_vyska) / (teplota + (0.0065 * nadm_vyska) + 273.15)), 5.257)
    relativny_t = abs_t / pow(1.0 - nadm_vyska/ 44330.0, 5.255)
    relativny_t = abs_t / pow(1.0 - 0.0065 * nadm_vyska/ (teplota + 273.15), 5.255)
    Vysvetlivky:
    relativny_t = relatívny tlak (na hladine mora)
    abs_t = absolútny tlak (nameraný)
    nadm_vyska = nadmorská výška
    teplota = zaznamenaná teplota
Druhý vzorec, určený pre interiér nepoužíva pre výsledný tlak nameranú teplotu, nakoľko tá je vnútorná a nie vonkajšia. Vo výsledku by bolo meranie nepresné a neodpovedalo by skutočnosti (vo výsledku sú vzorce totožné, druhý vzorec je implementácia teploty 15°C).

Programovaná implementácia pre Arduino (príklad pre BMP280):

Kód:
#include "Adafruit_BMP280.h"
#include <Adafruit_Sensor.h>
Adafruit_BMP280 bmp;
void setup() {
  bmp.begin();
  Serial.begin(115200);
}


void loop() {
  float teplota = bmp.readTemperature();
  float tlak = bmp.readPressure() / 100;
  float nadmorska_vyska = bmp.readAltitude(1013.25);
  float tlak_hladina_mora = tlak / pow(1 - ((0.0065 * nadmorska_vyska) / (teplota + (0.0065 * nadmorska_vyska) + 273.15)), 5.257);
  float tlak_hladina_mora2 = tlak / pow(1.0 - nadmorska_vyska / 44330.0, 5.255);
  float tlak_hladina_mora3 = tlak / pow(1.0 - 0.0065 * nadmorska_vyska / (teplota + 273.15), 5.255);
  Serial.print("Teplota = ");
  Serial.print(teplota);
  Serial.println(" *C");

  Serial.print("Absolutny tlak = ");
  Serial.print(tlak);
  Serial.println(" hPa");

  //RELATIVNY TLAK --> prepocitany na hladinu mora bosch vzorcom
  Serial.print("Relativny tlak (origo Bosch vzorec) = ");
  Serial.print(tlak_hladina_mora);
  Serial.println(" hPa");

  Serial.print("Relativny tlak (upraveny Bosch vzorec 2 - najviac odpoveda skutocnosti z merani) = ");
  Serial.print(tlak_hladina_mora2);
  Serial.println(" hPa");

  Serial.print("Relativny tlak (upraveny Bosch vzorec 3) = ");
  Serial.print(tlak_hladina_mora3);
  Serial.println(" hPa");

  Serial.print("Nadmorska vyska = ");
  Serial.print(nadmorska_vyska); /* Adjusted to local forecast! */
  Serial.println(" m.n.m");

  Serial.println();
  delay(10000);
}

Výstup programu do Serial monitoru bude vyzerať cca následovne:
Prepočet atmosférického tlaku na hladinu mora - Bosch BMP/BME
Nameraná hodnota v druhom vzorci (meral som v interiéri) najviac zodpovedala skutočnosti. Blízka meteostanica hlásila 1013,01hPa. Odchýlka v ostatných vzorcoch je spôsobená využitím nameranej teploty v interiéri, ktorá ovlyvní výslednú konverziu.

Zapojenie:
    Arduino (AtMega328P compatible) BME/BMP
    Vcc --> Vcc
    GND --> GND
    A4 (Hardware SDA) --> SDA
    A5 (Hardware SCL) --> SCL
Pozor! Niektoré BME a BMP senzory sú iba na 3.3V, čo vyžaduje konverziu aj SDA/SCL pinov na 3.3V napäťovým deličom pri použití 5V Arduina.
Tester pre BMP280 je dostupný na Githube v mojom repozitári: https://github.com/martinius96/BMP-280-tester
Tester pre BME280 je dostupný na Githube v mojom repozitári: https://github.com/martinius96/BME-280-tester
V prípade záujmu môžete navštíviť aj môj web s mojom implementáciou meteostanice: https://arduino.php5.sk/meteostanica-arduino.php
Prepočet atmosférického tlaku na hladinu mora - Bosch BMP/BME


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Vigor 2600 g + NETBOX = moja nocna mora

v Siete

10

1414

17.10.2007 19:34

sINN3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. EXCEL - prepocet meny

v Ostatné programy

2

5434

28.07.2009 17:19

PaloPa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Algoritmus na prepočet najkratšej trasy

v Assembler, C, C++, Pascal, Java

2

714

17.09.2011 14:36

ViVe®s Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Excel - podmienka na prepočet meny

v Ostatné programy

0

473

03.05.2017 15:54

McLovin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. BMP studio

v Audio programy

6

598

13.02.2010 17:41

marian9797 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. obrazok-bmp format

v PHP, ASP

1

440

24.03.2009 18:49

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. P: Bosch Tassimo

v Predám

4

515

12.10.2012 17:31

XZKX Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. P: Bosch Tassimo kavovar

v Predám

3

557

01.02.2017 17:10

T.C.B.E.E Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmena veľkosti bmp obrázka

v PHP, ASP

12

849

02.03.2009 7:18

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. BMP to binary code

v Ostatné programy

2

700

08.09.2008 15:53

apatka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. bosch go skrutkovacka 35e

v Výhodné ponuky

7

1269

24.11.2018 18:44

Miso122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi: label k obrazku bmp

v Delphi, Visual Basic

1

902

09.12.2008 17:28

skreko Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. D: úmyvačka riadu - Bosch SGS 43E32EU

v Vymením a darujem

3

861

13.08.2016 23:39

SKiLEX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free 24x24 iconky (vo formate bmp)

v Ostatné

2

857

20.12.2010 18:07

jablko05 Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. P: príklepová vŕtačka Bosch PSB5000 RE

v Predám

0

397

06.01.2017 18:33

MakeLove Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vodováhy Bosch - SADA 3ks 120cm/60cm/25cm

v Výhodné ponuky

4

905

14.03.2023 7:49

JanoF Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra