Compré un torno y una fresadora Sherline unos años atrás.


Rápidamente decidí agregarle control numérico por computadora (CNC) y terminé comprando el hardware (motores de paso y los acoples de Sherline) y ahorrando un poco customizando la electrónica.

Hay disponible controladores de paso de 3 o 4 ejes basados en el chip Toshiba TB6560AHQ que es un driver PWM con microstepping y capacidad de hasta 3.5A por fase. Estos controladores se conectan a un PC vía puerto paralelo (que es preferido por la baja latencia) y cuestan menos de 100 USD.

Para PC, LinuxCNC es una distribución de Linux basada en Ubuntu (con instalador ISO) con extensiones de tiempo real (necesarias para girar los motores en forma pareja) y software CNC para ejecutar programas G-code y puede configurarse fácilmente para usar controladores por puerto paralelo.

El motor de paso original de Sherline es de 2A y 3.2V. La mayoría de las controladoras basadas en el Toshiba TB6560AHQ disponibles en lugares como ebay son de 3.5A, pero se pueden configurar al 70%, 50% or 20%. Así, a 50% me daría una corriente de 1.75A que es bastante cercana a la especificación del motor. También, una fuente de poder de 24V y 8A es suficiente para energizar el controlador, se necesita un voltaje mucho más alto que el especificado por el motor para darle un paso rápido ya que se debe forzar un cambio rápido de corriente en las bobinas del motor a un alto voltaje transiente.
Por otro lado, revisando los manuales del chip Toshiba TB6560AHQ, noté que el nivel máximo de corriente se configura con un par de resistencias (R) conectadas a los pines 11 y 14 (uno por cada fase). La corriente máxima es 0,5V/R. Estas resistencias tienen que soportar la corriente máxima a 0.5V, lo que significa 1.75W para 3.5A y deberían ser bastante grandes. Mirando la placa del controlador, no hay resistencias grandes visibles, así que desensamblé la placa (cada driver está apernado) y por el lado inferior se ven 2 grupos de 3 resistencias por driver.

Estas resistencias parecen estar en paralelo y tienen valores de 1Ω, 0,51Ω y 0,33Ω. La resistencia equivalente es de 0,167Ω, lo que implica una corriente máxima de 3A (y se suponía que mi controlador era de 3.5A según la documentación). La configuración al 50% que estaba considerando me daría 1.5A, bastante menos que los 2A de la especificación del motor.
Ahora, si el controlador sólo tuviera las resistencias de 1Ω y 0.33Ω, esto daría una resistencia equivalente de 0.248Ω, lo que da una corriente máxima de 2.02A, suficientemente cerca de la especificación del motor. Así que sólo tengo que sacar las resistencias de 0.51 Ω y configurar el controlador al 100%.

Alguien hizo un buen diseño con estas 3 resistencias en paralelo, se pueden configurar corrientes máximas de 0,5A, 1A, 1,5A, 2A ó 2,5A quitando 1 ó 2 resistencias.