Speed control for variable voltage motor

Hello all I am new to arduino as well as electronics in general. I have 2 questions.

I am currently trying to build my own electronic speed control for a dc motor that I have. Now when I check motor it looks like the motor speed is dependent on the voltage level. Starting at about 3 volts and maxing out at 5 volts. The higher the voltage the faster the motor goes. When I use a direct varying voltage I can see that I can control the motor's speed but when I use PWM voltage control with the Arduino analogWrite method it does not seem to work with my motor. Is there something wrong with the motor? When I use the PWM varying voltage I can hear a small humming from the motor but the motor does not spin. When I use direct with a potentiometer the motor does work.

so my 2 questions is.

  1. Is there any way to control the voltage level that is outputed from an analog pin in the Arduino other then PWM?

  2. Any insight or explanation why my motor does not work with PWM?

thanks in advance for any help.

cheers

won

The Arduino doesn't put out enough juice to drive a motor. You cannot hook one up directly to the output pin. Try this instead:

http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads
http://itp.nyu.edu/physcomp/Labs/DCMotorControl