Hello,

Here is Tolic from Edinburgh.

I'm working with ADXRS453. Everything is fine with startup & readout. But I can't calibrate it.

I have two devises on SPI - ADIS16210 & ADXRS453. Period of data update is 10mSEC.

At a start point I have zero in live inclination register. After some movements Clockwise & Counter-clockwise I return it to start position. There are some negative remainder & it increases with further movements... So it's impossible to calibrate it.

Is it possible to resolve this problem?

Thanks.

Hi As far as I can make out

(a) you are attempting to use the two devices in conjunction to make a more accurate estimation of tilt in a moving land vehicle.

(b) your topic post is mislabelled , it should read " ADIS16210

Negative remainder after returning to start position." , the current title is extremely confusing(c) your gyro is mounted with the axis horizontal , presumably aligned with the vehicle pitch axis.

I strongly suspect you are going about this the wrong way.

You show data from the ADIS16210 as being exactly &h0000 at the beginning ,

this is extremely unlikely, given the sensor noise, possibly you reset the chip at the beginning of each run and are reading null data as the filter hasn't settled yet.If you move the platform from A linearly to B and back to A again, the internal filter will accumulate an offset (i.e. it remembers more of the last deceleration to A compared to the earlier acceleration from B). If you set avg_cnt to 11, the filter has a 4sec time constant, you will need to wait 20seconds or more before the filter settles.

You really need to use minimal filtering, record data continously, and do an average of say 20 data points at locations A,B,A .

You also need to do do your own filtering of the accelerometer and gyro data, and ensure that both have the

samefiltering time constant.You then need to blend the two data streams, ideally with a Kalman filter, but you may get close enough for your purposes by adding

LP_filtered tilt + HP_filtered integrated_gyro_rate ,

which is just the following, (if using a first order filter):

LP_filtered tilt + LP_filtered gyro_rate

You really need to fully understand the error models inherent with both devices.

Also you need to be aware that your single axis will have unavoidable errors because you are not measuring enough variables, you need all of these to get an accurate answer

x,y,z accellerations , x,y,z rates , vehicle velocity, vehicle heading, earths rotation rate=0.004deg/s.

In a moving vehicle application, with your 1 axis system, you will see residual errors because you are not accounting for

centripetal acceleration, this is unknown without velocity and the other two gyro rates.Read this Inertial navigation system - Wikipedia, the free encyclopedia to understand the tip of the iceberg you have just collided with.

You are really trying to make a simplified AHRS (Attitude Heading and Reference System) (sometimes AHARS) , .like this:

SBG Systems - Ellipse-A: Miniature AHRS