For some time now I’ve been interested in how effective the vibration damping of flight controllers has been when applied to larger, heavy lift UAVs such as large multicopters and helicopters. I’ve always been a bit suspicious that the damping is not actually effectively at low frequencies, and may even be detrimental. After all, it’s incredibly hard to effectively isolate a small mass such as a PCB.
My main goal was to find the most suitable controller for a helicopter or multirotor with a rotor speed of 1800rpm (30Hz). In general, we can expect vibration to be worst in the 1st, 2nd and 4th harmonic (30Hz, 60Hz and 120Hz) of that rotor speed.
Leaning heavily on @andyp1per’s work here https://github.com/ArduPilot/ardupilot/pull/11795#issuecomment-527620873 I devised a test to try to quantify the magnitude of the vibrations picked up in several flight controllers at those frequencies plus a few more.
The layout of the testing hardware is:
1- Vibration speaker: Produces a repeatable vibration if volume isn’t changed. https://www.amazon.ca/Resonance-Speaker-Frequency-Vibration-Louderspeaker/dp/B074H4S71B/
2- Flight controller
3- Amplifier https://www.amazon.ca/Nobsound-Bluetooth-Digital-Amplifier-Supply/dp/B07CWMHTCM/
4- Laptop running an online tone generator https://www.szynalski.com/tone-generator/
Things that were held constant throughout the tests:
- Weight was added to the flight controllers to ensure that they all saw the same magnitude of vibration from a given sound setting.
- Arducopter 4.0.3 uploaded to all.
- Amplifier volume set to 100%; computer volume set to 30%
- Double sided foam fixed the base of the speaker to the bench; the foam attaching the flight controller to the moving part of the speaker was also the same between tests.
Variables that may or may not have affected data:
- Different IMUs may produce different results. I’ve noted those in the table.
- The USB cable attaching the flight controller to the computer may have amplified or reduced vibration.
To test the flight controllers, I attached them one by one and sent a frequency to the speaker in a range of 30-180Hz in 30Hz increments. I connected to the flight controllers in Mission Planner and read live readings of VibeZ (since that’s the axis of excitation). These are the results:
Note that there is a marked difference in the value of VibeZ between different frequencies; this is due to a combination of how VibeZ is calculated, effectiveness of the vibration damping at different frequencies and the speaker system itself. Therefore we can’t make comparisons between different frequencies, but we can compare different flight controllers at the same frequencies. Also note that I we are only testing in the Z-axis; we can’t draw any conclusions whatsoever about the effectiveness in the other axes.
Conclusions from the data:
- The CUAV Pixhack V3 is quite a bit better than the others at frequencies up to 120Hz. This has been known anecdotally by the community but it’s nice to verify.
- The Cube Black is noticeably worse at the 60Hz and 90Hz frequencies. This also has been known of; the damping is said to have a resonance at ~60Hz but to me it looks like that value may be anywhere from 60-90Hz.
- The Cube Black seems to have excellent damping characteristics at >120Hz. It surprises me that it’s so much better than the others but that could be errors in testing.
- The Cube Orange seems to have similar damping to the Cube Black which makes sense.
- The Pixhack V5+ has slightly more effective damping than the Cubes. They also use foam damping but it seems like they add ballast to the IMU board to increase effectiveness of the damping.
- Based on the above data, the Pixhack V3 would be the best choice at an 1800rpm rotor speed because it outperforms the others at 30, 60 and 120Hz.
I was particularly interested in the results from the Cube Black because the vibrations seemed so bad. I devised a further test so that I could compare vibrations on the first (damped) IMU against the vibration of the third (undamped) IMU. To do this, I changed the parameter INS_ENABLE_MASK to 4 which meant that IMU1 and IMU2 were disabled. The results of the side-by-side comparison of IMU1 and IMU3 resulted in:
From this data, it’s plain to see that for frequencies less than 120Hz, the foam damping is amplifying the vibration that the IMUs see, thus confirming my suspicions. So while the manufacturer claims that frequencies of 60Hz should be avoided, I would expand that to include all frequencies less than 120Hz. This means that the Cube Black (and therefore most likely the Cube Orange) is not a good choice for large helis and multis.
Some takeaways I have from these experiments:
- Internal damping is a great concept for and highly effective for small to medium size copters.
- Internal damping is hard to execute for large copters; the weight of the IMU PCB is just too light to be able to effectively damp out low frequency vibrations. The best bet for large copters is to use external damping options, whereby the weight of the isolated components can be increased by using ballast or adding other components (eg. radios, GPSs etc.)
- It would be nice to be able to choose which IMU was the default IMU in Arducopter (unfortunately though the Cube Black’s third IMU is unheated which is less than ideal up here in Canada).
- I would like to get my hands on some other flight controllers such as the Durandal and the CUAV X7 Pro and Nora.
Hope this has been insightful,
Jason