I am controling a dc motor speed with PWM.By triggering mosfet with that pulse, the output voltage is not as expected when the motor is connected. For instance,suppose duty cycle of the pulse is 10%,average voltage between the motor is much more than 10% of Vs(around 30-40%). However when the motor is taken out(no load),the voltage measure between the motor is acurrate, thats mean Vout is nearly 10% of voltage source. Why is it happen? Is that i need a snubber circuit for mosfet? How snubber circuit work? How we calculate the value of R and C? Is that this is the solution? Or the problem occur because of motor? I have add a diode across the motor already.