Good ol' MEMS chips. Love 'em and hate 'em at the same time.
We received word from a customer that they are experiencing "drift" in one of our IMU devices. We ran an overnight test and sure enough, it appears that the initial output data shifts after 15-30 minutes and then becomes stable. The effect appears as an constant offset in the output measurement. This is most likely a warm-up issue as the assembly starts "cold" and then thermally stabilizes after being powered up for a while.
An online search, and a review of the spec sheets for various MEMS chips we use, reveals nothing authoritative on the topic. There are some hearsay comments but nothing from the manufacturers. Lacking authoritative data, we're loathe to "just gather a bunch of data" and fake-correct it in firmware since the effect may vary by wafer. Our devices are used in mobile applications where we have no absolute orientation reference.
Presuming the effect is real, we're considering how to address it. Our present idea is to thermally stabilize the IC. Our devices are sometimes used in an elevated temperature environment (up to ~100F) so they experience some environmental thermal cycling in addition to the effects of internal waste heat. Most IMU's have a temperature sensor on their die. We're thinking of using a SMD resistor on the opposite side of the PCB, and PWM'ing it to raise and stabilize the die temperature to a target value. Our devices are potted so there would be a relatively large thermal mass surrounding the IMU and an SMD resistor on the other side of the PCB. If the SMD resistor selectively dumped heat, the combination of the thermal mass and the on-die temperature sensor would allow us to run a closed-loop environment. We could ramp up the temperature soon after powerup (to achieve thermal stability ASAP) and then keep it there (to maintain that stability).
Anyone run into this with MEMS devices? How did you handle it? Has anyone done a temperature control like this? Any observations or suggestions?
Thanks!