2024-04-25 08:12 AM - edited 2024-04-25 08:18 AM
Are there any options to reduce the power consumption based upon the configuration I have set so far ?
This while still being able to sample at 10Hz 10 bit and using FIFO so that the MCU could stay 'disabled' most of the time.
For my project I need the accelerometer to sample @10 bit, 10Hz and 2G with the lowest power consumption possible. I have used the FIFO to allow the mcu to sleep (for almost 3 seconds) when nothing else needs to be processed. When the watermark of 30 samples is reached I request it to (burst) read\request the values from the FIFO over the SPI interface (8MHz). The request I did get is to have a similar power consumption.
The drawn current of the entire setup is about 9.5 uA on average when using the lis2dh12.
But when using another accelerometer (bma253) I get about 7 μA total.
During the measuring I have seen that the minimal drawn power consumption is increased by 2.5μA.
Therefore I determined with the information available that the accelerometer itself is drawing the extra μA.
The following register settings are set at this time at startup:
fifo_ctrl_reg
- fth 29 (watermark level - 1)
- tr 0 (interrupt signal on INT1)
- fm 2 (Dynamic streaming mode)
ctrl_reg0
- "the must be set bit" 1 (as required by datasheet)
- sdo_pu_disc 1 (disconnect pull-up)
ctrl_reg1
- odr3:0 0 Power-down mode (could we improve here?)
- LPen 0 (10 bit normal mode)
- Zen 1 enabled z axis
- Yen 1 enabled y axis
- Xen 1 enabled x axis
ctrl_reg2
- All 0 (Normal mode and filters are bypassed)
ctrl_reg3
- i1_wtm 1 (only watermark interrupt is enabled)
- others 0
ctrl_reg4
- bdu 1 (output registers' are not updated until both MSB and LSB have been read.)
- FS 0 Scale selection set to +-2G
- HR 0 (10 bit normal mode)
- others 0
ctrl_reg5
- fifi_en 1 (only using fifo is enabled)
- others 0
ctrl_reg6
- int_polarity 1 (interrupts are active low)
- others 0
2024-04-30 02:26 AM
Hi @Emiel ,
Welcome to ST Community!
The LIS2DH12, in LP ODR 10Hz and FS 2G, should have a current consumption of about 3uA, accordingly to datasheet:
You could try in asynchronous reading instead of using the interrupts, let me know if this reduces the consumptions.
2024-04-30 03:24 AM
At 8 bit it is 3uA, but we need to get 10bit values. Therefore it will be 4 according to the datasheet.
@Federica Bossi are the configuration values correctly set ?
Did we not overlook some application note or a settings to reduce the power consumption?
We are also applying a voltage of 3.65V. The datasheet does not mention at what voltage we should measure 4uA.
I noticed that the current reduced ~1uA when applying 2.5V (when mcu sleeps and the lis2dh12 is sampling).
2024-04-30 04:18 AM
Hi @Emiel ,
The values on the datasheet are at Vdd=1.8V, we expect that as Vdd increases, current consumption will increase.
Your configuration is fine to have a low power consumption, as shown in the table.
2024-05-01 06:01 AM
@Federica Bossi Thanks for your confirmation and information.
Do you know what values we could expect at ~3.65V for the lis2dh12.
For another project I have the same question for the LIS2DU12 that mentions a current consumption of 3.4uA at 1.8V @12,5 Hz. I would therefore also like to know what the expected current is at ~3.65V. Is that information available ?
2024-05-02 01:56 AM
Hi @Emiel ,
For LIS2DH12, a current consumption of about 5uA is expected in LP mode, Vdd=3.6 and ODR 10Hz.
For LIS2DU12, when ODR=12.5Hz, LP Mode and FS=2g and Vdd=3.6V we expect about the same values of LIS2DH12.