Calcule la impedancia y el ángulo de fase de un capacitor

0

Estoy tratando de calcular la impedancia y el ángulo de fase de un capacitor en el software para un proyecto de microcontrolador en el que estoy trabajando, y he incluido una foto de lo que quiero decir (no a ninguna escala). He creado un prototipo de un simple circuito de la Serie RC y estoy alimentando una onda sinusoidal de 1 KHz. Midiendo a través de ‘R’, he recopilado los datos para la corriente a través del circuito, y midiendo a través de ‘C’, he recopilado los datos para el voltaje a través del condensador.

No estoy seguro de cómo calcular Vp, Vq, Ip e Iq, y después de analizar varios métodos, una idea fue comenzar con lo siguiente:

Vp = suma (i = 0 a N-1) ADC (i) * cos (2 * PI * i / N)

Vq = suma (i = 0 a N-1) ADC (i) * sin (2 * PI * i / N)

y de manera similar:

Ip = suma (i = 0 a N-1) ADC (i) * cos (2 * PI * i / N)

Iq = suma (i = 0 a N-1) ADC (i) * sin (2 * PI * i / N)

No hace falta decir que no estoy contento con los resultados, ¿puede alguien indicarme la dirección correcta sobre cómo realizar estos cálculos correctamente?

gracias kvresto

    
pregunta kvresto

1 respuesta

2

Esto funciona para un condensador ideal, es decir, si puedes ignorar ESR

Deje \ $ I \ $ = magnitud de la corriente a través del circuito, \ $ U_C \ $ = magnitud de la tensión a través de un capacitor, y \ $ X_C \ $ = la reactancia de un capacitor (todos son positivos reales números).

Como primer paso, puedes encontrar \ $ X_C \ $: $$ X_C = \ frac {U_C} {I} $$

Luego, utilice la siguiente relación para la impedancia total (como un número complejo) $$ Z = R - jX_C $$ donde \ $ j \ $ es la unidad imaginaria, puede encontrar el ángulo de fase para el voltaje a través de un capacitor $$ \ varphi = - \ arctan \ left (\ frac {X_C} {R} \ right) $$

En cuanto a \ $ I \ $ y \ $ U_C \ $, puede encontrar estas magnitudes al promediar las muestras de ADC en un número entero de periodos y escalar en \ $ \ frac {\ pi} {2} \ $: $$ I = \ frac {\ pi} {2N} \ sum_ {i = 1} ^ N | I_i | $$ $$ U = \ frac {\ pi} {2N} \ sum_ {i = 1} ^ N | U_i | $$

El factor \ $ \ frac {\ pi} {2} \ $ surge de la proporción entre la magnitud y el promedio del valor absoluto para una onda sinusoidal. Por cierto, puedes ignorar este factor, ya que se cancelará en \ $ X_C = \ frac {U_C} {I} \ $.

Si no puedes ignorar ESR

Luego puedes calcular el desplazamiento de fase usando un álgebra lineal. Para los vectores \ $ \ mathbf {v} \ $ y \ $ \ mathbf {w} \ $

$$ \ cos (\ varphi) = \ frac {\ mathbf {v} \ cdot \ mathbf {w}} {\ | \ mathbf {v} \ | \ | \ mathbf {w} \ |} $$

y puede tratar las señales muestreadas como vectores multidimensionales, utilizando

$$ \ mathbf {v} \ cdot \ mathbf {w} = \ sum_ {i = 1} ^ N v_i w_i $$ $$ \ | \ mathbf {v} \ | = \ sqrt {\ sum_ {i = 1} ^ N v_i ^ 2} $$

(muestreo en un número entero de períodos)

Sustituya \ $ v_i = U_i \ $ y \ $ w_i = I_i \ $ para la fórmula final

$$ \ varphi = \ arccos \ left (\ frac {\ mathbf {U} \ cdot \ mathbf {I}} {\ | \ mathbf {U} \ | \ | \ mathbf {I} \ |} \ derecha) $$

donde \ $ U_i \ $ es el voltaje muestreado a través de un condensador y \ $ I_i \ $ es la corriente muestreada a través del circuito.

EDIT:

En MATLAB o Octave puedes probar lo siguiente:

>> t = linspace(0, 2*pi*10, 100);
>> x = sin(t);
>> y = sin(t + 0.123);
>> phase_shift = acos(dot(x, y)/(norm(x)*norm(y)))
phase_shift =  0.12422

Hay algún error (0.12422 vs 0.123) debido a un número relativamente pequeño de muestras (100).

Por cierto, \ $ \ cos (-x) = \ cos (x) \ $ (función par), por lo que no puede determinar el signo. Esto no es un problema, ya que para un condensador el signo siempre es el mismo.

    
respondido por el dmitryvm

Lea otras preguntas en las etiquetas