08-13-2019 08:42 AM
Hello,
We are using the BMA280 accelerometer for a remote controller (RC) which allows to change the volume on an audio device. We are currently trying to improve this product. The BMA280 is used in order to detect whether the RC is worn by the user or unused, in order to go to sleep mode when the device is unused (no movement detected after around 10 min).
We face difficulties to detect that the RC is worn when the user is sitted and wears it in the pocket, because the movement are very slight (we consider that the user sometimes moves the legs, etc). In this specific case, the RC goes to sleep mode undesirably, after a few minutes without movement detection.
The initial parameters were as follow:
We already tried the following things:
By playing with these three parameters, we could reduce the percentage of times the RC is undesirably in sleep mode from 8% to 1.5% of the time during which the RC is worn, but this also greatly increases the power consumption due to the usage of a lower bandwidth, which is not acceptable for this product.
1) Do you have any suggestions in which way we could improve the detection for slight movements? Are there other parameters which we could play with?
2) It seems that reducing the bandwidth is visibly not a good solution because of its large effect on consumption. But if we increase the sleep phase duration (in low power mode 1), does it have somehow a similar effect?
3) Maybe the BMA280 is not the most suitable accelerometer for this application?
Thank you in advance for your help!
08-14-2019 04:10 AM
Hi ,
The information already be feedback to internal team,when it have conclusion will come back to you .
08-15-2019 11:08 AM
We do have a newer part number, the BMA400, that was designed for ultra-low-power requirements. It features an 'Auto wake-up interrupt' as well as 'Generic interrupts' (configuration no- or any-motion detection). The power consumptions is configurable between ~14µA (in highest performance mode) down to below 1µA (based on low-power mode settings). We would recommend this newer product for new designs where current consumption is a must.
If sticking to the BMA280, would could propose one alternative configuration, which is a combination of:
The goal of the above is that BMA280 should be operating in LPM1 all the time when stationary to save battery life, but if there is any kind of motion detected, the sensor should generate an interrupt. Many parameters should be fine-tuned to your requirements, but for example with 1kHz BW, 25ms sleep_dur and 2ms high_dur, the average power consumption while stationary should be kept below 10µA.
Note1: the datasheet recommends not to use the HPF in combination with low-power mode, as the conditions for proper filtering are no longer met. Therefore every user shall evaluate and qualify this method on their devices at their own risk.
Note2: while the HPF enabled, the raw sensor data can no longer be used for orientation or gesture detection, etc. Therefore this method may or may note be a blocker depending on whether the accelerometer is only used for power management, or if sensor data also needs to be processed.
08-19-2019 08:21 AM
Hi ,
Here are some suggestions for your question ,hope can solve your problem:
1) Do you have any suggestions in which way we could improve the detection for slight movements? Are there other parameters which we could play with?
You can try increasing the ODR, shortening the sleep time and increasing/decreasing the slope detection time (slope_dur).
2) It seems that reducing the bandwidth is visibly not a good solution because of its large effect on consumption. But if we increase the sleep phase duration (in low power mode 1), does it have somehow a similar effect?
In LPM1, increasing the duration of the sleep phase can affect the final detection sensitivity and it more likely to reduce the sensitivity of detecting slight movements.
3) Maybe the BMA280 is not the most suitable accelerometer for this application?
The BMA400 can be a better solution: 25Hz@0.8uA is always on to detect slight movements. Once a slight movement is detected, the BMA400 will be woken up and enter normal mode (12.5~800Hz@3.5uA) so that the Generic Interrupt can then detect significant movements and then wake up the MCU(the BMA400 features auto-wakeup and auto-low-power). The BMA400 and the BMA280 can be mounted on the same PCB landing pattern.