Calcular la función de transferencia H (w) del disparador Schmitt con RC en la entrada de inversión

1

Ya tengo el siguiente circuito de activación de Schmitt implementado en una placa de pruebas. Como se ve, la señal de entrada en los terminales que no invierten e invierten del amplificador operacional es la misma, pero con la adición de un circuito RC en el terminal que invierte. De esta manera, estoy comparando la señal de entrada con una versión retrasada de la misma señal, de modo que puedo identificar picos. Obtuve la idea de aquí .

simular este circuito : esquema creado usando CircuitLab

Quería obtener su función de transferencia para analizar más cuidadosamente la influencia de la red RC (y, en última instancia, del circuito en sí). Obtuve una expresión para \ $ H (w) \ $, creé un código en Matlab para trazar la característica de transferencia (magnitud y fase) del circuito, y también implementé el circuito en el simulador TI-Tina. Usando el análisis de CA de Tina, también dibujé la característica de transferencia ... y mis resultados de Matlab difieren de los resultados de Ti-Tina.

Aquí están los resultados de Matlab:

YaquíestánlosresultadosdeTI-Tina:

Por esta razón, quería preguntar si el siguiente conjunto de ecuaciones para obtener \ $ H (w) \ $ es correcto.

El voltaje \ $ V _ {+} \ $ es:
\ begin {equation} V _ {+} = V_ {in} \ dfrac {R_ {f}} {R_ {1} + R_ {f}} + V_ {o} \ dfrac {R_ {1}} {R_ {1} + R_ {f }} \ end {ecuación}

Teniendo en cuenta las admitencias, \ $ V _ {-} \ $ es \ $ V _ {-} = V_ {en} \ dfrac {G_ {2}} {G_ {2} + sC_ {1}} \ $. Poniendo \ $ s = jw \ $ y \ $ R_ {2} = 1 / G_ {2} \ $, tenemos:

\ begin {equation} V _ {-} = V_ {in} \ dfrac {1} {1 + jwC_ {1} R_ {2}} \ end {ecuación}

Como \ $ V _ {+} = V _ {-} \ $, se puede obtener la siguiente expresión:

\ begin {equation} V_ {o} = V_ {in} \ dfrac {1-jwC_ {1} R_ {2} R_ {f} / R_ {1}} {1 + jwC_ {1} R_ {2}} \ end {ecuación}

Por lo tanto,

\ begin {equation} H (w) = \ dfrac {V_ {o}} {V_ {in}} = \ dfrac {1-jwC_ {1} R_ {2} R_ {f} / R_ {1}} {1 + jwC_ {1} R_ {2}} \ end {ecuación}

¿Alguna idea? Apreciaría tu ayuda. Muchas gracias.

Si es útil, el código que he usado en Matlab es:

%--- We fix Rf and R2 and vary C1
R1 = 10;
Rf = 10e6;
R2 = 10e3;
C1 = [1 10 100 1000] .* 1e-9;

opts = bodeoptions;
opts.Title.String = '';
opts.Title.FontSize = 12;
opts.Xlabel.FontSize = 12;
opts.Ylabel.FontSize = 12;
opts.TickLabel.FontSize = 10;
opts.FreqUnits = 'Hz';
opts.Grid = 'on';

H = [];
for i=1:length(C1)
    H = [H tf([-C1(i) * R2 * Rf / R1,1],[C1(i)*R2,1])];
end

figure
hold on
for i=1:length(C1)
    bodeplot(H(i),opts);
end

legend_t = cell(length(C1), 1);
for i=1:length(C1)
    legend_t{i} = sprintf('C=%snF', num2str(C1(i) * 1e9));
end

legend(legend_t);
title({'Transfer function of Inverting Schmitt Trigger', ...
    sprintf('Rf=%dMOhm, R1=%dOhm, R2=%dkOhm', Rf/1e6, R1, R2/1e3)});
    
pregunta sigur_ros

1 respuesta

0

Como ya lo han dicho otros, no es útil aplicar el análisis de frecuencia lineal a este circuito, en gran medida no lineal. Realice simulaciones en el dominio del tiempo con diferentes señales de entrada para ver el comportamiento.

Un análisis cualitativo de un caso, probablemente interesante:

Si la constante de tiempo R2 * C1 es tan larga que prácticamente elimina todas las variaciones del Vin, solo tiene el Vin promedio en la inversión de la entrada del opamp. Esto puede hacer que el circuito sea útil como detector de nivel con bloqueo autoajustable.

Si Vin tiene largos períodos de "ningún cambio" y el Vin inactivo está lejos del Vin promedio de los períodos activos, se producen errores cuando comienzan los cambios, porque hay un promedio incorrecto en C1.

BTW. Su Rf y R1 dan solo una histéresis de aproximadamente 3uV. Apuesto a que es inútil para nada práctico. Deberías tener un R1 más grande o un Rf más pequeño o ambos. La histéresis = (R1 / Rf) * Salida pico a pico swing.

    
respondido por el user287001