Tilt Error Compensation

Hi,First of all I many thanks to Chris for directing me to the right link, which has enabled me to have an enormous understanding to what I needed to do and gained other info that I was not aware of...Brilliant Forum!!!Right now I am working on the CMPS03 digital compass. I have managed to get the compass programmed and it works fine on the Horizontal/Yaw manoeuvre. I am working on the till error compensation right now (Pitch & Roll). However, I am struggling with the following areas:- I am experiencing a random flickering during the tilt “Pitch” on the North & South direction. Is this okay or is it due to something that I have done wrong?- I plan to use an additional CMPS03 to detect the Z-axis because I could not find another single axis compass, which also uses I2C interface. How can I use only one of the sensors reading when pointing on the Z-axis.- I have looked into the brilliant comparison in the FQA between “Gyros, Accelerometers, Infrared sensors....”. to avoid complexity and expenses as am still learning about UAVs & RC Aircrafts, I thought to go for Infrared sensors. is my understanding right that I would be able get the till measure through an Infrared horizon sensor and would it work with this compass module.Thanks for the support.Best regards,
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • ok,

    very little progress but getting there...I have managed to tilt correct the CMPS03 mechanically during pitch only... I am not sure how to do the "roll" correction as the reading on the East & West direction is not liner!!!

    also I am looking into getting the raw values from the Philips KMZ51 magnetic field sensor individually so I can use them to correct the error reading by using the three axis theory of the magnetic filed "Y" Horizontally forward and "X" Horizontally perpendicular to "Y". Then use other sensor to detect the "Z" Vertical component of the field.
    XH = X•cos(f) + Y•sin(q)•sin(f) - Z•cos(q)•sin(f)
    YH = Y•cos(q) + Z•sin(f)

    I know that you can access the raw values through the following registers, but I am not sure what would they be representing, and would i get two separate reading/values for sensor "Y" & "X".
    4,5 Internal Test - Sensor1 processed difference signal - 16 bit signed word
    6,7 Internal Test - Sensor2 processed difference signal - 16 bit signed word

    any suggestion for a cheap till sensors that is easy to use???

    And finally, I am interested to find out if similar sensors to the CMPS03 with one axis sensor?

    Many thanks for the help,
  • Hi Pekka,

    Indeed its a tough one, I am having a hard time with it. Thanks for the links tho, which I have already seen two of them...

    That is my aim once I have completed the project, I will post the results and the codes I have used. I am using Flowcode V3, its quiet easy for non experienced in programing...

    Thanks,
  • Hi, I tried to do two tilt compensation with just the two axis CMPS03 and a 3-axis accelerometer - but I failed miserably :)

    Here's the paper I used as my starting point: A Calibration Technique for a Two-Axis Magnetic Compass in Telemati...

    Other papers:
    Compass module application notes

    Generic explanation of tilt compensation

    Hopefully you'll get it working and share the results.
  • Hi Simon,
    My goal is to get the compass operational during all manoeveurs. my findings through the research i have done and the little knowledge I have is that I need to resolve it through "Electronic-gimbaling". (Just out of interest has anyone built a mechanical Gyro-gimbals)?


    regarding the flickering, interesting u say that because I took it off my test-rig to double check and i point it towards "North" and it still flickers! :(

    Regards,
  • Hmmm; as far as I'm aware, the CMPS03 will ONLY give accurate compass (direction) reading if it's kept horizontal - that's why you're seeing 'flickering' during tilt.

    I'm not sure what you're trying to do, but it doesn't sound like CMPS03 is what you need.
This reply was deleted.