Muy buenas. Quiero compartir una solución que he conseguido obtener tras un montón de tiempo desesperado. La comparto porque tras una intensa búsqueda en la lista de correo y en la wiki, no he encontrado que la ponga en ningún sitio. Si es así, perdonadme, pero a ver si a alguien le sirve.
Tengo una Prusa i2 con una RAMPS 1.4, un hot-end all metal de E3D, que por cierto es una gozada, y unos motores NEMA 17 de 28 N·cm.
Me ocurría constantemente lo siguiente:

Esa pieza debería parecerse a un cuadrado, la pared totalmente recta. O sea, unas pérdidas de pasos brutales, increíbles, en casi todas las piezas. Comprobé lo usual:
- Correas muy poco tensas: Puse tensores, y un par de inventos cerca de las poleas para aumentar el número de dientes de la correa en contacto con ellas en todo momento.
- Correas demasiado tensas que obligaran al motor a hacer demasiada fuerza y no llegara: En cierto momento me pasé de tensores, y aparte de no ir mejor, la polea impresa se me destrozó por la fuerza. Aparte, costaba mucho más mover los ejes manualmente, por tanto al motor lo mismo.
- Corriente de los drivers insuficiente: Probé a subirla y a bajarla en casi todo su rango. Descubrí además que cuando la subes mucho, dejan de funcionar los motores, no sé bien por qué. Al final la calibré así: Probando diferentes velocidades en mm/min en el movimiento manual del pronterface, y cuando veía una que me parecía bastante alta (como 6000-7000 en los ejes X/Y) subir la corriente con el destornillador hasta que los ejes sean capaces de moverse sin "quejas" a esas velocidades, y no subirla más.
- Velocidad de impresión demasiado alta, bajé incluso la velocidad del traveling a 40 m/s por si acaso.
- Demasiados cambios en la direccion: Bajé mucho las aceleraciones en Marlin (por cierto, hacedlo, casi no se nota en velocidad y ahorra errores), bajé el límite de vibraciones en Hz del Slic3r, velocidad del retract...
- ...
Y de repente pensé... La RAMPS 1.4 tiene dos fusibles rearmables, los dos cuadrados amarillos grandes. Uno de 11A para la cama caliente y otro de 5A compartido por: Hot-end, drivers de motores, ventilador... Y me puse a hacer cálculos y vi que esos 5A me llegaban justito según la corriente que consume la resistencia de potencia del hot-end y la suma de las de los 5 drivers de motores. Por tanto, en cuanto llegaba a esos 5A, el fusible rearmable saltaba y dejaba sin corriente a los motores durante un milisegundo o lo que sea, provocando que en ese ratito no se movieran, y ese paso que les tocaba dar, no lo dieran. Conclusión, la foto de arriba.
Y recordé una opción de la configuración de Marlin, en el archivo Configuration.h, la siguiente:
#define PID_MAX 128 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
O bien esta otra si tuviera el PID desactivado: #define BANG_MAX 128 // limits current to nozzle while in bang-bang mode; 255=full current
Esa opción hace lo que dice ahí, limitar en todo momento la corriente máxima que va al hot-end, usando "encendidos-apagados" de la señal para que la media sea la mitad. Entonces claro, al consumir menos corriente el hot-end, deja más corriente disponible para los motores, que siempre tienen lo que necesitan y no debería ocurrir la pérdida de pasos ya. El único "pero" sería que el hot-end tardará más en calentar, pero ya era muuuy rápido en hacerlo, así que no pasa nada.
Bueno, pues MANO DE SANTO. Efectivamente debe de ser eso, tras cambiar la opción ha dejado TOTALMENTE de perder pasos, excepto cuando me paso de velocidad, que pierde uno o dos en toda la impresión, y si estoy al lado atento y lo acaba de perder puedo hacer en el Pronterface: Pause, homing X, homing Y, resume. Y se recupera.
No estoy seguro de si esto tiene que ver con tener unos motores de 28 N·cm, porque suelo ver que la gente los tiene de 40 N·cm, y ni idea de si con esos este problema existiría o no, o si sería mayor o menor.
Bueno, espero que a alguien le sirva. Un saludo.