Motor not moving on PWM from PID

Does the PID loop not work then? With an integral term it should cope with friction.

You want several kHz PWM for a motor of that size, possibly ultrasonic to avoid
audible noise. However those Darlingtons aren't fast to switch off, MOSFETs are
a far better bet.