% Toda a linha que comeca com porcentagem eh um comentario % e sera ignorada pelo Matlab %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Exemplo de script para processamento dos sinais % resultantes da simulacao de SEP_Ativ2.mdl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% close all; %fecha todos os graficos clc; %limpa a tela t = 0 : 1/(1280*60) : 10/60; %vetor de tempo para apoio % produz um vetor de tempos, começando com 0.0 até 10/60 segundos % com passos de 1/(1280*60) % Atenção: esse exemplo foi feito para uma rede com aquisicao de dados % trifásicos nos vetores Vrele e Irele. % Você deve adaptar para os demais casos, que utilizam sinais como VPh1, % VPh2, IPh1, IPh2, etc. VANs = Vrele(:,1) * (115/138000); VBNs = Vrele(:,2) * (115/138000); VCNs = Vrele(:,3) * (115/138000); IAs = Irele(:,1) * (5/800); IBs = Irele(:,2) * (5/800); ICs = Irele(:,3) * (5/800); INs = (Irele(:,1) + Irele(:,2) + Irele(:,3)) * (5/800); plot(t, VANs, t, VBNs, t, VCNs); grid; title('Tensões na barra B1 [valores secundários]'); legend('VAN', 'VBN', 'VCN'); xlabel('Tempo [s]'); ylabel('[V]'); pause %aguarda um pressionamento de tecla do usuário antes de fazer %um novo grafico plot(t,IAs, t, IBs, t, ICs, t, INs); grid; title(' Correntes na barra B1 [valores secundários]'); legend('IA', 'IB', 'IC', 'IN'); xlabel('Tempo [s]'); ylabel('[A]'); pause %Projetos de entradas %Rv - relação de ajuste: para uma tensão de 1.0 pu (de pico) na entrada %deve-se ter na saída 2.5V de pico no divisor resistivo. Tensao_de_fase_max = (138000/sqrt(3)); %no maximo 1.0 pu de tensao de fase Tensao_de_fase_pico = Tensao_de_fase_max * sqrt(2); Tensao_sec_pico = Tensao_de_fase_pico * (115/138000); %tensao no secundario dos TP Tensao_in_pico = Tensao_sec_pico * (12/115); %tensao do secundario do TP interno Rv = 2.5 / Tensao_in_pico; fprintf(1,'Valor ideal do ganho do divisor resistivo Rv = %2.3f\n',Rv); %Divisor resistivo: ganho Rv %R2/(R1+R2) = Rv %R1.Rv + R2.Rv = R2 %R1 = R2.(1-Rv)/Rv = R2.rel rel=(1-Rv)/Rv; %fixo R2 = 1k R2=1000; R1=R2*rel; fprintf(1,'Valor ideal de R1 = %4.1f [Ohms]\n',R1); %Se admitirmos R1 = 3000; R1=3000; fprintf(1,'Valor admitido de R1 = %4.1f [Ohms]\n',R1); Rvfinal = R2 / (R1+R2); fprintf(1,'Valor final do ganho do divisor resistivo R = %2.3f\n',Rvfinal); PDisV = ((Tensao_in_pico/sqrt(2))^2)/(R1+R2); fprintf(1,'Potencia dissipada nos resistores do divisor = %3.3f [W]\n\n',PDisV); %Ri - relação de ajuste: para uma corrente de 3.0 pu (de pico) na entrada %deve-se ter na saída 2.5V de pico no shunt Corrente_max = (3*800); %no maximo 3.0 pu de corrente no TC Corrente_pico = Corrente_max * sqrt(2); Corrente_sec_pico = Corrente_pico * (5/800); %corrente no secundario dos TC Corrente_in_pico = Corrente_sec_pico * (1/1000); %corrente do secundario do TC interno Ri = 2.5 / Corrente_in_pico; fprintf(1,'Valor ideal do resitor de shunt Ri = %3.1f [Ohms]\n',Ri); %admitindo Rifinal=110; Rifinal = 110; %podia se admitir 120, mas o sinal poderia ficar maior que 2.5V fprintf(1,'Valor final do resitor de shunt Ri = %3.1f [Ohms]\n',Rifinal); PDisI = ((Corrente_in_pico/sqrt(2))^2)*Rifinal; fprintf(1,'Potencia dissipada no resistor de shunt = %3.3f [W]\n\n',PDisI); %RiN - relação de ajuste: para uma corrente de 0.1 pu (de pico) na entrada %deve-se ter na saída 2.5V de pico no shunt CorrenteN_max = (0.1*800); %no maximo 0.1 pu de corrente no TC CorrenteN_pico = CorrenteN_max * sqrt(2); CorrenteN_sec_pico = CorrenteN_pico * (5/800); %corrente no secundario dos TC CorrenteN_in_pico = CorrenteN_sec_pico * (1/1000); %corrente do secundario do TC interno RiN = 2.5 / CorrenteN_in_pico; fprintf(1,'Valor ideal do resitor de shunt RiN = %3.1f [Ohms]\n',RiN); %admitindo RiNfinal=3300; RiNfinal = 3300; fprintf(1,'Valor final do resitor de shunt RiN = %3.1f [Ohms]\n',RiNfinal); PDisIN = ((CorrenteN_in_pico/sqrt(2))^2)*RiNfinal; fprintf(1,'Potencia dissipada no resistor de shunt N = %3.3f [W]\n',PDisIN); %Um TC interno indutivo poderá saturar devido a alta carga em seu secundario VANinterno = VANs * Rvfinal * (12/115); VBNinterno = VBNs * Rvfinal * (12/115); VCNinterno = VCNs * Rvfinal * (12/115); VANadc = VANinterno + 2.5; VANadc = max(0,VANadc); VANadc = min(5.0,VANadc); VBNadc = VBNinterno + 2.5; VBNadc = max(0,VBNadc); VBNadc = min(5.0,VBNadc); VCNadc = VCNinterno + 2.5; VCNadc = max(0,VCNadc); VCNadc = min(5.0,VCNadc); IAinterno = IAs * (1/1000); VIAinterno = IAinterno * Rifinal; IBinterno = IBs * (1/1000); VIBinterno = IBinterno * Rifinal; ICinterno = ICs * (1/1000); VICinterno = ICinterno * Rifinal; VIAadc = VIAinterno + 2.5; VIAadc = max(0,VIAadc); VIAadc = min(5.0,VIAadc); VIBadc = VIBinterno + 2.5; VIBadc = max(0,VIBadc); VIBadc = min(5.0,VIBadc); VICadc = VICinterno + 2.5; VICadc = max(0,VICadc); VICadc = min(5.0,VICadc); INinterno = INs * (1/1000); VINinterno = INinterno * RiNfinal; VINadc = VINinterno + 2.5; VINadc = max(0,VINadc); VINadc = min(5.0,VINadc); plot(t, VANinterno, t, VBNinterno, t, VCNinterno); grid; title('Tensões de entrada apos filtros'); legend('VANin', 'VBNin', 'VCNin'); xlabel('Tempo [s]'); ylabel('[V]') pause; plot(t, VANadc, t, VBNadc, t, VCNadc); grid; title('Tensões de entrada nas entradas dos ADs'); legend('VANadc', 'VBNadc', 'VCNadc'); xlabel('Tempo [s]'); ylabel('[V]') pause; plot(t, VIAinterno, t, VIBinterno, t, VICinterno); grid; title('Tensões produzidas pelas correntes apos filtros'); legend('VIAin', 'VIBin', 'VICin'); xlabel('Tempo [s]'); ylabel('[V]') pause; plot(t, VIAadc, t, VIBadc, t, VICadc); grid; title('Tensões produzidas pelas correntes nas entradas dos ADs'); legend('VIAadc', 'VIBadc', 'VICadc'); xlabel('Tempo [s]'); ylabel('[V]') pause; plot(t, VINinterno); grid; title('Tensão produzida pela corrente de neutro apos filtro'); legend('VINin'); xlabel('Tempo [s]'); ylabel('[V]') pause; plot(t, VINadc); grid; title('Tensão produzida pela corrente de neutro na entrada dos AD'); legend('VINadc'); xlabel('Tempo [s]'); ylabel('[V]') pause; %Amostragem fprintf(1,'Amostragem\n'); k=1; for j = 1:size(VANadc) if mod(j-1,80)==0 VANam(k) = VANadc(j); VBNam(k) = VANadc(j); VCNam(k) = VANadc(j); VIAam(k) = VIAadc(j); VIBam(k) = VIBadc(j); VICam(k) = VICadc(j); VINam(k) = VINadc(j); k=k+1; end end q = 4096/5; Ch1_VAN = round(VANam*q); Ch2_VBN = round(VBNam*q); Ch3_VCN = round(VCNam*q); Ch4_IA = round(VIAam*q); Ch5_IB = round(VIBam*q); Ch6_IC = round(VICam*q); Ch7_IN = round(VINam*q); n = 1:1:size(Ch1_VAN,2); title('Tensão e corrente amostradas na fase A'); stairs(n, Ch1_VAN, 'b'); hold on; stairs(n, Ch4_IA, 'r'); hold on; xlabel('amostra'); ylabel('Unidades do ADC'); pause figure(2); %cria uma nova figura e nao desenha sobre a anterior subplot(211); %dois plots por figura plot(t,Irele(:,2)); grid; title('Sinal original de corrente [IB]'); xlabel('tempo [s]'); ylabel('Corrente [A]'); subplot(212); %prepara para desenhar sobre o outro plot da figura stairs(Ch5_IB); grid; title('Sinal amostrado após filtragem e digitalização [IB]'); xlabel('amostra'); ylabel('Unidades do ADC');