mmitchell
Advanced Member level 4
- Joined
- Dec 3, 2011
- Messages
- 107
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,296
- Activity points
- 2,203
Hi,
I would like to ask about some erratic register readouts on the low-end **broken link removed** accelerometer.
I designed a customized MCU board with MMA7660FC installed. During testing I found that readouts of register bits
1. $00: X - 6-bits output value
2. $01: Y - 6-bits output value
3. $02: Z - 6-bits output value
are extremely erratic/unstable even for a statically positioned board. For example, when the board is flatly placed on the table without any disturbance and the Z axis of the accelerometer points upright, I expect $02 read out to be 32×(1g/1.5g (1.5g is its range))≈21=0x15. However, the actual readout fluctuates between 0x15, 0x16, 0x17 and 0x18, so it is for X and Y readouts.
Some sample readouts:
x=1 y=2 z=18
x=6 y=3 z=17
x=2 y=1 z=18
x=2 y=0 z=17
x=4 y=1 z=17
x=0 y=2 z=19
x=5 y=2 z=17
x=5 y=0 z=15
x=2 y=3 z=16
x=1 y=2 z=16
x=3 y=3 z=16
x=1 y=1 z=17
x=2 y=1 z=16
x=4 y=2 z=16
x=4 y=2 z=16
x=4 y=0 z=19
x=4 y=0 z=18
x=7 y=1 z=17
I installed MMA7660FC on two different boards and found exactly the same situation, so it doesn’t appear to be the peculiarity of any particular chip, but is a general performance/accuracy problem of the accelerometer. Some Internet discussions suggest that this problem was because MMA7660 is a “low-end” product so these fluctuations are the norm, rather than exceptions, and the only way to deal with them is to implement software-based filtering (averaging).
Has anyone ever experienced the problem? Is it common for low-end accelerometers?
Matt
I would like to ask about some erratic register readouts on the low-end **broken link removed** accelerometer.
I designed a customized MCU board with MMA7660FC installed. During testing I found that readouts of register bits
1. $00: X - 6-bits output value
2. $01: Y - 6-bits output value
3. $02: Z - 6-bits output value
are extremely erratic/unstable even for a statically positioned board. For example, when the board is flatly placed on the table without any disturbance and the Z axis of the accelerometer points upright, I expect $02 read out to be 32×(1g/1.5g (1.5g is its range))≈21=0x15. However, the actual readout fluctuates between 0x15, 0x16, 0x17 and 0x18, so it is for X and Y readouts.
Some sample readouts:
x=1 y=2 z=18
x=6 y=3 z=17
x=2 y=1 z=18
x=2 y=0 z=17
x=4 y=1 z=17
x=0 y=2 z=19
x=5 y=2 z=17
x=5 y=0 z=15
x=2 y=3 z=16
x=1 y=2 z=16
x=3 y=3 z=16
x=1 y=1 z=17
x=2 y=1 z=16
x=4 y=2 z=16
x=4 y=2 z=16
x=4 y=0 z=19
x=4 y=0 z=18
x=7 y=1 z=17
I installed MMA7660FC on two different boards and found exactly the same situation, so it doesn’t appear to be the peculiarity of any particular chip, but is a general performance/accuracy problem of the accelerometer. Some Internet discussions suggest that this problem was because MMA7660 is a “low-end” product so these fluctuations are the norm, rather than exceptions, and the only way to deal with them is to implement software-based filtering (averaging).
Has anyone ever experienced the problem? Is it common for low-end accelerometers?
Matt