I'm using a motor from Adafruit. (Product page link: https://www.adafruit.com/product/1201)

I measured the frequency of vibration with different voltages, but the frequencies are quite different from the frequency shown in the product page. According to the product page, the frequency of vibration is 11000RPM (around 183Hz) with 5V. However, I got only around 58Hz with 5V. I think I did some mistake in measuring the frequency, but I don't know what is the problem.

Here is what I did.

  1. I made a simple circuit with small resistor (1.5 ohm) and a motor. The resistor and the motor are connected serially.

enter image description here

  1. 5V was applied between two terminals (A - 5V, B - GND) with a power supply. At this point, 105~110mA current flows through the resistor.

  2. I used an oscilloscope to read the current through the resistor. The oscilloscope showed a wave form.

  3. I calculated the number of peaks for one second. There were around 700 peaks in 1 second.

  4. A rotation of a motor makes multiple peaks in the current wave. The number of peaks per rotation is twice of the number of commutator in the motor. As far as I know, the number of commutator in this motor is 6, so the number of peaks per rotation is 12.

  5. I divided the number of peaks for one second by 12, and got around 58 Hz. That's it.

I think I made a mistake on this process because the number I got is quite different from the number in the product page. Please help me finding the mistake.

  • \$\begingroup\$ About the 5th process in my post, I read this article about number of peaks per rotation . precisionmicrodrives.com/tech-blog/2011/06/08/… \$\endgroup\$ Commented Aug 18, 2015 at 19:24
  • \$\begingroup\$ About the 5th process in my post, I read this article about the number of commutator in the motor. precisionmicrodrives.com/vibrating-vibrator-vibration-motors/… \$\endgroup\$ Commented Aug 18, 2015 at 19:25
  • \$\begingroup\$ I would say this method of measurement is very inaccurate. Moreover it is just incorrect. It is measuring some kind of resonance frequency of the motor-resistor-table system. \$\endgroup\$
    – Eugene Sh.
    Commented Aug 18, 2015 at 19:33
  • \$\begingroup\$ Thanks for reply. Do you know how to measure the frequency of motor vibration? \$\endgroup\$ Commented Aug 18, 2015 at 21:05
  • \$\begingroup\$ Not really. But I would imagine mounting some kind of high-bandwidth accelerometer on the motor body, taking it's readings and performing spectrum analysis. \$\endgroup\$
    – Eugene Sh.
    Commented Aug 18, 2015 at 21:08

1 Answer 1


Eugene Sh. is correct (see comments), measuring motor vibration using an accelerometer on the motor body is the only real way to measure vibration directly.

I disagree that the method of measurement is inaccurate. The peaks that you are seeing are the individual commutations. If you know the motor pole/slots configuration, you can easily use this to determine the actual shaft speed. I have been doing this for years and can attest to the accuracy if you know your motor. Your article is correct.

Your resistance of 1.5 ohms is very high for a motor. This should probably be on the order of 0.1ohms or less. You are restricting the motor speed/torque by placing this resistor in series with your motor.

There are various sources of motor vibration which are always present, but you can only guess as to the relative amplitude if you don't measure them.

  1. The first is the vibration at fundamental frequency, which is the frequency that you were trying to calculate. This is usually the result of mechanical imbalance in the rotor, just like a wheel imbalanced on your car.

  2. Another source of imbalance is 'cogging'. This is caused when the rotor magnets line up with the stator and then continue and is a harmonic of the fundamental rotational frequency. You can feel cogging when you turn the shaft by hand and feel the slight differences in torque applied to your hand.

  3. Commutation method also causes a vibration. Those peaks on your current waveform are actually changing currents, which causes changing torque on your motor at those frequencies. Torque is directly proportional to current, so a current applied at frequency causes a torque ripple, causing vibration.

  4. The bearings are a small contributor to motor vibration and are usually only observed once the other three have been minimized. Ball bearings can sometimes be identified on a Bode plot of the motor vibration by looking at the number of balls in the bearing and multiplying that by the fundamental frequency. Funny things happen with bearings at high speeds, though, so this one is difficult. Probably no need to even look here.

There are a couple of other potential sources, but these are dominant. Without actually placing a three-axis accelerometer on the motor case and measuring, you can't be sure. Once you get the vibration data, you can usually determine the source of the frequency just by looking at its relationship to the fundamental.

  1. If highest vibration is at fundamental, rotor imbalance
  2. If the highest vibration is at cogging, you should be able to count the cogs as you rotate by hand, multiply that by the fundamental, and get the frequency of vibe.
  3. If the vibration is at the same frequency as the current peaks, then you are seeing a result of a differential torque applied via the commutation method.
  • \$\begingroup\$ +1 for the note about sensing the vibrations directly by an accelerometer. In fact, a crude accelerometer can be made extremely easily by connecting a bare piezo transducer to an oscilloscope, holding it at its rim and touching some part of the motor with its centre. You will see the mechanical vibrations on your scope; then it is simple to switch to the Fourier transform view and read out the frequency of the fundamental vibration. \$\endgroup\$
    – dominecf
    Commented Feb 14, 2016 at 11:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.