Drone arm resonance
Does a printed drone arm resonate with its propeller anywhere between hover and full throttle?
You ask
Will this printed arm resonate with its propeller anywhere from hover to full throttle?
Wobbl runs
$ wobbl simulate ../drone-arm/arm.py "Will this printed arm resonate with its propeller anywhere from hover to full throttle?" \ --physics vibration -m pa12 --fix "bolt holes d=3.2 and x<0" \ --mass "80 g at 150,0,32 @ top and within 15 of 150,0,15" \ --rpm "5000-12000 rpm" --blades 2
Rotor speed 11,780 rpm of 11,780 rpm
peak amplification
16.6 x static
FAILS
Mode driven hardest 196.3 Hz, once per turn 196.3 Hz
Passes the 4.54 x static limit at 5,220 rpm
Checks, numbers and charts
FAILSMode 3 at 196 Hz sits inside the once per turn from 83.3 to 200 Hz, where the response grows about 17 times.
- First mode
- 30.4 Hz
- Nearest excitation
- mode 3, 0% away
- Damping
- 3%
- Confidence
- high
- passmesh convergence
- passmass balance
- infomass participation
- passhand calculation
- passunits and sanity

FAILS. Mode 3 at 196 Hz sits inside the once per turn from 83.3 to 200 Hz, where the response grows about 17 times. Confidence: high. passed mesh convergence, mass balance, hand calculation, units and sanityfirst mode: 30.4 Hznearest excitation: mode 3, 0% awaydamping: 3% Checks: [pass] mesh convergence: frequency of mode 4 settled: 221 -> 219 Hz over 2 meshes, last change 1.0% [pass] mass balance: the part weighs 120 g with its attached masses, and Wobbl's own mass matrix gives the first 6 modes a modal mass of one to 0.00032%, as CalculiX scaled them [info] mass participation: the modes found move 88% of the mass along x, 94% of the mass along y, 93% of the mass along z [pass] hand calculation: Rayleigh's quotient with the static sag under 1 g along y (0.291 mm) gives 30.4 Hz, +0.0% from mode 1 at 30.4 Hz [pass] units and sanity: first mode 30.4 Hz, mass 120 g: plausible Assumptions: - Linear elastic, small vibrations about the unloaded shape. Supports are as rigid as modeled, while real mounts flex, which lowers every natural frequency. - Damping is the same for every mode, 3% of critical, typical of a plastic, wood or composite part. The response at a resonance grows as damping falls. - Nylon PA12 (SLS or MJF): E 1700 MPa, Poisson 0.39, density 1010 kg/m3, von Mises vs yield 48 MPa (HP 3D High Reusability PA 12 datasheet; EOS PA 2200). - Mass 1, 80 g (80 g at 150,0,32 @ top and within 15 of 150,0,15), is a point at (150, 0, 32) held rigidly by its faces, with no rotary inertia of its own. - Printed part treated as isotropic at 100% infill; across the layers it is roughly 90% as strong. Pass --print-direction to check that. Suggested fixes: - Stiffen to move mode 3 above 480 Hz: A natural frequency grows with the square root of stiffness, so mode 3 at 196 Hz needs about 6 times the stiffness to clear the blade pass (2 blades) and the once per turn by 20%. For a beam carrying a heavy end mass that is a section about 1.8 times as deep in the bending direction, and when the beam's own mass dominates about 2.4 times as deep. - Or move mode 3 below 69.4 Hz: Softer mounts or isolators that bring it to 0.13 times the stiffness put the mode under the excitation, which works when the speed only passes through it on the way up. - Lighten the attached mass: With an end mass dominating, the frequency goes as 1/sqrt(mass), so 2.4 times the frequency needs about 0.17 of the mass. - Add damping: At resonance the response is about 1/(2 zeta) of the static one, 16.7 times now. A damping layer or a damped mount that doubles the damping halves it. Images: modes: images/modes.jpg, frequencies: images/frequencies.pngReport: report.htmlAbout this example
This is the PA12 arm from the drone-arm example, bolted into the frame through the two holes in its root block, now carrying what sits on its pad, an 80 g motor and propeller with their center 17 mm above the pad. The propeller turns from 5000 rpm at hover to 12000 rpm at full throttle, so any imbalance pushes the arm once per turn, from 83 to 200 Hz, and the two blades push it each time one passes, from 167 to 400 Hz. The usual rule keeps every natural frequency at least 20% clear of both.
| Result | Value |
|---|---|
| Verdict | fails, because two modes sit inside the excitation bands |
| Mode 1, side to side bending | 30.4 Hz, below hover |
| Mode 2, up and down bending | 43.7 Hz, below hover |
| Mode 3, the arm twisting under the motor | 196 Hz, inside both bands |
| Mode 4, the motor rocking along the arm | 219 Hz, inside the blade pass band and 10% above once per turn, moving 57% of the mass |
| Mesh convergence | 221 then 219 Hz for mode 4, a change of 1.0% |
| Mass balance | 120 g of arm and motor, with every mode at unit modal mass to 0.0003% |
| Hand calculation | Rayleigh’s quotient from the sag under 1 g gives 30.4 Hz, the same as mode 1 |
The two bending modes sit below hover, which is fine as long as the motor spins up through them quickly. The trouble is the motor itself, which sits high on a narrow pad and twists and rocks the thin tip of the arm near 200 Hz, right where both the imbalance and the blade pass push. Wobbl suggests stiffening the tip enough to lift mode 3 above 480 Hz, which takes about six times the stiffness, or mounting it softly enough to drop under hover. A wider and deeper pad with the motor sitting lower is usually the cheaper way to stiffen that tip.
The report opens with a 3D view of the arm with a rotor speed slider from 5000 to 12000 rpm. At each speed
the arm takes the shape of the mode driven hardest, colored by how far each spot moves against its static
motion, saved as output/scene.wobbl. The run also writes output/playback.json with the arm’s surface and
the mode shapes nearest the excitation.
Run it yourself
$ git clone https://github.com/sohan-bhat/wobbl$ cd wobbl/examples/drone-arm-resonance && ./run.shThe part, the script and every output are in examples/drone-arm-resonance on GitHub.