ADXL355 strong temperature drift on Z axis with heater


I tried to improve the stability (0g offset and scale factor) of ADXL355 by adding a heater on it and doing temperature control with the chip using internal temperature sensor as feedback.

Unfortunately, I found that the output data on Z axis strongly drift while heating.

The drift is between 3.4mg/°C and 4.2mg/°C (depending if heating or cooling) which is totally out of specification of the datasheet (expect something around +/-0.15mg/°C).

See attached plots and data with Z acceleration on the top and chip temperature on the bottom. During heating/control and natural cooling. ADXL355 full scale is +/-8G and ODR is 4000Hz downsampled to 10Hz with appropriate low pass filter.

X and Y axis seems OK and drifts are in the range of the datasheet. I tried with 4 devices and found the same behaviour.

Is there a fundamental or internal reason for this behaviour?

Correct drift computed with matlab function polyfit(at, az,1)
[edited by: ma.savoyat at 6:21 AM (GMT 0) on 2 Apr 2019]