Hi,
I use classic 3/6V CC motors like this
https://www.gotronic.fr/art-kit-moteur-encodeur-fit0450-27583.htm
When connecting direct current (6V) on motor connectors, it works, slowly or fast depending of voltage and battery power. No spcial noise.
When using Arduino motor shield, at full speed (255) only motor sound could be heard (i guess).
However when reducing speed, even on half, motor make a "engine roar", hard to explain. It sounds like somebody was avoiding it to work
Globally when speed is "low", motor doesn't work (still with a such sound), it's only "turns" after speed 90/100.
What could happen ?
Is it possible to make motor work at low level, without this sound ?
Regards,
The L298 motor driver on that shield is ancient and not at all efficient technology. It will drop from 2 to over 4 volts of your motor power and dissipate as waste heat. That is one reason that "it's only "turns" after speed 90/100". At best the motor is only getting 4V.
What is powering the motor?
You will have better luck with more modern motor drivers like these from Pololu. Choose the motor driver based on the stall current of the motor and the motor supply voltage. The stall current can be several times the running current. The stall current will be drawn, briefly, every time that the motor is started. The stall current should be listed in the motor data sheet. In the absence of a data sheet, the stall current can be estimated. To estimate the stall current, measure the motor winding resistance. Take several measurements rotating the motor a bit between readings. Use the lowest reading in the calculation. The estimated stall current is the motor supply voltage divided by the measured resistance.
You can increase the frequency of PWM to be beyond the range of human hearing to get rid of most of the noise.