Discusiones sobre Productos NI

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

Control de motor con cRIO y NI 9403

¡Resuelto!
Ir a solución

Hola a todos

 

Primeramente quiero desearles un exelente inicio de año.

 

Estoy trabajando con un cRIO 9074 y una tarjeta NI 9403 para el control de velocidad de un motor. Para esto, estoy utilizando la herramienta de Square Wave Generator del modulo de FPGA. El problema que tengo es que entre 1Hz y 1K Hz la variación de velocidad funciona muy bien, pero al aumentar arriba de 1K Hz no varia la velocidad y además al intentar con frecuencias pares (2K Hz, 4K Hz... etc) se detiene por completo el motor, y al checar la salida de voltaje no obtengo valor. Al intentar con frecuencias impares (1K Hz, 3K Hz, 5k Hz... etc) la velocidad es constante y no varia. Ojala me puedan ayudar.

 

Atte 

Hugo.

 

El FPGA clock rate está configurado a 40M Hz

 

Me estoy basando en el ejemplo Square Wave Generator-cRIO

 

png

 

 

0 kudos
Mensaje 1 de 12
4.763 Vistas

Estimado Darth

 

No tengo exactamente tu hardware para reproducir tu problema, sin embargo, tengo un setup prácticamente igual para fines prácticos. Estoy realizando la prueba con un 9012 y un módulo 9401. Eliminé todo aquello que fuera innecesario, en tu imagen yo solo dejé la parte de Square Wave Props 2, ya que la parte de abajo son para visualización y en este caso las interrupciones podrían causar un delay, te recomiendo solo dejes la primer parte con el While loop.

 

Yo no moví propiamente un motor, no obstante, puse adquirir la forma de onda y se genera perfectamente. Realiza el cambio que te sugiero y pruébalo para ver cómo te funciona.

 

Quedo a tus órdenes para cualquier cosa.

 

Saludos.

 

Coamín Cruz

NI México

0 kudos
Mensaje 2 de 12
4.742 Vistas

Que tal Coamín

 

Te agradesco mucho tu atención. El problema de usar los dos ciclos While se deriva en que al conectar las salidas al canal de la tarjeta NI 9403 tengo conflicto con los cilcos de relog. Es por eso que en el ejemplo que te mandé está conectado de esta forma, en el cilco While que se encuentra abajo es donde se conecta el canal de la salida digital de la tarjeta NI 9403. En el Primer ciclo While es donde se genera la forma de onda y en el segundo se manda a la salida del canal del NI 9403. Estoy tratando de buscar otra opción para generar una forma de onda digital y mandarla a la salida pero aun no encuentro otra opción.

 

Saludos

 

 

Error FPGA.png

0 kudos
Mensaje 3 de 12
4.731 Vistas

Hola Darth

 

Presiento que ese es el problema. Lo que debes de hacer es solo utilizar uno y desde ahi escribirle a la salida digital. Te anexo una imagen del diagrama de bloques.

 

bd.png

 

Espero tus comentarios.

 

Saludos.

 

Coamín Cruz

NI México

0 kudos
Mensaje 4 de 12
4.728 Vistas

Hola Coamín

 

Ya intenté ejecutarlo de la forma que me suguieres pero tengo el mismo error que te comenté (The selected object takes one or more clock cycles to execute), no se si tenga algun error en mi configuración o deba cambiar algo.

 

Square wave 3.png

0 kudos
Mensaje 5 de 12
4.726 Vistas

Estimado Darth

 

Asumí algo erróneamente. Ya sé lo que ocurre. Yo hice la prueba con el módulo

 

NI 9401

 

https://www.ni.com/en-us/shop/model/ni-9401.html

 

Velocidad: 100nS toma en cambiar entre un estado a otro, por lo que un periodo lo harías en 200 nS, sacando el inverso tendrías una frecuencia de 5MHz máx.

 

NI 9403

 

https://www.ni.com/en-us/shop/model/ni-9403.html

 

Velocidad: 7us toma en cambiar entre un estado a otro, por lo que un periodo lo harías en 14us, sacando el inverso tendrías una frecuencia de 71.4 kHz máx.

 

En pocas palabras no podrás generar una frecuencia mayor a los 71.4 kHz con ese módulo. El problema no es tanto el subVI, sino el nodo de escritura que tarda más que la frecuencia que deseas generar.

 

Quedo a tus órdenes para cualquier cosa y si requieres alguna cotización de otro módulo con gusto te puedo apoyar.

 

Saludos.

 

Coamín Cruz

NI México

0 kudos
Mensaje 6 de 12
4.721 Vistas

Hola Coamín

 

Te cometo que ya habiamos tomado en cuenta este detalle y de hecho no necesito trabajar mas de 40kHz, el problema es que no puedo obtener una salida mayor a 1kHz, cuando en el programa aumento arriba de 1 kHz este no se vé reflejado a la salida de mi tarjeta y la frecuencia permanece a 1kHz, y ademas al dar números pares arriba de 1k Hz no obtengo valor alguno a la salida de mi tarjeta. No se si sea el programa o la tarjeta NI 9403

 

 

0 kudos
Mensaje 7 de 12
4.718 Vistas

Hola Darth

 

Deja intento conseguir un módulo más parecido al tuyo. Por lo pronto te pido si me puedes enviar tu proyecto completo y que me indiques la versión de LabVIEW que estás utilizando.

 

Saludos.

 

Coamín Cruz

NI México

0 kudos
Mensaje 8 de 12
4.715 Vistas

Hola Coamín 

 

Estoy trabajando con LabVIEW 8.6, te adjunto el proyecto.

0 kudos
Mensaje 9 de 12
4.713 Vistas
Solución
Aceptado por el autor del tema Darth

Hola Darth

 

Ya hice la prueba con módulos más lentos y no tengo problema. Estoy viendo tu proyecto y veo que sigues teniendo las interrupciones, las interrupciones son muy buenas para cuando se desconoce cuándo se generará el evento, sin embargo, son muy lentas. Teóricamente no puede superar los 4 kHz y la sugerencia es no generar interrupciones por arriba de 1kHz, por lo que puede ser lo que este causando tu problema.

 

Te pido que volvamos desde el principio, las elimines y me digas que es lo que ocurre.

 

Espero tus comentarios.

 

Coamín Cruz

NI México

Mensaje 10 de 12
4.673 Vistas