08-07-2016, 15:22
Antes he contestado desde el móvil, ahora con el pc me extiendo un poco más.
El motor es efectivamente el 28BYJ - 48 5V , con su correspondiente driver, muy económico desde China, pero con una calidad de engranajes bastante mala, tengo 4 de ellos, no conseguí hacerlos funcionar como tu dices así que me decidí por el Arduino, el problema es el mismo, toman demasiada holgura después de unos ciclos.
La teoría es que con un encoder rotatorio y programación puedes posicionarlo donde quieras, no olvidemos que es un paso a paso y su misión es esa, como la distribución de las vías no era problemática al no ser comercial con distribución fija, era factible.
Después de buscar por la red programas e información sobre el encoder, manos a la obra, los problemas empezaron con el giro, después de ajustar la velocidad del motor se descontaba en los pasos, eso si, al pulsar el encoder volvía a su posición de inicio.
Había que girar el encoder a una velocidad determinada, si girabas deprisa no obedecía los pasos, un encoder rotatorio es como un mando con posiciones, de hecho cada posición se nota al girar con un pequeño click, así que si para una posición de vía necesita 25 clicks, solo había que marcar cada vía en el mando mediante un dial y listo, al pulsar este encoder volvía a la posición inicial, casi perfecto.
El hecho de saltarse pasos creo que que es por no utilizar en las pruebas resistencias Pull-Down, que eliminan el "rebote" eléctrico y no variar el tiempo de respuesta entre clicks, como digo estaba en las primeras pruebas.
Como el encoder está diseñado para que detecte si el giro es en uno u otro sentido, pronto vi que el stepper no centraba si el giro era inverso, el eje tenía demasiada holgura como para posicionarse correctamente en los dos sentidos, al cambiar el motor bien, después de unas vueltas lo mismo, los probé todos con el mismo resultado, el piñonaje de estos pequeños es de plástico y de baja calidad, así que para la placa no valen, creo que ya hay una versión con piñones metálicos pero ahora ya no voy a cambiar ni buscar otro motor, para mi el resultado ya está bien así.
Con el precio de un Arduino Nano, este motor completo, interruptor y pulsador no llegan a los 10€, creo que es mejor opción que andar con motores con reductora, regulación pwm y cosas similares para obtener el mismo resultado.
El utilizar un interruptor y pulsador es porque con un pulsador para cada dirección el driver siempre recibe alimentación y el motor se calienta al estar siempre excitada una o más bobinas, además del consumo, supongo que por programación se puede subsanar el inconveniente pero decidí hacerlo con un interruptor de 2 posiciones para el giro y alimentación cortada que solo la recibe al pulsar, el resultado a la vista.
En cuanto a los rodillos, lo dicho, los de cassette quedan genial estéticamente, pero muy grandes, al menos para este diseño, creo recordar que son de 8mm y los que he puesto son de 6, clip gordo eje, palo de oidos, dos palos de caramelo de diferente diámetro y palo sujetaglobos, todos pegaditos.
Cualquier aclaración aquí estoy.
El motor es efectivamente el 28BYJ - 48 5V , con su correspondiente driver, muy económico desde China, pero con una calidad de engranajes bastante mala, tengo 4 de ellos, no conseguí hacerlos funcionar como tu dices así que me decidí por el Arduino, el problema es el mismo, toman demasiada holgura después de unos ciclos.
La teoría es que con un encoder rotatorio y programación puedes posicionarlo donde quieras, no olvidemos que es un paso a paso y su misión es esa, como la distribución de las vías no era problemática al no ser comercial con distribución fija, era factible.
Después de buscar por la red programas e información sobre el encoder, manos a la obra, los problemas empezaron con el giro, después de ajustar la velocidad del motor se descontaba en los pasos, eso si, al pulsar el encoder volvía a su posición de inicio.
Había que girar el encoder a una velocidad determinada, si girabas deprisa no obedecía los pasos, un encoder rotatorio es como un mando con posiciones, de hecho cada posición se nota al girar con un pequeño click, así que si para una posición de vía necesita 25 clicks, solo había que marcar cada vía en el mando mediante un dial y listo, al pulsar este encoder volvía a la posición inicial, casi perfecto.
El hecho de saltarse pasos creo que que es por no utilizar en las pruebas resistencias Pull-Down, que eliminan el "rebote" eléctrico y no variar el tiempo de respuesta entre clicks, como digo estaba en las primeras pruebas.
Como el encoder está diseñado para que detecte si el giro es en uno u otro sentido, pronto vi que el stepper no centraba si el giro era inverso, el eje tenía demasiada holgura como para posicionarse correctamente en los dos sentidos, al cambiar el motor bien, después de unas vueltas lo mismo, los probé todos con el mismo resultado, el piñonaje de estos pequeños es de plástico y de baja calidad, así que para la placa no valen, creo que ya hay una versión con piñones metálicos pero ahora ya no voy a cambiar ni buscar otro motor, para mi el resultado ya está bien así.
Con el precio de un Arduino Nano, este motor completo, interruptor y pulsador no llegan a los 10€, creo que es mejor opción que andar con motores con reductora, regulación pwm y cosas similares para obtener el mismo resultado.
El utilizar un interruptor y pulsador es porque con un pulsador para cada dirección el driver siempre recibe alimentación y el motor se calienta al estar siempre excitada una o más bobinas, además del consumo, supongo que por programación se puede subsanar el inconveniente pero decidí hacerlo con un interruptor de 2 posiciones para el giro y alimentación cortada que solo la recibe al pulsar, el resultado a la vista.
En cuanto a los rodillos, lo dicho, los de cassette quedan genial estéticamente, pero muy grandes, al menos para este diseño, creo recordar que son de 8mm y los que he puesto son de 6, clip gordo eje, palo de oidos, dos palos de caramelo de diferente diámetro y palo sujetaglobos, todos pegaditos.
Cualquier aclaración aquí estoy.