Ik heb hier een printje gemaakt met een ESP32 en een BME280 naast elkaar. Maar krijg nu foute gegevens.
Het printje trekt 140 mA uit 5V, dus 700 mW. Niet echt veel, maar blijkbaar toch genoeg om de sensor 7 graden warmer te maken. Gevolg is dat zowel de temperatuur als de vochtigheid sterk verloopt.
Ziehier wat er gebeurt bij inschakelen. In 10 minuten stijgt de temp van 19 naar 26 graden, en daalt de vochtigheid van 42 naar 28 %.
Blijkbaar niet zo een goed idee om die naast elkaar op dezelfde PCB te plaatsen.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Ik neem aan dat die ESP maar korte perioden actief is om iets te versturen? Dan is het gemiddeld vermogen toch veel lager?
Nee, de ESP draait een http server en is continu aktief in dit geval.
Bovenstaande grafiek komt rechtstreeks uit de ESP32 en wordt real-time up-to-date gehouden.
Die ervaring heb ik ook met een bmp280, en self-heating lijkt de oorzaak.
De meetfrequentie verminderen kan dus helpen.
Nu, volgens de datasheet, is de temperatuursensor in de eerste plaats bedoeld voor correcties op de meting van de luchtdruk:
The integrated temperature sensor has been optimized for lowest noise and highest resolution. Its output is used for temperature compensation of the pressure and humidity sensors and can also be used for estimation of the ambient temperature.
Ja, self-heating. Als je de BMP continu uitleest krijg je dat, de temperatuur verhoogt dan een graad of 6. Ik doe 1x per minuut en dan stijgt de temperatuur niet.
Nou ja, self-heating (van de sensor) is maar de vraag met een ESP32 ernaast. Een atmega2560 die continu draait wordt al voelbaar warm(er)...
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ik heb precies hetzelfde met een andere sensor. Die is nauwkeurig genoeg om de opwarming te meten die het gevolg is van de IR straling van je vinger die je 2cm bij het ding vandaan houdt....
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
140mA en bijna 1W is heel veel voor alleen een processortje, neemt dat niet af als je het wifi gedeelte uitzet?
Wel goeie tips.
Met power saving WIFI_PS_MAX_MODEM daalt het stroomverbruik naar 70 mA, ten koste van de WIFI response tijd.
En dan zakt de temperatuur wel een paar graden, maar niet genoeg. Nog altijd 4 graden boven de omgeving.
BME280 heeft inderdaad last van selfheating.
Het hangt ervan wel mode je hem gebruikt hoe snel het opwarmen gaat, in forced mode gaat het opwarmen het snelst.
Oplossing is simpel, sensor alleen aanzetten als je deze wilt gaan uitlezen en daarna de BME280 weer in sleep mode zetten.
Voor een weerstation of kamer temperatuur heeft continue sampling niet echt zin. 1x per minuut meten is voldoende. Als je dan de sensor de overige 59 seconden laat slapen warmt hij zichzelf niet op.
Ps Handige tip, de vochtsensor in de BME280 kan niet tegen vocht 
Mijn badkamer sensor gaat elk jaar een keer stuk, blijft dan 100% aangeven.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
En een extra controllertje. Met een klein picje gebruik je waarschijnlijk maar 700uA i.p.v. 70 of 140mA... (ESP kan dan helemaal uit)
Scheelt een factor 100...200
[Bericht gewijzigd door Arco op (10%)]
hardbass
PE2BAS
De esp heeft ook een low power co processor. Ik heb hem zelf nooit gebruikt, omdat je die alleen in assembly kan schrijven. Misschien is er inmiddels een compiler voor.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Met een pic in sleepmode zit je in de nA...
Los daarvan moet je de sensor zover mogelijk wegzetten van de ESP en liefst aan de andere zijde van het pcb. (en voor luchtcirculatie zorgen)
Ik heb die BME280 een keer bekeken en gauw weer aan de kant geschoven.
Het is een onnodig gecompliceerd geval (alle metingen hangen aan elkaar vast met calibraties e.d.) en de datasheet krijg je hoofdpijn van... 
hennep
reading can seriously damage your ignorance
Op 11 december 2020 12:33:44 schreef deKees:
Het printje trekt 140 mA uit 5V, dus 700 mW.
Ik lees in de datasheet dat de BMP280 max 3.6V verdraagt. Die zul je toch niet per ongeluk op 5V hebben aangesloten. In dat geval is het niet vreemd dat hij warm wordt 
datasheet paragraaf 3.6.2 Forced mode
In forced mode, a single measurement is performed according to selected measurement and filter options. When the measurement is finished, the sensor returns to sleep mode and the measurement results can be obtained from the data registers.
Ik heb er hier ook een paar liggen en zal de code ook eens bekijken hoe ik die forced mode kan aanslingeren.
Edit:
BME niet goed gelezen, maar ook die mag max op 3.6V
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ik heb een collega-chip met vergelijkbare calibraties gebruikt. Het ziet er indrukwekkend uit maar als je gewoon de formules in het datasheet overtikt dan werkt het. Het wordt lastiger als je "geen C" of "geen 64-bit integers" kan krijgen.
Effe ontopic. De helft van de reacties gaat over "self-heating" wat wel degelijk een effect is bij druk-sensors. Maar de TS zegt dat ie de ESP32 iets anders heeft geconfigureerd en dat dit al een hoop hielp. Kortom, bij de TS lijkt de heating door de ESP een hoop uit te maken en niet alleen de self-heating van de BMP.
[Bericht gewijzigd door rew op (40%)]
Het is een onnodig gecompliceerd geval
Ja, dat klopt wel. Ik zou me schamen als ik zo een interface moest publiceren. Vooral de lijst met calibratie getallen is nogal een puinhoop. Maar Bosch heeft weer wel een voorbeeld code gepubliceerd en daarmee kom je er toch wel uit.
Het printje loopt inderdaad op 5V (USB), en heeft een regelaar aan boord voor de 3V3. De ESP32 loopt ook op 3V3 trouwens, net als de BME280.
De BME loopt nu in 'normal mode' met max delay (1000 ms) tussen de samples, dus het grootste deel van de tijd staat hij in slaap mode.
Meer afstand zou wel kunnen (op een redesign), al vraag ik me af of dat genoeg helpt. Misschien toch beter om de sensor op een apart printje te houden?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Het beste (indien mogelijk) is om de print vertikaal te monteren met de sensor aan de onderzijde, dan hoeft de warme lucht er niet langs.
(ik neem aan dat de behuizing goed geventileerd is, anders kun je nooit betrouwbare metingen doen...)
Je kunt dat de chip ook nog op een 'thermal island' zetten om invloed door geleidingsopwarming te verminderen.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
hennep
reading can seriously damage your ignorance
@Arco, Tijdens de meting is het meer:
humidity measurement 340 µA
pressure measurement 714 µA
temperature measurement 350 µA
Ik heb nog niet gezien hoelang zo'n meting duurt. Dat speelt natuurlijk ook een rol.
Bij iedere seconde meten krijg je dan te maken met die self heating. Als het gewoon om luchtdruk gaat is 1x per seconde overkill. Je vrouw is toch te laat met binnenhalen van de was als de luchtdruk keldert 
Ik gebruik voor mijn sensor de Adafruit_BMP280 library. Er is er ook eentje voor de BME280.
Daarmee kun je de andere modes vrij simpel selecteren en wordt de calibratie ook voor je gedaan.
Dus worst case 700 uA bij 3V3 = 2 mW. Toch niet echt schokkend veel toch?
Ik vraag me af of die modules met een sensor op een eigen printje ook last hebben van opwarming. Ik heb die hier niet liggen, dus kan het ook niet even testen.
Maar ik ga toch maar een extra I2C connector voorzien om een externe BME te kunnen koppelen. 
hennep
reading can seriously damage your ignorance
Dat is inderdaad niet veel maar toch lees je dan over self heating. Misschien omdat het ding erg klein is en daarom z'n energie niet kwijt kan. Hoe dan ook mijn interesse is gewekt.
Ik heb mijn BMP280 wel op een printje zitten en zal die eens een tijdje temperatuur en luchtdruk laten loggen.
De stroom tijdens de meting van een BMP280 is wat hoger, 1120 bij drukmeting, dus dan is het wel appels met peren vergelijken.
rudig76
Even iets anders www.echteworst.nl
Hier in de badkamer ligt de BME280 20cm van de esp af. Geen last van self-heating. Weet je zeker dat de esp en zijn 5v->3.3v switcher (oid) het probleem niet veroorzaakt?
Ik weet inmiddels vrij zeker dat de ESP minstens voor een groot deel verantwoordelijk is voor de opwarming.
Maar ik vraag me wel af of dat het enige probleem is. Bij jou gaat het blijkbaar wel goed.
20 cm verder? Is dat een aparte module (zoals die van hennep) of op dezelfde PCB?