Fórum témák
» Több friss téma |
Fórum » BMP085 és BMP180 Digitális Nyomásérzékelő Alkalmazása AVR-rel
Témaindító: Max26, idő: Jún 24, 2015
Témakörök:
Köszönöm az infókat, úgy döntöttem, más eszközzel mérek hőmérsékletet.
Sziasztok,
Látom régi ez a topik, de nekem most akadt egy kis gondom BMP280 szenzorral. Nagyon bíztam benne. De sajnálatos módon melegíti magát. Pontatlan a hőmérséklet mérése. A felállás a következő. ESP12E vel használom. Modulos szenzor, és minden egyéb alkartésztől távol raktam. Az első mérés korrekt, viszon a folyamatos mérésnél 20 perc után 4°C fokkal magasabbat mér. Tudom boldog lehetek vele, mert sok más fórumon olvastam 10°C fokot is. Amit eddig próbáltam: 1- eredetilek 30 masodpercenkent mertem.(a csatolt kepen ez a folyamatos vonal) 2- 5percenként mertem. (Ezek a szürke pöttyök a képen) 3- A modul VCC jét levettem a tápról mérések közt. Semmi nem változott. Az I2C busz felhúzóján keresztül melegedett ugyan úgy. 4- Raktam a modulra egy szepseges hűtőbordát. Ezzel csak 3°C fok melegedés lett. Elvesztettem a bizalmam . Most szégyen szemre tegyek mellé egy DS18B20 at, hogy a légnyomás mellett hőmérséklet adatom is legyen? Esetleg van még valami ötletetek ami nekem nem jutott eszembe?
Az adatlap szerint van benne alvó üzemmód (sleep mode). Az sem segít?
Mérések között Sleep módban van.
Lehet illetlenség elsô ránézésre, de ha tudod hogy az adatvonalon át (is) folyik áram, akkor nem lenne jó azt is megszakítani a mérések közti idôre (adatvonalat ha lehet hi-Z -re kapcsolni, vagy leválasztani egy dupla optocsatolóval - a tranzisztorokat "keresztbe kötve", vagy egy fehér LED + LDR-el készített házi optocsatolóval)?
Ha az adatvonalat leválasztom megzavarja az ESP IIC buszát. Azt hiszi valami kezdődik. Start feltételt generál.
De a nagyobb gondom, hogy már elkészült a panel, és nem számítottam ilyen problémára.
Ebben az esetben az egyetlen jó út a szoftver módosítása. Nem ismerem sem a modult, sem az ESP12E-t, de ha jól gondolom a IIC is csak egy sima port alapból, tehát lekapcsolható néhány bit átállításával, azaz bemenetnek konfigolva, a belsô felhúzó ellenállás (ha van) kikapcsolható. Így se fogyasztás se zavar nem lehet.
u.i.: ha fixen huzalozva van a felhúzó ellenállás, és van még szabad portod, arra átkötöd az ellenállást, és vagy adsz azon a porton 1-et, vagy bemenetnek állítod és akkor nincs felhúzva (vagy simán a mérômodul tápjára rakod az ellenállást is). A hozzászólás módosítva: Jan 30, 2022
Ez alapvetően légnyomásmodul, mint ahogy Te is és mások is írták, fűti magát pontos hőmérsékletmérésre nem igazán alkalmas. Tegyél mellé egy ds18B20-at, (az 1 wire gondolom szabad)az sem precíziós, de általános felhasználásra elmegy.
Levettem a tápot róla, az I2C pin jeit próbaltam bemenetként és kimenetkent LOW -ra állitva. Sajnos semmi valtozás.
Arduino körnezetben a"BMP280_DEV_Master” lib et használom hozzá. Nem igazán látom át mi van ebben a library ban de hiaba állitom az adott portot át , miután a lib inicializalta az I2C bust mar nem engedi át állítani. Lehet marad a DS18B20. Még van szabad kivezetett láb a panelon arrra az esetre ha még valami eszembe jutna De a BMP szenzorban csalódtam
Válaszd pont javaslatát, ha kell a pontos hômérséklet.
Egy másik topikban a napokban épp errôl folyt eszmecsere, "mennyire jó" az amikor a HW-t nem tudjuk kezelni, csak a "libeket" hívogatjuk. Persze ennek is meg van a varázsa, én is ezt csináltam MiFare olvasónál, lusta voltam újraírni az inicializálást. A hozzászólás módosítva: Jan 30, 2022
Annyira azért nincs messze sem az ESP-től sem a tápegységtől és még közös NYÁK-on is vannak. Az lenne a fura, ha nem melegedne.
Alatta azért van 2.5 mm hézag.
Próbaképp vedd le a NYÁK-ról a szenzort, kösd össze kb. 20 cm-es vezetékekkel és úgy próbáld, hátha. Annyit még elvileg elbír az I2C 3.3 kΩ-os felhúzással.
Hali!
Nekem szintén ez volt a problémám vele. Ez a hőmérséklet mérés probléma egy félreértésből ered! Ahogy pont is mondta a szenzor hivatalosan Combined humidity and pressure sensor, tehát a hőmérséklet mérés csak mellékes dolog. Csak a légnyomás és páratartalom mérés pontos számításához kell. Én beszereztem egy BME680-at, az már hivatalosan is méri mindegyiket + VOC. Sajnos drága, mint a rosseb, főleg chiphiány idején. Még nem volt időm tesztelni, de neki állok.
Kíváncsian várom a teszted eredményét.
Bár én ennyit ne szánok a projektem ezen részére. Ez egy külső mérő egység lesz az udvarra, amit majd egy több feladatot ellátó belső (+pince) elemei fognak használni. leginkább csak információs célokat szolgál majd, de azért a 4°C hiba pluszban az nagyon durva. Ha azt írja nekem a rendszer, hogy ragyogó idő van +2°C és elindulok a kocsihoz fürdő gatyában és közben félúton megfagyok az udvarom mert igazából -2°C van kint az számomra nem elfogadható. Főleg December közepén. Hónapokat várhatok mire eljön a tavasz és kiolvadok. Sajnos krónikus idő hiányban szenvedek. Azért egyszer ha lesz időm, lehet, hogy bepróbálkozok egy saját szoftveres I2C - BMP280 megírásával, ami két mérés közt teljesen lekapcsolja a szenzort. A hozzászólás módosítva: Jan 31, 2022
Ha jól emlékszem próbáltam nagyobb szünetekkel is mérni a BME280-al, de nagy javulás nem volt. Egyszerűen a belső mérési folyamat miatt viselkedik így. Szerintem nem lehet vele mit csinálni.
Sajnos ez a BME680 vacak ilyen horror árban van (bár nem vacak, mert elég érzékeny és pontos), a legolcsóbb megoldás tényleg a DS18B20-al való kiegészítés. A teszttel igyekszem, meg kell írnom még a szoftvert, egyelőre egy FT232H-s adapteren keresztül szeretnék vele beszélgetni PC-n. Addig is itt van a BME680-M HEStore-os modul kapcsolási rajza, hátha kell valakinek. A neten nem találtam, így visszarajzoltam.
Nálam nem voltak ekkora problémák. A Bosch API-t használtam C-ben, forsed módban. Nem ESP volt.
Bővebben: Link
Tápegységtől, ESP-től távolabb helyezés nem segített?
Épp most megy a teszt.
A BMP280 szenzort nem vettem le a panelről mert nem tudom majd úgy sem dobozon kívül helyezni. Viszont! felraktam egy DS18B20 -at amit már korábban is használtam. És meglepett. Az ESP időnként fűt mint a kazán. A DS szenzor 30°C - ig szaladt fel 10 perc alatt. most egy 30cm -es vezetéken lóg távol a cucctól. És rendesen mér. Ezenkívül a BMP280 tápjára ráraktam egy kondit ötlet szerűen. 220nF akadt a kezembe. A túlmelegedése 1°C -al csökkent. BMP280 -al ezek után még nem adom fel. Amint lesz időm rendelek még belőle és csinálok egy teszt panelt amin mindentől távol van. Könnyen elképzelhető, hogy kevés a külön panel hézaggal. nagyobb távolság kell neki. Csatolom az eddigi log -ot. A hozzászólás módosítva: Jan 31, 2022
Szia, talán használj BME280-as szenzort, az még olcsó. A Főcím szerint ez is csak nyomás és páraszenzor, de az alcíme szerint már hőmérséklet is. A pontossága +-0.5fok, ennek ellenére:
"Its output is used for temperature compensation of the pressure and humidity sensors and can also be used for estimation of the ambient temperature. Tehát ez is csak becslésre használható. Megnézném, hogy mennyit mászik el, de nincs állandó hőmérsékletű helyem. Annyit tudok tenni csak, hogy egy tizedfokos higanyos hőmérő mellé teszem. Csak nehogy megfűtse a higanyost is! Ui.: A BMP280 is +-0.5fokos A hozzászólás módosítva: Jan 31, 2022
A higanyos is addig jó amíg csak 1db van belőle.
Amikor szembesültem ezzel a melegedős problemával összeszedtem 4 db higanyos hőmérőt. Nem volt két egyforma. Azok között is volt majd négy fok szórás a határ értékeken.
Ebből egy van!
Na megmértem, egy órára egy fűtetlen helységben hagytam mindkettőt egymás mellett, majd a higanyos 12.4 fokot mutatott, a BPE 12.82 fokot. 20perc múlva bekapcsolt állapot mellett a higanyos 12.4 fok, a BME 13 fokot mutatott. A hőmérséklet emelkedés a bekapcsolás után "jelentős" volt, tehát némi felfűtés itt is van, de csekélyebb. A szenzor a procis egységen egy csőrszerű elhelyezésben van.
No, sikerült életre kelteni. Persze nem ment simán, mert ami régen működött, az ma már nem. Biztos valami FTDI driver probléma, kínlódtam vele, de feladtam. Így inkább megírtam PIC-re.
Kábé másodpercenként mértem vele force módban és be volt kapcsolva a VOC érzékelő része is (fűtés 300°C 100ms ideig). A lakásban 24.0°C-ot mutatott a nem túl neves márkájú időjárás állomás. A BME680 így 25.2°C körül mért. Lásd kép. A mérés begyűjtése előtt, előtte ültem. A monitor is közel van hozzá, az RS232-USB adapter is mellé van tűzve a dugdosós panelon. A mérés megkezdésekor otthagytam, hadd dolgozzon. Inkább csökken a hőmérséklet, minthogy nőne. Szerintem ez az érzékelő már jó lesz. Közben látom, hogy BMP280-at használsz és más javasolta a BME280-at. Én eddig erre nem is figyeltem, de én BME280-at próbáltam korábban, az is melegedett.
Hali!
Valakinek talán hasznos lehet még ez is. Csináltam egy 50 perces mérést is a BME680-al, 10 másodperces intervallummal. A hidegindítást próbáltam kivitelezni, amennyire lehetett. Kábé 0.3°C-ot emelkedett a hőmérséklet a bekapcsolástól mérve.
Idézet: „Az I2C busz felhúzóján keresztül melegedett ugyan úgy.” Kis távolságok esetén, lehet azokat is el lehet költöztetni a szenzor panelről..
Örülök, hogy tök véletlenül idekeveredtem.
Annak meg még jobban, hogy a BME680 nem melegszik. Sajnos nekem is ez a tapasztalatom, DS18B20-t kellett raknom mellé. Az STM nem hiszem, hogy fűtene. Viszont ha néztem légnyomás térképet (időkép, stb..) ahhoz képest egész más értékeket mért. Viszont máshoz meg nem volt lehetőségem viszonyítani. Úgyhogy már csak abban bízom, hogy a páratartalom mérő része nagyjából valós, bár ott meg pár százalék nem számít.
A szenzor a valós légnyomást méri de általánosságban elmondható, hogy időjárási tartalmakban a tengerszintre átszámított értéket adják meg.
Aha, a valós nyomást bonyolult átszámolni tergerszintire ?
A BMP180-as szenzor adatlapjában van egy képlet (lásd melléklet) de online is megoldható a dolog, pl.: Bővebben: Link.
altitude: tengerszint feletti magasság p: légnyomás p0: tengerszint feletti légnyomás |
Bejelentkezés
Hirdetés |