Let's Make Robots!

Best way to control DC motor speed



I'm new to this world and I'm trying to make a autonomous robot to chase around my cat. 

I bought a chinese electric car, a sharp sensor, 2 LDR and an arduino uno.

I was able to put everything together and the robot is running. I'm currently controling speed of the motor with a L293 and PWM output signal.

My problem is when I put the PWM outputing about 150, the motor runs slowly like I want but gives a high frequency pitch. If I go lower than that the motor just gives the pitch and doesn't move. If I go higher the motor runs fine.