Vibration analysis

Hi,

First of all - it's a long read so thanks in advance.

I'm trying to improve the vibration in my quad and I have a few questions.

First some details: I'm using a Drotek 10DOF with a MPU9250 imu connected by i2c to a raspberry pi that samples the gyro and accelerometer at a stable 1Khz (using the FIFO).

Build log is here: http://jeanleflambeur.wordpress.com/

My first test was without any damping and propellers - just the motors at half throttle. I was getting +- 8m/s^2 average in all axes. It's probably due to the bad Suppo 2208 bearings and unbalanced motor bell.

For the second test I detached the whole electronics case - at around 100g - from the quad arms using 8 silicon dampers (see here: http://jeanleflambeur.wordpress.com/2014/09/18/hw-is-ready/) with ear plugs in their center.

The result was better at around +-3m/s^2 accelerometer vibration.

I've read all I could get my hands on on this topic - including the damping or no damping debate here on diydrones so I understand the basics behind the noise:

- useful bandwidth of the quad is < 10Hz

- most of the noise comes from the motors themselves at a frequency of RPM/60 Hz + props at RPM/30 Hz (for 2-blade props) and in practice it's between 40-300Hz

- there are interactions between the frequencies of the 4 motors at the center of the quad which can result in lower frequencies

- mechanical damping has to be tuned for the actual mass of the imu/board/case

- sampling aliasing is an issue if the nyquist frequency is at or below the max vibration frequency and this renders digital low pass filters useless

- there are resonances the to the frame

- vibration is unavoidable in-flight due to the interaction of props and air flow even if motors and props are balanced

Since I sample at 1Khz and my motors go as high as 200hz (400Hz with 2 bladed props) I imagined I can try to analyze the noise and design a filter for it.

Yesterday I finished the first test - I send all the gyro + acc data from the quad to the ground station through wifi and analyzed it with FFTW to see it in real-time.

To my surprise the noise is very well behaved. So:

1. (I'm testing without props for now, so it's not realistic yet)

2. Violently rotating and moving the quad around results in a frequency lower than 5Hz. I conclude from this that the useful signal frequency is <5-10Hz.

3. Motors at min throttle (the minimum stable throttle for all 4 of them) results in a frequency of 40Hz without any harmonics

4. Throttling up increases the frequency  - as expected - until half-throttle where the frequency stabilizes at around 100Hz up until the throttle goes to 70%. The freq jumps in that moment to ~130-150Hz. I assume I hit the resonance frequency of the quad frame.

Since there is such a high gap between the useful frequency (5Hz) and the min noise frequency (40Hz) I should be able to design a very efficient filter for this. Try it out here:

http://www-users.cs.york.ac.uk/~fisher/cgi-bin/mkfscript

with these params:

filtertype = Butterworth lowpass, order = 4, samplerate = 1000, corner1 = 10

3691154252?profile=original

So with this filter I should get an attenuation of close to zero (<0.02) at around 50Hz.

I don't understand the phase shift though and if it's something I need to worry about at frequencies of <5Hz.

Here's a zoom from 0 to 50Hz:

3691154133?profile=original

So - considering my limited knowledge of digital signal processing and filters, my questions are:

- Am I missing something? So far this looks too easy

- Is it worth it to increase the sample rate to from 1 to 8Khz? The 9250 cannot do any intermediary sample rate so it has to be either 1 or 8Khz

- Is the phase shift (the blue line in the graph) something that I need to worry?

- Does a stiff mount make more sense than a damped one considering that all vibration is below the nyquist frequency (this is my assumption, of course)? I'm thinking that any damping that is not properly tuned will bring some of the high frequencies into my useful bandwidth of <10Hz and I will not be able to eliminate them with my LPF.

This week I will gather more data and I will post here all my findings.

Thanks

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

Join diydrones

Email me when people reply –

Replies

  • Here's a screenshot of a LPF applied to the motor noise while rotating the quad around.

    The motors spin at very low throttle (15%) and there are no props attached.

    3701844098?profile=original

    In the accelerometer (lower graph) there is still some low frequency noise visible but overall it's way cleaner.

    The filter is a 4-pole butterworth with 15Hz cutoff.

    class Butterworth
    {
    public:
    /* Digital filter designed by mkfilter/mkshape/gencode A.J. Fisher
    Command line: /www/usr/fisher/helpers/mkfilter -Bu -Lp -o 4 -a 1.0000000000e-02 0.0000000000e+00 -l */

    static constexpr size_t NZEROS = 4;
    static constexpr size_t NPOLES = 4;
    static constexpr float GAIN = 2.286922409e+05;

    float xv[NZEROS+1], yv[NPOLES+1];

    float process(float t)
    {
    xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = xv[3]; xv[3] = xv[4];
    xv[4] = t / GAIN;
    yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3]; yv[3] = yv[4];
    yv[4] = (xv[0] + xv[4]) + 4 * (xv[1] + xv[3]) + 6 * xv[2]
    + ( -0.7816187403f * yv[0]) + ( 3.3189386048f * yv[1])
    + ( -5.2911525842f * yv[2]) + ( 3.7537627567f * yv[3]);
    return yv[4];
    }
    };

    There is a slight delay of a few milliseconds visible that I need to measure properly.

    This weekend I'll make a video of the filter in action, including with props attached.

