BMP 280 kontra BME280
BMP 280 kontra BME280
Hraju si tu s senzorem BMP 280 . I když mám stejnou sestavu jako na Trubce, nepodařilo se mi měření s Adafruit BMP 280 knihovnou zprovoznit. Problematiku adresy I2C 76h nebo 77h znám, v ní problém nemám. Nakonec jsem použil Sparkfun BME 280 knihovnu, s ní to jelo na první dobrou. Není náhodou problém, že Adafruit knihovna je ušitá na Adafruit senzor, který má navíc tranzistorový převodníky úrovní I2C a ten můj je nemá? Ty tranzistory by mohly invertovat úrovně I2C...
A ještě jedna zvláštnost. Objednal jsem BMP280 a na desce je popis BMP 280. Když jsem senzor zkoušel výpisem příkladu co byl u knihovny Sparkfun, vypisovala se mi i vlhkost. Je to zvláštní, vlhkost přeci má jen BME 280. A ještě podivnější je, že vlhkost byla asi o 3 procenta vedle než jiný vlhkoměr a když jsem na senzor dýchl, vlhkost letěla nahoru k 85% i když se teplota a tlak téměř nezměnil.
Jak to tedy je? Nejsou náhodou BMP 280 po vlhkostní stránce mimotolerantní BME 280? A nebo se prostě čínskej soudruh nebo dítě spletlo a osadilo jinej?
Asi na tom něco bude, senzor mi vrací id = 60h což je BME 280, BMP 280 má id = 58. Divný, i na pouzdře senzoru je vyraženo BMP280.
Bastlení zdar!
Jirka
A ještě jedna zvláštnost. Objednal jsem BMP280 a na desce je popis BMP 280. Když jsem senzor zkoušel výpisem příkladu co byl u knihovny Sparkfun, vypisovala se mi i vlhkost. Je to zvláštní, vlhkost přeci má jen BME 280. A ještě podivnější je, že vlhkost byla asi o 3 procenta vedle než jiný vlhkoměr a když jsem na senzor dýchl, vlhkost letěla nahoru k 85% i když se teplota a tlak téměř nezměnil.
Jak to tedy je? Nejsou náhodou BMP 280 po vlhkostní stránce mimotolerantní BME 280? A nebo se prostě čínskej soudruh nebo dítě spletlo a osadilo jinej?
Asi na tom něco bude, senzor mi vrací id = 60h což je BME 280, BMP 280 má id = 58. Divný, i na pouzdře senzoru je vyraženo BMP280.
Bastlení zdar!
Jirka
Re: BMP 280 kontra BME280
BME280 měří teplotu a vlhkost, BMP280 teplotu, vlhkost a tlak. To že se rozchází o 3%RH je ještě celkem dobré číslo. Při porovnávání dvou čidel vlhkosti je třeba je umístit co nejblíže k sobě, pokud možno do stejné polohy (orientace snímače), nesvítit na čidla (BMx280 je citlivé na světlo). Nechat je alespoň 48hodin ustálit, a teprve potom porovnat hodnoty. Když jsem porovnával BME280 s přesnějším čidlem SI7021, tak to dopadlo takto (teplota změřená originál Dallasem DS18B20 byla 24.55"C):
Re: BMP 280 kontra BME280
Ani bych se nedivil, ze vyrobce udela to same co dela(lo) bezne AMD. Tedy ze se vyroby soucastku a pokud nevyhovuje nejake jadro ci jina soucast, tak se ta cast vypne a proda se to jako jine, co to jeste splnuje. Je to podstatne levnejsi jak to vyhodit cele, jen zakaznik je tak nejak "osizen" ze si vlastne kupuje nejak vadnou soucatku. Staci jen na horni potisk pak narazit to co je vlastne uvnitr jeste fukncni.
Re: BMP 280 kontra BME280
Při laborování s BME jsem zjistil zajímavou věc. Pokud se jako první údaj po zapnutí napájení nenačte teplota, tak změřený tlak je trvale o cca 50 hPa nižší, než je skutečnost. Nejspíš to bude nějaká kompenzace tlaku na teplotu v knihovně Sparkfun a nebo to je vlastnost BME.
Jirka
Jirka
Re: BMP 280 kontra BME280
Podle datasheetu https://cdn-shop.adafruit.com/datasheet ... 001-10.pdf strana 49 se při výpočtu tlaku i vlhkosti používá naměřená teplota. Viz kód:
Knihovna by však měla sama načíst teplotu před každým měřením tlaku a vlhkosti, aby to měřilo správně. Jde samozřejmě o to, jak je napsaná.
Kód: Vybrat vše
//měření tlaku
double BME280_compensate_P_double(BME280_S32_t adc_P)
{
double var1, var2, p;
var1 = ((double)t_fine/2.0) – 64000.0; //t_fine je naměřená teplota
// a tak dále...
}
Re: BMP 280 kontra BME280
Dobrý den,
Nenašel by se prosím někdo, kdo mi poradí, jak zapojit tohle čidlo a nějaký kod k tomu ?
Aktuálně to mám zapojeno:
GY-BM 280 -> Amica NODEmcu
VCC -> 3V3
GND - GND
SCL - CLK
SDA - SD0
CSB - SD1
SDO - CMD
Foto: https://www.screencast.com/t/LSBOF6gf9
Zkusil jsem snad všechno, ale vubec to nemůžu oživit. Popřípadě tady mam ještě D1 mini kam bych to zapojil raději, ale to už nemá ty piny co nodemci.
Děkuji za pomoc.
Nenašel by se prosím někdo, kdo mi poradí, jak zapojit tohle čidlo a nějaký kod k tomu ?
Aktuálně to mám zapojeno:
GY-BM 280 -> Amica NODEmcu
VCC -> 3V3
GND - GND
SCL - CLK
SDA - SD0
CSB - SD1
SDO - CMD
Foto: https://www.screencast.com/t/LSBOF6gf9
Zkusil jsem snad všechno, ale vubec to nemůžu oživit. Popřípadě tady mam ještě D1 mini kam bych to zapojil raději, ale to už nemá ty piny co nodemci.
Děkuji za pomoc.
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: BMP 280 kontra BME280
Zdravíčko, takže:warcz píše: ↑04 lis 2017, 18:33Dobrý den,
Nenašel by se prosím někdo, kdo mi poradí, jak zapojit tohle čidlo a nějaký kod k tomu ?
Aktuálně to mám zapojeno:
GY-BM 280 -> Amica NODEmcu
VCC -> 3V3
GND - GND
SCL - CLK
SDA - SD0
CSB - SD1
SDO - CMD
Foto: https://www.screencast.com/t/LSBOF6gf9
Zkusil jsem snad všechno, ale vubec to nemůžu oživit. Popřípadě tady mam ještě D1 mini kam bych to zapojil raději, ale to už nemá ty piny co nodemci.
Děkuji za pomoc.
VCC -> 5V (ja mám NodeMCU v3 a napájam to cez Vin ak napájam adaptérom, alebo cez USBVout ak USB)
GND - GND
SCL - D1
SDA - D2
CSB - nikde
SDO - nikde
V knižnici si zmeň adresu z 0x76 na 0x77 alebo opačne.. Neviem aká je tam nastavená
Re: BMP 280 kontra BME280
Nepodělíš se prosím o kod a knihovnu kterou používáš ? Ja už stáhl snad všechny co jsou. DIky
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: BMP 280 kontra BME280
Kód: Vybrat vše
#include <SPI.h> //KNIZNICA SPI.H, PODPORUJE AJ I2C PRIPOJENIA PRE BMP280
#include "Adafruit_BMP280.h" //LOKALNA KNIZNICA SENZORA BMP
Adafruit_BMP280 bmp; // BMP280 NA ZBERNICI I2C
void setup() { //FUNKCIA NA DEFINICIU VSTUPOV A VYSTUPOV ZAPNUTIE
//START SENZOROV POD ONEWIRE (DALLASTEMPERATURE)
bmp.begin(); //SPUSTENIE SNIMACA BMP280
delay(2000); //POZDRZANIE PROGRAMU 2 SEKUNDY POKYM SA INICIALIZUJE BMP280 a SENZORY
Serial.begin(9600); //SPUSTENIE SERIOVEJ LINKY NA CITACIU RYCHLOST 9600
while (!Serial) {
; //CAKA POKYM SA SERIOVY PORT NEZAPNE
}
}
void loop() {
Serial.println("Teplota: ");
Serial.println(bmp.readTemperature());
Serial.println(" *C");
Serial.println("Atmosfericky tlak: "); //SERIOVY VYPIS TEXT O TLAKU VZDUCHU
Serial.println((bmp.readPressure() / 100) + 29.227); //29.227 konstanta.. ak je problem s kompiláciou, tak zadat cez , nie cez .
Serial.println(" hPa");
Serial.println("Vyska nad morom: "); //SERIOVY VYPIS TEXT nadmosrskej vyske
Serial.println(bmp.readAltitude(1013.25));
Serial.println(" hPa");
delay(2000);
}
Knižnica s adresou (0x76): https://www.ulozto.sk/!2RplF9n3HSIW/adafruit-bmp280-rar
Podľa potreby si prepíš adresu
Re: BMP 280 kontra BME280
Funguje to děkuju !
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů