Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Crear contador para contar pasos de un motor

Hola a todos,

 

Veréis estoy haciendo el control de un motor de paos mediante LABVIEW. De momento he creado la secuencia del motor y me funciona correctamente. Este motor hace 200 pasos cada vuelta (determinado por las características del propio motor) de 1.8º cada paso, y lo que quiero es poner un contador al final de esta secuencia que me cuente estos pasos, ya que lo que pretendo es parar el motor cada 25 pasos un tiempo determinado. La secuencia está hecha con un frame que tiene 4 estados uno para la fase 1, otro para la fase 2, otro para la I1 y otro para la I2. El problema es que Labview me obliga a poner un contador para cada uno de estos canales y yo quiero que sólo haya un contador y no 4. Sabéis como podría hacerse???  

0 kudos
Mensaje 1 de 5
5.733 Vistas

Hola,

 

       Si tienes tu secuencia dentro de un lazo "while" puedes agregar una variable a través de un shift register e irla incrementando o decrementando luego de haber culminado un paso hacia adelante o hacia atras en el motor. No estoy seguro a que te refieres con que labview te obliga a poner un contador para cada canal, si puedes poner una imagen de tu fragmento de código te podemos ayudar mejor.

 

Saludos.

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 2 de 5
5.677 Vistas

Hola,

 

Aquí os envío el programa para ver si me podéis ayudar. Este programa lo que hace es que un motor de pasos realice 8 pasos de 45º eléctricos cada paso. Estos pasos me determinarán 8 posiciones. Lo que quiero hacer es poder definir yo, el tiempo que quiero que el motor esté parado en cada posición. He intentado hacerlo, poniendo un time loop en cada paso, pero no funciona. Si me podéis decir cómo puedo hacerlo o que es lo que estoy haciendo mal, me ayudaríais mucho.

 

Muchas gracias 

0 kudos
Mensaje 3 de 5
5.638 Vistas

Hola,

 

Existe un control que llamaste "Frecuencia del motor" y usas ese valor para determinar el retraso entre cada paso, realmente el tiempo de espera es el período, y estan relacionados por Frecuencia = 1/Período, si quisieras pasar la frecuencia con que das un paso en Hertz (Hz), deberías calcular 1000/Frecuencia para obtener el tiempo de espera en milisegundos (ms).

 

Otra cosa, ¿cambiaste de motor? inicialmente posteaste que el motor daba 1,8 grados por paso, y luego que 45 grados en 8 pasos. ¿Estas manejando el motor con una secuencia de medio paso o con pasos completos? Para pruebas creo que incialmente deberias usar la de pasos completos y una vez que te funcione pasas a la que se ajuste mejor a tus necesidades.

 

Tu código esta todo dentro de un loop while, una vez que des los 8 pasos, el contador "i" se incrementara y volveras a dar 8 pasos mas una y otra vez hasta que presiones el boton "stop".

 

Tal como lo tienes si colocas un número muy pequeño puede que la mecánica del motor no reaccione lo suficientemente rápido y el motor no cambie de posición, puedes poder un retraso de 1seg (1000ms) inicialmente para ver que todo funciona bien y luego lo vas disminuyendo hasta donde veas que el motor sigue funcionando bien. Este valor seguramente lo tengas que ajustar para tu aplicación final, ya que el motor si no esta conectado a nada puede girar más rapido, en cambio al conectarlo a un sistema incrementara su inercia y capacidad de respuesta para moverse de una posición a otra.

 

Dame feedback de cualquier duda o si lo logras hacer funcionar correctamente.

 

Saludos.

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
Mensaje 4 de 5
5.634 Vistas

Ingenieros, buen dia, estoy en un proyecto y soy algo nuevo con labview, pero aun no resuelvo el como ponerle un contador de desplazamiento en metros a mi robot (osea necesito que registre el avance en metros, si retrocediera que lo reste) con un boton de reinicio de cuenta.

Muchas gracias, espero poder encontrar su aapoyo.

0 kudos
Mensaje 5 de 5
3.873 Vistas