Discusiones sobre Productos NI

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

problema de lectura de un acelerometro con una NI USB-8452

¡Resuelto!
Ir a solución

Estoy trabajando con un acelerometro mpu6050, me entrega datos de 700 a 800hz, el problema que al agregar un "write to measurement file" al ciclo while loop me alenta bastante el ciclo y la obtencion de datos, disminuyendo hasta 130hz, hay alguna otra forma de capturar los datos, o almacenarlos en memoria y despues vaciarlos a un archivo de texto. tambien otro problema es que no logro modificar el rango de medicion de la aceleracion, gracias por su ayuda.

0 kudos
Mensaje 1 de 5
4.973 Vistas

Hola Aegiz,

 

Gracias por utilizar los foros de NI! Estoy revisando tu aplicación tal cual como la envías, el WriteToMeasurment File lo tienes fuera del ciclo while, por lo que no debe afectarte en el rendimiento del programa dado que este nodo no se ejecutará hasta que finalice el ciclo. Ahora, si tu introduces este nodo dentro del ciclo es donde le va pegar en rendimiento debido a que es un ExpressVI y los ExpressVI no se recomiendan debido a que impactan de manera considerable en tiempo, para este caso te recomiendo usar funciones de más bajo nivel (ej, Write to text file o Write to Spread Sheet File) para esta arquitectura que estas usando.

 

En caso de que prefieras seguir usando el WriteToMeasurement File tendrías que implementar una arquitectura Productor Consumidor pero mi recomendación antes de cambiar de arquitectura seria el utilizar funciones de más bajo nivel como las que te comento.

 

Te dejo este ejemplo que viene dentro del Find Examples de LabVIEW de cómo implementar funciones de manejo de archivos de bajo nivel.

 

Espero que esta información te sea de utilidad!

Luis CT
Mensaje 2 de 5
4.942 Vistas

Muchas gracias por su ayuda, me funciono muy bien, me quedo la duda de como ir creando archivos nuevos en vez de que sobreescriba el existente, aprovechando, Tambien tengo un problema al usar el Vi de la tarjeta "i2c write" por que no puedo modificar la parte de la escala de rango del acelerometro, gracias por la atencion.

0 kudos
Mensaje 3 de 5
4.935 Vistas
Solución
Aceptado por el autor del tema Aegiz

Hola Aegiz,

 

Para ir creando nuevo archivos tendrás que cambiar el parámetro de entrada del Name or Relative Path en el nodo de Build Path (haciendo referencia al .VI que te envié) para que la nueva referencia se pueda crear y se envíe al Write to Text File, ya sea que la cambies de manera manual o generes un SubVI que haga esa función de cambio.

 

Podrías explicar más la problemática que estas teniendo con el I2C write?

 

Saludos!

Luis CT
Mensaje 4 de 5
4.888 Vistas

El problema es que mando 2 datos en un array a la entrada de datos del i2c write los cuales serian la direccion de registro y la configuracion para dicho registro, que en este caso es el rango de medicion de la aceleracion "Accel Full Scale Range" y deberiar de variar dicho rango, no se si este mandando estos datos incorrectamente o sea algun otro problema. Gracias por su atencion.

0 kudos
Mensaje 5 de 5
4.884 Vistas