This reply was deleted.

Activity

Gremsy liked Gremsy's profile
Mar 12
DIY Robocars via Twitter
RT @chr1sa: Donkeycar 4.4 released with tons of new features, including path learning (useful with GPS outdoors), better Web and Lidar supp…
Nov 27, 2022
DIY Robocars via Twitter
RT @NXP: We are already biting our nails in anticipation of the #NXPCupEMEA challenge! 😉 Did you know there are great cash prizes to be won…
Nov 24, 2022
DIY Robocars via Twitter
RT @gclue_akira: レースまであと3日。今回のコースは激ムズかも。あと一歩 #jetracer https://t.co/GKcEjImQ3t
Nov 24, 2022
DIY Robocars via Twitter
UC Berkeley's DIY robocar program https://roar.berkeley.edu/
Nov 24, 2022
DIY Robocars via Twitter
RT @chr1sa: The next @DIYRobocars autonomous car race at @circuitlaunch will be on Sat, Dec 10. Thrills, spills and a Brazilian BBQ. Fun…
Nov 24, 2022
DIY Robocars via Twitter
RT @arthiak_tc: Donkey car platform ... Still training uses behavioral cloning #TCXpo #diyrobocar @OttawaAVGroup https://t.co/PHBYwlFlnE
Nov 20, 2022
DIY Robocars via Twitter
RT @emurmur77: Points for style. @donkeycar racing in @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/Y2hMyj1…
Nov 20, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Going to @diyrobocars race at @UCSDJacobs https://t.co/Rrf9vDJ8TJ
Nov 8, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Race @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/kK686Hb9Ej
Nov 8, 2022
DIY Robocars via Twitter
RT @PiWarsRobotics: Presenting: the Hacky Racers Robotic Racing Series in collaboration with #PiWars. Find out more and register your inter…
Oct 23, 2022
DIY Robocars via Twitter
RT @Hacky_Racers: There will be three classes at this event: A4, A2, and Hacky Racer! A4 and A2 are based around UK paper sizing and existi…
Oct 23, 2022
DIY Robocars via Twitter
Oct 23, 2022
DIY Robocars via Twitter
Oct 19, 2022
DIY Robocars via Twitter
Oct 18, 2022
DIY Robocars via Twitter
RT @NeaveEng: Calling all UK based folks interested in @diyrobocars, @f1tenth, @donkey_car, and similar robot racing competitions! @hacky_r…
Oct 13, 2022
More…