Skip to content

Modules Vibration Analysis

raemin edited this page Jun 11, 2019 · 6 revisions

This module is outdated !

Instructions for the old module are provided at the bottom of this page (see 'Outdated Module Description'), but should you want to monitor vibrations, just perform an autotune and have a look at the graphs, it provides quite a good overview: no need to find the appropriate frequency, no need to isolate noise from motion, etc...

Here is a tune plagued with lots of vibrations:

Autotune Recorded Vibrations

Same tune after some software filtering:

(see FAQ on how to apply software filtering and physical dampening)

Autotune dampened vibration

Same tune after the proper filtering is applied;

Autotune Ok

Source : https://groups.google.com/forum/#!topic/phoenixpilot/Ah5ZidTWSAk

Outdated module description

You can test your vehicle's vibration in flight, and use that data to improve vibration dampening. You could use it on the test bench to detect if a particular motor is poorly balanced (although test-bed vibration response can be very different from in-flight vibration).

Note:

  • It can't really work for the high frequency stuff that is problematic for accelerometer

On the hardware side

  1. Enable the VibrationAnalysis module, click the red up arrow (tooltip: Save), and then reboot.
  2. After rebooting, turn VibrationAnalysis on
  3. Configure VibrationAnalysis->FFTWindowSize to 16, 64, or 256. FlyingF3 only has enough RAM free for 16 samples. Revolution/RM have enough RAM for 256 samples. The full 1024 samples requires 30ko of memory. GCS cannot handle that many objects anyway (64 samples or less).
  4. Configure the sample rate to the appropriate frequency. The frequency band you will be plotted is half the SampleRate frequency (don't blame me, this is the math). So for instance, at 20ms, that's 50Hz. Thus, if you are interested in frequencies around the motor speed, you will want to set the sample rate to 1/(2*motor_rpm * pi/180). So for a 10" blade which spins around 4800 rpm, you'd want about 5ms in order to best capture the motor vibrations. For a 2300kv quad on 3s at 25% throttle you'd want 4ms, and 3ms with a 4s lipo.
  5. Reboot.
  6. Change the VibrationAnalysisOutput metadata to FlightUpdatePeriodic = 1
  7. Click the red up arrow and reboot.

VibAnalysis System Brower

Vibration Analysis enabling testing

Vibration Analysis Set Periodic

On the GCS

That's it for the flight controller. Now we have to configure the GCS:

If you do not have a Vibration scope, then go to the Scopes page, and activate "Windows-->Edit Gadgets Mode", replace one of the scopes by the vibration analysis scope: the scope titles will appear at the top of the scopes. Change the scope you want to "Vibration".

Scope 1

Scope 2

Go to Menu Preferences/Options-->Scopes.

and change the configuration as shown in the screenshot. You can probably leave it at measuring the x-axis, unless you have a reason to suspect that there might be more vibration in the y. This is likely not the case on a quad, but could be on a fixed-wing.

The Max value can be set to 0 to autoscale (there's a tooltip to remind you of this if you forget). However, I find that setting the autoscale makes it a little hard to compare before and after shots, so I like to use it only to get a feel for the right range. I find that 150 is a nice value.

Scope Preference

You should be good to go. Your scope should now give results like this, where the bottom axis is the frequency, the y-axis is time, and the color is intensity:

Scope

Clone this wiki locally