Mostly, it is working really well, except one scenario. If I set the duty cycle to less than 25%, the motor stops completely. I get similar results when using the Arduino default PWM frequency, and when running it at 20kHz as I can with the Due (I can go slightly lower at 20kHz and still get movement).
I wonder if this is expected in this setup? I was really hoping to have a dynamic range in speed of more than a factor of 4. The motor is under a very low load (Just friction bearings) and checking the input voltage I am not seeing a drop in voltage that would indicate that the driver and motor are trying to draw more current than can be delivered, something I assume would happen if it was a friction problem.