Pwm on a DC motor

My motor is 12V 3A (wiper motor from car). RPM of motor is 39.I want to slow down to 10 RPM.

At first ,with this circuit, RPM slow down to 32, but i want lower RPM

And the second circuit is this

RPM goes from 0-39 ,but without load ,capacitor gets hot, i suppose with load it is going to blow up
I am using pin 3 at 490Hz, but i have also use pin 5 at 980Hz,with the same result

const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 3; // Analog output pin that the LED is attached to

int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            
  // map it to the range of the analog out:
  outputValue = map(sensorValue, 0, 1023, 0, 255);  
  // change the analog out value:
  analogWrite(analogOutPin, outputValue);           

  // print the results to the serial monitor:
  Serial.print("sensor = " );                       
  Serial.print(sensorValue);      
  Serial.print("\t output = ");      
  Serial.println(outputValue);   

  // wait 2 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:
  delay(2);                     
}