[ Príspevok: 1 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 07.08.22
Príspevky: 441
Témy: 194 | 194
Bydlisko: Poprad-okolie

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


 [ Príspevok: 1 ] 


Prepočet atmosférického tlaku na hladinu mora - Bosch BMP/BME



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

1340

17.10.2007 19:34

sINN3r

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

EXCEL - prepocet meny

v Ostatné programy

2

5194

28.07.2009 17:19

PaloPa

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

Excel - podmienka na prepočet meny

v Ostatné programy

0

388

03.05.2017 15:54

McLovin

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

635

17.09.2011 14:36

ViVe®s

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

P: Bosch Tassimo

v Predám

4

427

12.10.2012 17:31

XZKX

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

BMP studio

v Audio programy

6

506

13.02.2010 17:41

marian9797

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

453

01.02.2017 17:10

T.C.B.E.E

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

bosch go skrutkovacka 35e

v Výhodné ponuky

7

1151

24.11.2018 18:44

Miso122

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

obrazok-bmp format

v PHP, ASP

1

375

24.03.2009 18:49

Tominator

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

Zmena veľkosti bmp obrázka

v PHP, ASP

12

744

02.03.2009 7:18

Flety

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

BMP to binary code

v Ostatné programy

2

621

08.09.2008 15:53

apatka

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

303

06.01.2017 18:33

MakeLove

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

720

13.08.2016 23:39

SKiLEX

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

Delphi: label k obrazku bmp

v Delphi, Visual Basic

1

820

09.12.2008 17:28

skreko

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

Free 24x24 iconky (vo formate bmp)

v Ostatné

2

682

20.12.2010 18:07

jablko05



© 2005 - 2022 PCforum, edited by JanoF