el 01-05-2010 01:49 PM
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
¡Resuelto! Ir a solución.
el 01-06-2010 12:46 PM
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
el 01-07-2010 10:35 AM
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
el 01-07-2010 10:48 AM
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.
Espero tus comentarios.
Saludos.
Coamín Cruz
NI México
el 01-07-2010 11:37 AM
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.
el 01-07-2010 12:46 PM - fecha de última edición 02-21-2024 04:29 PM por migration-bot
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
el 01-07-2010 02:07 PM
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
el 01-07-2010 02:16 PM
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
el 01-07-2010 02:55 PM
Hola Coamín
Estoy trabajando con LabVIEW 8.6, te adjunto el proyecto.
el 01-11-2010 10:46 AM
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