We're using a ADIS16485 in combination with a new microprocessor, as a heading reference sensor (application has been working on a different micro for years). Most functionality is working OK; data ready line + interrupt driven SPI reads of (3) gyro + (3) accel + (1) temperature working good. We are running around 125 kbps SPI, and decimated output rate down to 153.8 Hz. We're using the "delta" values output of the gyro for heading integration.
In this application, we offer an external command to the HRS that kicks off a bias null cycle, to reduce heading drift. After implementing a nulling cycle algorithm, it doesn't seem that we're getting effective bias values that reduce drift. Even taking into consideration random walk, we're getting excessive drift, in excess of 1deg/min after bias is moved from CBE to manual bias registers.
So, a few questions:
- Can you verify that our approach to nulling the gyro output is good?
- Generally, our nulling cycle steps are:
- (Ensure IMU is stationary for the duration of the nulling cycle)
- Read out the manual bias registers, save off in the micro in case of jostle or other cancel during nulling
- Set bias null timebase and flags
- Write zeros to manual bias registers
- Set (local to the micro) timer and wait for the appropriate time period to finish (we use 6.66s or 26s average time, mainly)
- When timer expires, tell the IMU to update the manual bias register from CBE
- We're seeing values in the manual bias registers after the last step, but still getting unstable heading output after integration (i.e. apparent rotation in our HRS heading output), almost as if the manual bias value is incorrect/insufficient
- Generally, our nulling cycle steps are:
- When the CBE is moved to the manual bias registers, does the value need to be adjusted due to the decimation rate that we're using?
- That is, after nulling cycle do we need to read out the manual bias registers, adjust for decimation rate (i.e. decimation period), then re-save?
- We had assumed up to this point that the CBE was accommodating for the decimation rate.
- Are most people using off-IMU resources to compute bias, rather than internal to the IMU as we are? Is our use case an expected usage of the bias registers?
Thanks in advance for your help!
Andrew