Tengo 2 ondas sinusoidales con una frecuencia de 2 kHz rectificadas y muestreadas a 50 kHz por dos canales ADC (10 bits) de un PIC18F26K22.
Quiero encontrar la medida de la amplitud de cada seno y la diferencia de fase entre sí. Podría usar ZCD para detectar la diferencia de fase y usar el adc solo para muestrear la amplitud, pero estaba buscando un enfoque más inteligente y amplio todo en uno.
Mi pregunta es si el uController tiene el poder computacional y si es posible hacer un ajuste de curva con un uController en otro para extraer esos 2 parámetros. Obtener un ADC con mayor frecuencia de muestreo y resolución es una posibilidad abierta, por supuesto.
Editar: para dar a mi pregunta un contexto/marco, lo que estoy buscando es medir una impedancia, tengo la señal correspondiente a la caída de voltaje en la impedancia y tengo otra señal correspondiente al circuito de detección de corriente. Entonces necesito muestrear ambos para medir la amplitud y la diferencia de fase de cada uno.
No tengo ni idea de por qué quieres estas cosas. Y Tony pregunta y tú no respondes. Así que voy a tomarte literalmente y responder eso.
Un método general para encontrar la diferencia de fase entre dos señales idénticas es usar un correlador. Esto funciona incluso para el habla y la música. En el dominio digital, simplemente correlacionelos. El máximo local en la función de correlación estará en el tiempo de retardo . Si tiene una señal de referencia, también puede correlacionarla con esa. La correlación también es muy fácil. Puede encontrar una rutina muy simple para ello en cualquier lugar donde mire. Solo unas pocas líneas de código, de verdad.
Hay un artículo antiguo de 1963 llamado "Análisis de quefrecuencia de series temporales para ecos: Cepstrum, Pseudo-autovariance, Cross-Cepstrum y Saphe Cracking" de Bogert et al. También puede encontrar que vale la pena leerlo.
Puede hacer esto con el PIC, pero sería de gran ayuda comenzar con el hardware correcto frente al A/D. Rectificar las señales es una mala idea. Eso hace que sea más difícil encontrar tanto la amplitud como la fase. La CA acopla las señales y agrega una polarización de CC de la mitad del rango A/D. Escálelo para que la amplitud máxima no alcance los límites mínimo y máximo del rango A/D.
Puede utilizar los dos flujos de muestra de 50 kHz para encontrar tanto las amplitudes como la fase entre las señales.
Si sabe que ambas señales son realmente senos, entonces la amplitud se puede derivar de la diferencia promedio del promedio a largo plazo. Filtro de paso muy bajo cada señal para obtener el componente de CC. Reste cada lectura de este componente de CC, luego tome el valor absoluto y promedie eso. El resultado será proporcional a la amplitud. Nuevamente, esto solo funciona si sabe que las señales son sinusoidales (contenido armónico bajo).
Para encontrar el cambio de fase, detecte los cruces por cero. Busque la primera lectura positiva después de haber visto un número mínimo de lecturas negativas seguidas, por ejemplo. Cada ciclo de una de las señales, calcula cuántos ciclos atrás la última vez que la otra tuvo un cruce por cero. Probablemente habrá algo de ruido en esta señal, entre los cuales se encuentra el ruido de cuantificación. A una frecuencia de muestreo de 50 kHz, solo tiene 25 muestras por ciclo. Filtro de paso bajo este número 0-24 con algunos bits adicionales debajo del punto binario. Ayudará si la frecuencia de muestreo no es un múltiplo exacto de la frecuencia de interés.
Si lo anterior todavía genera demasiado ruido de cuantificación, entonces interpole entre las dos muestras donde ocurrió el cruce por cero para determinarlo con mayor precisión. Esto llevará más ciclos de computación.
Considerándolo todo, haría esto con uno de los PIC de 16 bits o dsPIC con un A/D de 12 bits. El 18F26K22 parece una elección extraña para esto. Una parte de 16 bits permitiría el filtrado de paso bajo de los flujos entrantes antes de hacer cualquier otra cosa con ellos, y el A/D de 12 bits le brinda una mejor resolución de muestreo para comenzar. Eso debería permitir una verdadera medición RMS (aunque puede que no sea necesaria) y permitir que más ciclos hagan un mejor trabajo para encontrar los cruces por cero, lo que permite mejores mediciones de fase.
Lea más: http://www.lenntech.com/applications/ultrapure/conductivity/water-conductivity.htm#ixzz4KzOtwJlE
(Curiosidad: el agua ultra pura no es un líquido saludable para beber debido a la ausencia de minerales saludables disueltos).
Agua ultrapura 5,5 · 10-6 S/m
Lea más: http://www.lenntech.com/applications/ultrapure/conductivity/water-conductivity.htm#ixzz4KzOEKC3V
Por lo general, los medidores LCR de precisión miden la impedancia utilizando una fuente de frecuencia de corriente constante de rango automático a una frecuencia fija como 120 Hz, 1 kHz, 100 kHz, 1 MHz y luego miden directamente el voltaje para obtener la resistencia y los componentes reactivos y otros parámetros.
Los diseños de instrumentos de alta sensibilidad de precisión utilizarán un PLL doble para mejorar la relación señal/ruido (SNR) y, por lo tanto, es posible una resolución de 10 ppm {que he logrado en diseños de corrientes de Foucault para detectar fallas metalúrgicas} en relación con valores normalizados (cero automático )
Esto no es una solución, ni un comentario, sino información de referencia para elegir un mejor plan de diseño de instrumentos o una mejor pregunta. El tamaño y los materiales de los electrodos también son un aspecto importante de este diseño, ya que la corrosión puede influir en la repetibilidad de la prueba de muestreo.
Te dejaré decidir si esto es útil.
Dado que la conductividad del agua depende de la temperatura del agua, esto se puede medir con el sensor de temperatura IC para la corrección de la tabla de búsqueda wrt 20'C.
La constante dieléctrica del agua es 80+/-5 y la capacitancia de los electrodos dependerá del área de la superficie y el espacio entre los electrodos. Para que esto funcione de manera efectiva, queremos hacer que C del agua sea mucho menor que un valor C de precisión en el circuito, para ignorar efectivamente Cwater y solo medir la conductividad en Siemens/metro. Por lo tanto, se requieren electrodos cortos con un espacio preciso.
Algunos investigadores también saben (cita requerida) que el agua contaminada puede comenzar la ionización y recubrir la superficie del electrodo con CC en 1 ms, si es mayor a 1,5 V, por lo que se desea una frecuencia >> 1 KHz.
El método propuesto aquí utiliza la resistencia del agua para cargar un condensador de baja fuga de precisión para un oscilador de relajación. El principio de todos los diseños de Schmitt Trigger es ignorar las entradas de ruido, pero en este caso es generar un reloj con retroalimentación negativa y el umbral incorporado de 1/3 a 2/3 tiene una amplia tolerancia, por lo que un comparador de precisión con R Se prefiere la retroalimentación de relación 3:1 con una precisión que depende de la tolerancia y los valores de la relación de resistencia.
T=RC normalmente se realiza a ~60% de una onda triangular de medio ciclo de 5V.
La salida de 50 ohmios es la impedancia interna de las puertas HCxx @ 5V aprox. se muestra para mayor claridad.
También puede aplicar la FFT a ambas señales y extraer la amplitud y la fase utilizando el componente con mayor amplitud.
Para la fase, también podría hacer la detección de cruce por cero y no ajustar la curva a toda la señal, sino solo cerca del cero, donde es casi lineal (sin (theta) es aproximadamente theta para theta pequeño)
jms
Tony Estuardo EE75
Tony Estuardo EE75
keith
Impe_bailarina
Impe_bailarina
sweber