Author Topic: Temperature Sensor drawing High Current  (Read 1602 times)

0 Members and 1 Guest are viewing this topic.

Offline spiderTopic starter

  • Newbie
  • Posts: 8
  • Country: de
Temperature Sensor drawing High Current
« on: August 08, 2017, 05:55:46 pm »
Hello,

I have a problem with my electronics project.

Parts:
  • "Arduino" Nano
  • BME280 on PCB
Datasheet: https://www.bosch-sensortec.com/bst/products/all_products/bme280

Here is an image of the PCB because I don't have a schematic.
(Pin order: SDO; CSB; SCL; SDA; GND; VCC)


The sensor is directly connected to the Arduino via i2c and powered by the Arduino with 5v.
  • 5V --> VCC
  • GND --> GND
  • A5 --> SCL
  • A4 --> SDA

I am using this library to control the sensor:
https://github.com/adafruit/Adafruit_BME280_Library


According to the datasheet it should draw max. 0.3 µA in sleep mode.

Yet I am measuring these currents and voltages:
  • VCC 420 µA
  • GND -40 µA
  • SCL -194 µA
  • SDA -201 µA

  • Reference is the VCC pin
  • GND -4.7 v
  • SCL -3.79 v
  • SDA -3,76 v

The high current flow is particularly bad because it is probably generating a lot of heat within the temperature sensor.
I have no idea what is causing the high current flow. To me it looks like that there is too much current flowing over the data lines.


« Last Edit: August 08, 2017, 06:01:38 pm by spider »
 

Offline floobydust

  • Super Contributor
  • ***
  • Posts: 6979
  • Country: ca
Re: Temperature Sensor drawing High Current
« Reply #1 on: August 08, 2017, 07:18:08 pm »
BME280 is not a 5V part  :(  It runs off 1.7-3.6VDC so you probably damaged it.
VCC should connect to +3.3V on the Arduino PCB.
 

Offline spiderTopic starter

  • Newbie
  • Posts: 8
  • Country: de
Re: Temperature Sensor drawing High Current
« Reply #2 on: August 08, 2017, 07:32:07 pm »
Changed it back to 3.3v. Sensor ist still working fine.
At 3.3v I can break the GND connection and it is still working. :o

I'll measure current and voltages tomorrow.
 

Offline floobydust

  • Super Contributor
  • ***
  • Posts: 6979
  • Country: ca
Re: Temperature Sensor drawing High Current
« Reply #3 on: August 08, 2017, 09:39:10 pm »
It looks like your PCB does not have a I2C level-translator (3.3-5V), instead only using 4k7 resistors. Most BME280 boards have IC/MOSFETS for this.
So -ve currents will flow when 5V TX happens feeding into 3.3V part with 4k7.

The sensor has many modes and you can change the sample rate, filtering to lower current drain.

I found the Adafruit BME280 Arduino library gave high temperature readings. Several degrees C higher than should be read  :-//
It might have a bug reading the calibration table for temperature. Tried another library and it was better. Bosch's C code is heavy on floating point for an Arduino.
Let me know how your temperature readings are.

The BME280 is sensitive to light, no bright light while reading it.
 

Offline spiderTopic starter

  • Newbie
  • Posts: 8
  • Country: de
Re: Temperature Sensor drawing High Current
« Reply #4 on: August 09, 2017, 04:19:32 pm »
I am sampling the sensor quite slow at 0.5 Hz and 16x oversampling for temperature and pressure.
It is reading 0.5°C higher than my ±0.5°C reference thermometer at 5v. On the other hand it is reading ±0.1°C at 3v compared to the reference thermometer.

At 3v I am now measuring these currents in sleep mode.

  • VCC -40 µA
  • GND 0 µA
  • SCL 20 µA
  • SDA 20 µA

-40 µA and 0 µA looks weird to me. While the sensor is reading the VCC current turns positive and the data lines negative. GND stays zero.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf