I am using magnetometer LIS3MDL to work more like a E-Compass. We are measuring azimuth angle. I am not able to get tilt compensation right. Is there any reference design specific to this chip.
This is the equation i am trying to use. Please let me know if there is something wrong. I am able to verify pitch and roll variations correctly.
roll= atan(accData.fy/accData.fz);
pitch= atan(-accData.fx/accData.fz);
cosRoll = cos(roll);
sinRoll = sin(roll);
cosPitch = cos(pitch);
sinPitch = sin(pitch);
Xh = (magData.fx)*cosPitch + (magData.fy*sinPitch*sinRoll) + (magData.fz*sinPitch*cosRoll);
Yh = (magData.fz)*sinRoll - (magData.fy)*cosRoll;
magHeading = atan2(Yh, Xh);
We will have to mount this on a metal structure, How can i compensate for soft iron.
Please find the attachment for sensor orientation.
