cancel
Showing results for 
Search instead for 
Did you mean: 

IIS3DWB incorrect acceleration readings (documentation mistake?)

PSzym.3
Associate II

The accelerometer is horizontal, in the Z axis 1g and I have about 500 mg in the X axis. I have 3 pieces of accelerometers and in similar positions I have different readings from the X axis.

Temperature reads correctly.

I found a certain inaccuracy:

in the documentation:

0693W000005Bk2KQAS.png in the evaluation board:

0693W000005Bk2CQAS.pngcould this be the cause of the error? I also have an evaluation board and it works ok.

1 ACCEPTED SOLUTION

Accepted Solutions
PSzym.3
Associate II

I have swapped the chip from evaluation board to my board and works good.

The chips were damaged.

Mark on chip:

IW

QR CODE

027

Mark on evalboard chip:

IW

QR CODE

921

View solution in original post

4 REPLIES 4
Eleon BORLINI
ST Employee

Hi @PSzym.3​ ,

your finding (the fact that the datasheet and the adapter schematic are showing different configurations for those pins) is correct, but there is no difference/effect of this on the data-out of the IIS3DWB devices.

I have some questions to try a better understanding of the issue: how many samples do you have tested? And are all these samples doing the same thing? Did you test all the samples soldered on the adapter? And is this "just" an offset of 500mg or is a high noise (for example a data that is jumping from 0mg to 500mg in a steady state condition, i.e. with the z axis pointing upwards and, possibly, with no tilts along x and y axis)?

-Eleon

PSzym.3
Associate II
Read registers from 1 to 50:
[1]	unsigned char	0x00 '\x00' (Hex)	0x002B55	
[2]	unsigned char	0x7F '\x7f' (Hex)	0x002B56	
[3]	unsigned char	0x00 '\x00' (Hex)	0x002B57	
[4]	unsigned char	0x00 '\x00' (Hex)	0x002B58	
[5]	unsigned char	0x00 '\x00' (Hex)	0x002B59	
[6]	unsigned char	0x00 '\x00' (Hex)	0x002B5A	
[7]	unsigned char	0x00 '\x00' (Hex)	0x002B5B	
[8]	unsigned char	0x00 '\x00' (Hex)	0x002B5C	
[9]	unsigned char	0x0A '\x0a' (Hex)	0x002B5D	
[10]	unsigned char	0x00 '\x00' (Hex)	0x002B5E	
[11]	unsigned char	0x00 '\x00' (Hex)	0x002B5F	
[12]	unsigned char	0x00 '\x00' (Hex)	0x002B60	
[13]	unsigned char	0x00 '\x00' (Hex)	0x002B61	
[14]	unsigned char	0x00 '\x00' (Hex)	0x002B62	
[15]	unsigned char	0x7B '{' (Hex)	0x002B63	
[16]	unsigned char	0xA0 '\xa0' (Hex)	0x002B64	
[17]	unsigned char	0x00 '\x00' (Hex)	0x002B65	
[18]	unsigned char	0x04 '\x04' (Hex)	0x002B66	
[19]	unsigned char	0x00 '\x00' (Hex)	0x002B67	
[20]	unsigned char	0x00 '\x00' (Hex)	0x002B68	
[21]	unsigned char	0x00 '\x00' (Hex)	0x002B69	
[22]	unsigned char	0x00 '\x00' (Hex)	0x002B6A	
[23]	unsigned char	0x00 '\x00' (Hex)	0x002B6B	
[24]	unsigned char	0xE0 '\xe0' (Hex)	0x002B6C	
[25]	unsigned char	0x00 '\x00' (Hex)	0x002B6D	
[26]	unsigned char	0x00 '\x00' (Hex)	0x002B6E	
[27]	unsigned char	0x00 '\x00' (Hex)	0x002B6F	
[28]	unsigned char	0x00 '\x00' (Hex)	0x002B70	
[29]	unsigned char	0x00 '\x00' (Hex)	0x002B71	
[30]	unsigned char	0x01 '\x01' (Hex)	0x002B72	
[31]	unsigned char	0x74 't' (Hex)	0x002B73	
[32]	unsigned char	0x5C '\' (Hex)	0x002B74	
[33]	unsigned char	0xFE '\xfe' (Hex)	0x002B75	
[34]	unsigned char	0x00 '\x00' (Hex)	0x002B76	
[35]	unsigned char	0x00 '\x00' (Hex)	0x002B77	
[36]	unsigned char	0x00 '\x00' (Hex)	0x002B78	
[37]	unsigned char	0x00 '\x00' (Hex)	0x002B79	
[38]	unsigned char	0x00 '\x00' (Hex)	0x002B7A	
[39]	unsigned char	0x00 '\x00' (Hex)	0x002B7B	
[40]	unsigned char	0x93 '\x93' (Hex)	0x002B7C	
[41]	unsigned char	0xE4 '\xe4' (Hex)	0x002B7D	
[42]	unsigned char	0x7A 'z' (Hex)	0x002B7E	
[43]	unsigned char	0x03 '\x03' (Hex)	0x002B7F	
[44]	unsigned char	0x66 'f' (Hex)	0x002B80	
[45]	unsigned char	0xA6 '\xa6' (Hex)	0x002B81	
[46]	unsigned char	0x00 '\x00' (Hex)	0x002B82	
[47]	unsigned char	0x00 '\x00' (Hex)	0x002B83	
[48]	unsigned char	0x00 '\x00' (Hex)	0x002B84	
[49]	unsigned char	0x00 '\x00' (Hex)	0x002B85	
[50]	unsigned char	0x00 '\x00' (Hex)	0x002B86
x	int	0xE493 (Hex)	0x002BE8	
y	int	0x037A (Hex)	0x002BEA	
z	int	0xA666 (Hex)	0x002BEC		
 
