Gran voto a favor de la sugerencia "obvia" de Nicolas D para usar el microstepping que hará que el motor se mueva sin problemas, los chips del controlador de 16 microstep (Allegro A4988 por ejemplo) están disponibles y hay algunos controladores que van mucho más lejos (64 microsteps o más).
Sin embargo, si necesita movimientos pequeños, suaves y precisos, lo mejor que puede hacer es ajustar el sistema hacia abajo para que no confíe en los límites de la calidad del motor para lograr la suavidad. Moverse de 0,1 a 1 mm / seg no es un rango de velocidades muy grande, probablemente podría ajustar el variador desde el motor a una relación de 100: 1 o inferior (por lo tanto, 100 veces mejor precisión). Si conoce la velocidad máxima que puede funcionar el motor, elija engranajes que moverán el dispositivo a su velocidad máxima (1 mm / seg) a la velocidad máxima del motor. Esto le dará un mejor rango de control y aumentará la precisión alcanzable.
No dices cuál es el engranaje de tu sistema; al indicar el movimiento en mm / seg, asumo que tienes algún tipo de mecanismo tipo tornillo de avance.
Incluso las máquinas CNC / impresoras 3D bastante básicas pueden alcanzar una precisión de movimiento de 0,1 mm mientras se mueven mucho más rápido que 1 mm / seg, utilizando motores paso a paso muy baratos y amp; unidades de disco La mayor parte de la imprecisión se debe al juego en el sistema de transmisión (generalmente tornillos de avance) o al flexión en el cuerpo de la máquina debido a las cargas mecánicas.