Primerodecidícomparardirectamentelosnivelesdevoltajededosfasesdiferentesconelsimplecircuitodearriba.Paraverquésucedería,simuléelescenarioparaverlosnivelesdevoltaje.
Rojo: forma de onda de R con respecto a la GND.
Magenta: Forma de onda de S con respecto a GND.
Se ve bien. Pero hay un momento en el que ambos voltajes de fase se vuelven cero con respecto a la GND. No está claro qué pasaría en este momento; cualquier ruido en la entrada opamp puede contar como docenas de frecuencia de generador. Sin embargo, le di un segundo y decidí comparar una de las fases con el promedio de las otras dos.
Nota:C1yC2sonparaprevenirelruido,debidoalosaltosvaloresderesistencia.
Enestecaso,lasformasdeondade\$V_R\$y\$\dfrac{V_S+V_T}{2}\$sonlasqueseveneneltrazadoacontinuación.
Ahora no hay una región o un momento indefinido cuando se comparan los niveles de señal. Voy a implementar mi circuito así. Espero que funcione bien.
(Nota: las dimensiones de las imágenes de los trazados son lo suficientemente grandes; simplemente ábralas en una nueva pestaña para ver los detalles y leer los textos en ellas).
Código MATLAB para generar estos trazados:
V_PEAK = 200.0;
FREQ = 100;
PERIOD = 1 / FREQ;
TMIN = 0.0;
TMAX = 3 * PERIOD;
VMIN = -V_PEAK - 10.0;
VMAX = +V_PEAK * sqrt(3) + 10.0;
POINTS_PER = 100000;
POINTS = (TMAX - TMIN) * POINTS_PER;
PHASE_000 = 0 * pi / 180;
PHASE_120 = 120 * pi / 180;
PHASE_240 = 240 * pi / 180;
t = linspace(TMIN, TMAX, POINTS);
V000 = zeros(1, POINTS);
V120 = zeros(1, POINTS);
V240 = zeros(1, POINTS);
VDC = zeros(1, POINTS);
VLINE000 = zeros(1, POINTS);
VLINE120 = zeros(1, POINTS);
VLINE240 = zeros(1, POINTS);
for i = 1 : 1 : POINTS
V000(i) = V_PEAK * sin(2*pi*FREQ*t(i) - PHASE_000);
V120(i) = V_PEAK * sin(2*pi*FREQ*t(i) - PHASE_120);
V240(i) = V_PEAK * sin(2*pi*FREQ*t(i) - PHASE_240);
if ((V000(i) > V120(i)) && (V000(i) > V240(i)))
Vmax = V000(i);
elseif ((V120(i) > V000(i)) && (V120(i) > V240(i)))
Vmax = V120(i);
else
Vmax = V240(i);
end;
if ((V000(i) < V120(i)) && (V000(i) < V240(i)))
Vmin = V000(i);
elseif ((V120(i) < V000(i)) && (V120(i) < V240(i)))
Vmin = V120(i);
else
Vmin = V240(i);
end;
VDC(i) = Vmax - Vmin;
VLINE000(i) = V000(i) - Vmin;
VLINE120(i) = V120(i) - Vmin;
VLINE240(i) = V240(i) - Vmin;
end;
close all;
hFig = figure;
hold on;
set(hFig, 'Position', [1200 50 700 950]);
plot(t, V000, 'Color', [0, 0, 1]);
plot(t, V120, 'Color', [0, 1, 0]);
plot(t, V240, 'Color', [0, 1, 1]);
plot(t, VDC, 'Color', [0, 0, 0]);
plot(t, VLINE000, 'Color', [1, 0, 0]);
plot(t, (VLINE120 + VLINE240) ./ 2, 'Color', [1, 0, 1]);
xlim([TMIN, TMAX]);
ylim([VMIN, VMAX]);