AxisX	float	-428.281006	0x002BD8	
AxisY	float	54.2900009	0x002BDC	
AxisZ	float	-1399.21802	0x002BE0		
 
AxisX = iis3dwb_from_fs2g_to_mg(x);
AxisY = iis3dwb_from_fs2g_to_mg(y);
AxisZ = iis3dwb_from_fs2g_to_mg(z);
 
float_t iis3dwb_from_fs2g_to_mg(int16_t lsb)
{
  return ((float_t)lsb * 0.061f);
}

Is the calculation okay?

It is not noise, it is a fixed value. In the above case on the X axis it varies between 410-450mg.

if I turned on the high-pass filter, the measurements for all axes are within 30mg max.

0693W000005BpKsQAK.png 

Chip1
AxisX	float	-428.281006	0x002BD8	
AxisY	float	54.2900009	0x002BDC	
AxisZ	float	-1399.21802	0x002BE0
 
Chip2
AxisX	float	556.137024	0x002BD8	
AxisY	float	-58.3160019	0x002BDC	
AxisZ	float	-1002.71802	0x002BE0
 
chip3
AxisX	float	934.39801	0x002BD8	
AxisY	float	-182.817001	0x002BDC	
AxisZ	float	-950.684998	0x002BE0	

0693W000005BpWjQAK.png 

chip1
AxisX	float	-1379.82007	0x002BD8	
AxisY	float	26.0470009	0x002BDC	
AxisZ	float	-1998.604	0x002BE0
 
chip2
AxisX	float	-419.252991	0x002BD8	
AxisY	float	77.4700012	0x002BDC	
AxisZ	float	-1998.604	0x002BE0
 
chip3
AxisX	float	-34.038002	0x002BD8	
AxisY	float	-191.600998	0x002BDC	
AxisZ	float	-1959.13696	0x002BE0	

0693W000005BpavQAC.png 

chip1
AxisX	float	-258.640015	0x002BD8	
AxisY	float	1004.73102	0x002BDC	
AxisZ	float	-1998.604	0x002BE0
 
chip2
AxisX	float	635.68103	0x002BD8	
AxisY	float	928.725037	0x002BDC	
AxisZ	float	-1998.604	0x002BE0
 
chip3
AxisX	float	985.028015	0x002BD8	
AxisY	float	814.044983	0x002BDC	
AxisZ	float	-1939.86096	0x002BE0	

Maybe the chips were overheated during soldering.

The chips were buy from DigiKey.

Power supply 2,5V.

PSzym.3
Associate II

I have swapped the chip from evaluation board to my board and works good.

The chips were damaged.

Mark on chip:

IW

QR CODE

027

Mark on evalboard chip:

IW

QR CODE

921

Eleon BORLINI
ST Employee

Hi @PSzym.3​ ,

thank you for coming back for this confirmation (and for the detailed explanation of the problem, in the comment before).

Data seemed a little weird indeed...

>> Maybe the chips were overheated during soldering.

This might be the case... you can check it comparing your soldering process with the datasheet p.49 info or with the technical note TN1198.

-Eleon