I am trying to use BMA400 for step counter and activity tracker features in my demo application,
I get faced some problems,
I need help about solving and understanding these problems.
Sensor connected to mcu with I2C interface,
==> i2c_read(BMA400_I2C_ADDRESS,0x00,®val,1); // Ask Chip ID
regval = 0x90, It is OK
==> tmp = 0xB6;
i2c_write(BMA400_I2C_ADDRESS ,0x7E, &tmp, 0x01); //Soft Reset
regval = 0x00, It is OK
==> tmp = 0x02;
i2c_write(BMA400_I2C_ADDRESS ,0x19, &tmp, 0x01); //Set Power mode = Normal Mode
regval = 0x02, It is OK
==> tmp = 0x11;
i2c_write(BMA400_I2C_ADDRESS ,0x20, &tmp, 0x01); //Set step interrupt
regval = 0x11, It is OK
When i am doing below settings,
I get faced these problems,
1) When i taking step <10, it is not give response. For example when i taking 8 steps. It still says No step, When i taking 10 or more than 10 steps. It will start to counting correct steps.
Why it is ignore steps less than 10 ? How i can solve,
2) When i change my activity from one to another, activity status is not updated real time, it wiil comeafter 5-8 sec.
3) When i compare steps resolution with some of smart band ( Just like a Xiaomi, Vestel …) our resolution is worst according to them.
There is many selectable options (ODR, OSR, acc_filter1, acc_filter2 etc…) These options can effect my accuracy ?
Power consumption is not important i just want to get real time Step count and real time Activity.
4) Placing sensor any of Axis is important ? It can effect step accuracy to place x axis or y axis or z axis ?
5) There is STEP_COUNTER_CONFIG register (0x59 – 0x70) there is no explanition about it. How we can configure it ?
I need help and example about it.
I just want to get real time step counter and real time activity
I need help about it,
Some of your questions are answered below. I will answer the rest in a follow-up post.
1) The steps are detected by the step detector algorithm. They are however not accumulated in the step counter until it continuously hits a minimum threshold. This is done in order to prevent counting of steps for brief movements. This is the expected behavior.
4) It doesn't matter which axis you place the sensor at for step counting.
5) The step counter config is briefly described in the datasheet. You can configure between default, sensitive and robust.
Thank for your reply,
But, according to your answer. This sensor is useful for continuos movement.
For example if i use this sensor and i will take 5 steps in every 1 min, after 10min in reality i will do 50 steps. But sensor will show 0 step. Am i correct ?
I am using BST-BMA-DS000-03 (July 2019)
There are two options wrist(default) and non-wrist,
But when i looked into BST-BMA-DS000-03(July 2018)
There are three options Sensitive, Normal, Robust
Which datasheet i should care ?
Values between july2018 and july2019 are very different.
According to July2019
Address 0x70 ==> 247 (default)
According to July2018
Address 0x70 ==> 0 (default and for all options)
Also, i need your help about setting best parameters for step counting (ODR, OSR, filteracc, vsvs)