I am trying to control the speed of a 15W DC-motor with operating voltage of 12V using an IRF640 n-channel MOSFET as shown in the picture below but without the pull-down resistor RMS = 10kOhm. Instead of it, I always set the Arduino PWM digital pin to value 0, thus when the motor should turn off the MOSFET gets 0V at its gate.
The problem I face is that even with the maximum value of PWM (255) I don't get the motor to rotate as fast as it does when it's plugged directly into 12V. I get that there is a voltage drop in the MOSFET, but the speed should not drop as much as half of its normally is.
Can the absence of the pull-down resistor Rms 10kOhm case this effect?
Do I need to use a MOSFET gate driver in order to achieve better performance of the DC-motor? (The maximum power the motor uses during operation is not higher than 18 W) If yes, what MOSFET gate driver should I use in this case?
Arduino pins work with voltages 0V - 5V and maximum current that can pass trough them is 20 mA.
EDIT: Arduino Uno's PWM signal frequency is 490 Hz on each pin except for two pins where the frequency of PWM signal is 980 Hz. Source