Paso 1: código de
Resumen general
El código que he proporcionado se construye fuera de los proyectos anteriores. Usted puede haber notado hay dos estructuras de bucle. La primera es lo que me refiero a los "datos Aquistion Loop" que básicamente Lee los datos desde el chipKIT tan rápidamente como sea posible. El segundo bucle me refiero a como el "bucle de cálculo". Este bucle encarga de los cálculos que queremos hacer con los datos. La razón de que separar las operaciones de adquisición de datos de los cálculos de datos es mejorar el rendimiento. LabVIEW es lo suficientemente inteligente como para compilar el código en cada lazo para que corra en un núcleo separado de su procesador.
Para transferir datos entre los dos bucles, utilizar una variable local. Cada vez que el bucle de cálculo itera, lee datos de la variable "valores de calibrado de XYZ" .
Para este proyecto en particular he incluido dos parcelas de datos. Uno muestra los datos en bruto, mientras que el otro muestra los datos filtrados. Las parcelas son una buena herramienta para determinar qué tan eficaz es el filtrado. Lamentablemente las parcelas de datos error hacia fuera si el bucle de cálculo itera a ayunar. Así que un intervalo de tiempo debe incluir para el tipo de lazo.
Filtrado de SubVI Resumen
De la filtración en este proyecto se realiza en un subVI personalizado. Este subVI ayuda a mantener el código limpio y entendible. Dentro el subVI hay dos tipos de métodos de filtro empleados. La primera es de promedio simple, y la segunda es filtrado bajo de Butterworth pasa. Cada método de filtrado tiene una selección de On/Off del interruptor. Cuando el interruptor está encendido, escupe los datos filtrados. Cuando el interruptor está apagado, escupe los datos sin filtrar.
Filtrado mediante promedios
Si usted recuerda el proyecto anterior, la entrada de datos en bruto actualizar tan rápido que era difícil de leer. Para contrarrestar esto, queremos a media (tomar la media) un par de puntos de datos y mostrar ese valor. Si nos media el derecho números puntos de datos, se mostrarán los datos a una velocidad de lectura. Para lograr esto utilicé "PtByPt.vi significa". Aquí está alguna información en él si eres curioso acerca de cómo funciona.
Filtrado mediante un filtro de paso bajo
Otro problema que ha encontrado en el anterior instructable es el jumpiness errático de los datos. Esto podría ser debido a las vibraciones externas o dudando de su mano. Para deshacerse de esto se puede utilizar un filtro de paso bajo. De esencialmente el paso bajo filtro suave cabo los saltos bruscos entre puntos de datos. El filtro pasabajos particular que he utilizado en este proyecto es el "PtByPt.vi del filtro de Butterworth". Si tenéis curiosidad sobre cómo este .vi funciona, revisa su documentación. Tenga en cuenta que este VI puede ser configurado para actuar como 4 tipos diferentes de filtros (Lowpass, Highpass, Bandpass o Bandstop). Sólo nos preocupa con filtrado de paso bajo, por lo tanto el "cuttof alta freq: fh" terminal queda desconectada.