Pwm on a DC motor

As noted by MarkT, a diode across the motor provides very slow current decay because you effectively have a short across the motor winding, therefore very little voltage and therefore a low dI/dt (dI/dt = V / L).

If you want fast current decay, you need at least two transistors and two diodes. Draw out the full circuit for an H-bridge with reversed diodes across each transistor, delete the top-left & bottom-right transistors, and delete the bottom-left and top-right diodes. You PWM both transistors (high side and low side) together.

When the transistors are on, current flows left-to-right through the load and increases according to dI/dt = (V_src - 2*Vcesat - I_load * R_load) / L_load.

When the transistors are off, current continues to flow left-to-right through the load but now is being forced through the diodes back into your power supply bus (hope you have some nice big, low ESR/ESL capacitors on it!). Because the voltage is opposed to the current, the current will now reduce at dI/dt = -(V_src - 2*Vdiode - I_load * R_load) / L_load.

If you use FETs instead of BJTs then the body-diodes are included for free so you don't need to add external diodes.