How to eliminate vibrations from reading the AltIMU-10 v5 accelerometer in an RC plane

Hi,

This is my first post, so welcome to everyone :slight_smile:

I am currently using AltIMU-10 v5 to measure the position of my RC plane that I created.
The readings are correct and all readings are OK with the plane stationary without the engine running. Unfortunately, when I start the aircraft engine, vibrations appear on the entire structure of the aircraft and the accelerometer readings are incorrect.
I tried to choose some values ​​for CTRL1_XL - Linear acceleration sensor control register 1, but without any success.
I tried to use Kalman Filtering in my arduino program but also without much success.
Below are some examples of what my indications are.
The results are scaled to + - 90 degrees.
White - X
Red - Y
Green - Z

Sensor when the engine is turned off
AltIMU-10 v5 OK

Sensor when the engine is turned on after a while and turned off after a few seconds

AltIMU-10 v5 NOK

I have no idea how to approach this topic and how to reduce this noise / interference.
Anyone have any ideas?
Maybe someone had a similar problem and solved it somehow?
Maybe you recommend some other sensor?

Thanks in advance for your help!

The accelerometer measures vibrations, so the options are to average the accelerometer readings for a sufficiently long time, and/or mechanically dampen the vibrations.

Motor mounts should be made of rubber or other flexible material and you could try mounting the sensor on a very soft foam block.

Thanks Jim,

I will try mechanically dampen the vibrations. I would like to correct the position of the plane during the flight, so I wanted to avoid average the accelerometer readings to have a “real-time” reading.

I bought various anti-vibration elements: vibration isolators, anti-vibration pads, etc. We’ll see if anything helps.

If you have any more ideas, let me know.

If I manage to do something - I will let you know. Maybe it will help someone :slight_smile:

Hello, MirekRC.

In addition to what Jim said, sometimes you might be able to filter out high frequency noise or vibrations by reducing the bandwidth of the accelerometer (basically applying a low-pass filter to its output). However, it sounds like you’ve already tried adjusting the settings in CTRL1_XL, so that might not be an effective approach for your situation if you haven’t seen any promising results. (I would expect this to be more effective if the vibration is at a consistent high frequency, although it isn’t something we have much experience with).

What values did you try in CTRL1_XL? If you want to try some more and you’re not sure whether you’re writing the registers correctly, feel free to post the relevant part of your code and I can take a look.

Kevin

Hello, kevin,

Thanks for the information.

In general, I will try to prepare a broader description of this matter and throw in a few graphs and data on how the sensor behaves in different situations.
I need a little more time for this so I assume that in about 2 weeks I will come back to this topic here.

Thanks again