PWM and motors

Hey guys

I have built a robot using arduino UNO as controller and a L293D quad half H-bridge as motor driver. The motors are Pololu micro metal gear motor 100:1 HP hooked up to a 10,8V battery.

I am controlling the speed using arduinos pin 9 and 11 with PWM, but it seems difficult to get even a small amount for accuracy in speed, and the robot doesn't even move at duty cycles below 25%, and it is always quite noisy.

In the hope of getting more accurate speed control and get rite of the noise, I increased the PWM frequency from the standart 390Hz to about 31400Hz. I got rite of the noise :)

But now the robot is not responsive to cycles below 50% and the lower the cycle the more one of the motors drag, making it turn when it should have been moving strait.

So now my question is; do you have any idea why the increase in PWM had that effekt, perhapse not the drag, but atleast the reduced speed?

And would I gain anything by converting the PWM to an analog voltage and putting that across the motor instead? (I have already drawn up the schematics for such a driver, but I would like to know before I buy the parts)