Let's Make Robots!

Dagu Rover 5 motor whistle

I recently bought a Dagu Rover 5 with two motors and encoders (not yet connected).  I'm using a DFRobot Romeo to control it and using the supplied 8-cell battery holder to power it.

Though I haven't done much with it yet, it's been fun.  My question is the (acoustical) noise that the motors make.  Whenever power is applied, a low-pitched whistle comes from the chassis, presumably from the motors.  I have found a couple of online Rover 5 videos that confirms it isn't just my chassis that does this.  Still, it doesn't sound like a normal sound.  Does anyone know what causes this and whether it's something to worry about?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

That is the frequency of the PWM. Arduino PWM frequencies are 500Hz or 1KHz depending on which PWM pins are used. Picaxe use higher frequencies but your motors loose torque at high frequencies

Thanks for the reply.  I was sure that there was a reason - I will either get used to the noise or wear earplugs.

As you are using the Romeo which uses an L298N you can try to increase your PWM frequency. I believe it is possible to set it to 32KHz. It will probable cause the motors to loose torque so you would need to increase the voltage to the motors to compensate.

Admittedly I would not recommend the Romeo for the 2WD Rover 5. It uses the surface mount L298N which cannot dissapate a lot of heat unless you mount a huge CPU heatsink on it.

The stall current for the Rover 5 motors is 2.5A, the Romeo is only rated for 2A maximum and even then it will severly overheat.

I noticed pololu state their motor controllers use ultrasonic signals for pwm. This gets around the noise issue but I didn't realise there was a loss in torque when you did this. Thanks Oddbot.

It depends on the motor. Some motors like those in electric bikes and power tools have a very low inductance value to begin with so they can draw high currents. These motors are designed to run at ultrasonic frequencies without a noticable loss in torque.

The little motors used in hobby robotics have a much higher inductance so that they do not draw a lot of current when running under a light load. As such they are noticably affected by higher frequencies. This was one reason I stopped using picaxe. Most analog servos drive their motors at about 100Hz which is low enough that most people don't hear it.

Another thing to be careful of is that not many motor drivers can handle high frequencies. The L293D is only rated for 5KHz. The L298N on the otherhand is rated for 25KHz typical and 40KHz maximum.

If you try to use PWM frequencies higher than the recommended values then the "H" bridge can short out.