Cómo hacer un ciclo de un motor a pasos bipolar ?

Hola, saludos atodos.
Quisieras pedirles algo de ayuda, ya que no se programar... tengo un motor a pasos lo estoy programando con un pic 16f887
ya logre que gire hacia la derecha y a la izquierda, pero no se como programar para que realice ciclos, por ejemplo de 0 a 360 ° y regrese a 0 y vuelva a 360 y así hasta que pulse un botón para pararlo.
Mi motor es un nema17 de 200 pasos se lo agradeceria mucho su aporte ...
 

Fogonazo

"Qualified exorcist approved by the Vatican"
Debes ir contando los pulsos de avance o retroceso y detener al llegar a 200 para lograr un giro completo.
Cada pulso se compone de una secuencia de alimentación de las bobinas.
 
Última edición:
Hola
Debes ir contando los pulsos de avance o retroceso y detener al llegar a 200 para lograr un giro completo.
Cada pulso se compone de una secuencia de alimentación de las bobinas.
Aparte de lo que dijo FOGO ., tenes que ponerle un "final de carrera" o contacto​
Eso es importante ., para asociar lo mecanico con lo electronico​
Y que la cuenta sea perfecta ., indicando de esa manera ., el principio de la cuenta ., o si gira al revez ., el final de la cuenta​
 
no tan asi de darle un acople mecanico yo los usaba sin acople mecanico ni usaba encoders.

los motores a pasos tienen la ventaja de ser precisamente avanzar 1 paso a la vez es decir y puedes contar cuantos pasos necesita para dar una vuelta completa.

¿como hacerlo?

puedes hacer que al precionar 1 boton del pic avance solo 1 paso lo picas y vez cuantos pasos dio para dar 1 vuelta entera.

entonces puedes deducir cuantos pasos necesitas para dar media vuelta o un cuarto de vuelta.

obviamente cambia el numero de pasos si haces uso de halfstep o fullstep.

ejemplo si tienes un motor a pasos que si le das vuelta con la mano vaz a sentir los pasos que da los puedes contar a mano pero como dije pudes averiguarlo con un boton y avanzando un paso a la vez.

por que puede cambiar dependiendo la secuencia que uses.
 
La mejor forma es buscar su datasheet ahi viene detallado cuantos pasos son para hacer 360° . o bien mandarle un tren de pulsos con una aguja pegada encima para ver masomenos cuando hace 360° y checar el registro a ver cuantos pulsos fueron necesarios para cumplir 360°
 
Hola
Mi motor es un nema17 de 200 pasos se lo agradeceria mucho su aporte ...
Lo especifico el interesado ., si es de 200 pasos son de 1,8° por paso​
Seran necesarios ., un total de 200 pasos para girar 360° ., de alli que se necesita un final de carrera ., para indicar el inicio o final de la cuenta ., como dije antes​
 
Última edición:
normalmente los motores a pasos genericos o que ya no tienen la etiqueta de que tipo de motor es

es facil de probar ponemos una secuencia y movemos paso a paso contando los pasos a 1/4 de vuelta digamos si da 100 pasos en total ovbiamente si lo hacemos paso a paso 1/4 de vuelta seran 25 pasos.

muy facil de hacer.
 

pandacba

Rocker Bear
No es necesario un final de carrera para detectar el final, por el contrario, para el caso expuesto 1.8º que son 200 pasos para un giro, le envias al motor 200 pulsos y este girara una vuelta y se detendra, ya que ese es el principio de control
 
Hola
No es necesario un final de carrera para detectar el final, por el contrario, para el caso expuesto 1.8º que son 200 pasos para un giro, le envias al motor 200 pulsos y este girara una vuelta y se detendra, ya que ese es el principio de control
Yo tengo armado un sistema con varios motores ., entre ellos algunos que giran 360° nada mas​
El problema se produce cuando le pones carga (o peso de trabajo)​
Con el eje solo o con un pequeño plato de carton pegado no hay problema ., alli los pasos son perfectos y sin fallas​
Pero con la "carga" ., la inercia vence al freno natural del motor ., entonces pasa "de largo"., y por lo tanto fuera de pocicion​
De alli ., es que el limite de carrea ., es necesario​
Cuanto mas desgaste tenga el motor ., mas evidente es el error que se produce​
 
Hola, en los motores PAP, el control de giro que se usa es por Back EMF. De esa manera el sistema conoce la posición del rotor independientemente de la carga que se arrastre.
 
Última edición:

pandacba

Rocker Bear
Para que eso no suceda tenes que implementar la "la parada" para que retenga la posición y no se pase de largo, como desaceleración cuando se hacerca a la posición, si no cual es la ventaja de un paso a paso, si esa parada la puedo hacer con un motor de CC y aún con variador de frecuencia.......
Si no fijate en las aplicaciones CNC si fuera como dices no servirian.... y te hablo de CNC trabajando a lazo abierto.
Obvio si para tu caso lo solucionas asi perfecto, pero siempre hay otras soluciones. como pone un encoder
 
Arriba