% Alguns dados:
%
% Conclusões:
%
% Figura1: Introduziu-se uma onda sinusoidal de período 2 segundos a
% entrada da ADC para verificação do seu bom funcionamento. Como se pode
% constatar nenhuma anomalia é reportada pelo que os dados expostos são
% fidedignos.
%
% Figura2: Resposta para vários Ts (passo temporal=500ms, passo angular=5º)
% Comparando os gráficos de Ts=5ms e Ts=10ms, verifica-se que a oscilação
% reduz-se para o caso de Ts=10ms. O surpreendente veem que para Ts=20ms ou
% Ts=40ms (múltiplo de 20ms) não existe nenhum pico aleatório!
% Variando a carga, observa-se um aumento da oscilação para Ts<20ms, mas
% para 20ms a resposta ainda é melhor com a eliminação de algumas pequenas
% oscilações.
% 
% Figura3: Resposta para vários Ts (passo temporal=500ms, passo angular=5º)
% A única diferença, relativamente a figura anterior é a redução do passo
% temporal de 500ms para 200ms (mais rápido). No entanto não se observam
% diferenças significativas. Não se deixe iludir pelo aparente aumento de
% oscilação: simplesmente capturámos maior percurso percorrido (o servo
% desloca-se mais depressa) o que dá essa sensação.
%
% Figura4: Resposta para vários passos ang. (Ts=20ms, passo temp=100ms)
% Nesta experiencia apenas verificamos a robustez das medições para
% diferentes passos temporais e ângulares de movimentação. Relativamente as
% experiencias anteriores diminuimos ainda mais o passo temporal (para
% 100ms) e verificamos as diferenças para um passo angular de 5 e de 2º.
% Variando este parametro não se observa nenhuma difereença significativa,
% apenas confirma a nossa ideia anterior de que com o aumento da carga a
% resposta é ainda mais melhorada.
%
% Conclusões Finais:
% Note que não procedido qualquer tipo de processamento de sinal, e que os
% dados observados são exactamente aqueles que foram registados. Note
% também que as medidas foram registadas logo após a aplicação do impuslo
% de PWM - experiencias posteriores revelaram que o ruído só é eliminado se
% a medição ocorre durante a aplicação do impulso de PWM ou imediatamente
% depois, voltando às mesmas circunstâncias de antes caso esta consição não
% seja respeitada.

close all

% Organização dos arrays:
% Coluna 1: Tempo
% Coluna 2: Tensão a saída do potenciómetro não filtrado
% Coluna 3: Tensão filtrada à saída do potenciómetro. (Não apresentado)
% Coluna 4: Posição correspondente a tensão filtrada  (Não apresentado)

titlesin='Saída da ADC para uma sinusóide (Período=2s, Amplitude=~4V)';
file_sin='sinusoide#Ts=05ms#Period=2s#Amp=~4V.txt';
commntsin='Comprova-se que a ADC está a ler correctamente para Ts=5ms';

titlet5= 'Resposta para vários Ts (passo temp=500ms, passo ang=5º)';

filest5=['rampa#Ts=05ms#dt=500ms#dp=5º#m=000g.txt',
         'rampa#Ts=05ms#dt=500ms#dp=5º#m=675g.txt',
         'rampa#Ts=10ms#dt=500ms#dp=5º#m=000g.txt',
         'rampa#Ts=10ms#dt=500ms#dp=5º#m=675g.txt',
         'rampa#Ts=20ms#dt=500ms#dp=5º#m=000g.txt',
         'rampa#Ts=20ms#dt=500ms#dp=5º#m=675g.txt'];
     
commnt5=['Ts= 5ms, Massa=Vazio',
         'Ts= 5ms, Massa= 675g',
         'Ts=10ms, Massa=Vazio',
         'Ts=10ms, Massa= 675g',
         'Ts=20ms, Massa=Vazio',
         'Ts=20ms, Massa= 675g'];

     
titlet2= 'Resposta para vários Ts (passo temp=200ms, passo ang=5º)';

filest2=['rampa#Ts=05ms#dt=200ms#dp=5º#m=000g.txt',
         'rampa#Ts=05ms#dt=200ms#dp=5º#m=675g.txt',
         'rampa#Ts=10ms#dt=200ms#dp=5º#m=000g.txt',
         'rampa#Ts=10ms#dt=200ms#dp=5º#m=675g.txt',
         'rampa#Ts=20ms#dt=200ms#dp=5º#m=000g.txt',
         'rampa#Ts=20ms#dt=200ms#dp=5º#m=675g.txt'];
     
commnt2=['Ts= 5ms, Massa=Vazio',
         'Ts= 5ms, Massa= 675g',
         'Ts=10ms, Massa=Vazio',
         'Ts=10ms, Massa= 675g',
         'Ts=20ms, Massa=Vazio',
         'Ts=20ms, Massa= 675g'];
     

titlet1= 'Resposta para vários passos ang. (Ts=20ms, passo temp=100ms)';
      
filest1=['rampa#Ts=20ms#dt=100ms#dp=5º#m=000g.txt',
         'rampa#Ts=20ms#dt=100ms#dp=5º#m=675g.txt',
         'rampa#Ts=20ms#dt=100ms#dp=2º#m=000g.txt',
         'rampa#Ts=20ms#dt=100ms#dp=2º#m=675g.txt'];

commnt1=['Passo angular=5º, Massa=Vazio',
         'Passo angular=5º, Massa= 675g',
         'Passo angular=2º, Massa=Vazio',
         'Passo angular=2º, Massa= 675g'];

f4=figure(4);
set(f4,'name',titlet1);
for i=1:size(filest1,1)
    clear array;
    
    array=load(filest1(i,:));
    
    subplot(2,2,i);
    
    plot(array(:,1),array(:,2));
    
    xlabel(commnt1(i,:));
    ylabel('Tensão V (*1e3)');
end


f3=figure(3);
set(f3,'name',titlet2);
for i=1:size(filest2,1)
    clear array;
    
    array=load(filest2(i,:));
    
    subplot(3,2,i);
    
    plot(array(:,1),array(:,2));
    
    xlabel(commnt2(i,:));
    ylabel('Tensão V (*1e3)');
end


f2=figure(2);
set(f2,'name',titlet5);
for i=1:size(filest5,1)
    clear array;
    
    array=load(filest5(i,:));
    
    subplot(3,2,i);
    
    plot(array(:,1),array(:,2));
    
    xlabel(commnt5(i,:));
    ylabel('Tensão V (*1e3)');
end


f1=figure(1);
set(f1,'name',titlesin);
for i=1:size(file_sin,1)
    clear array;
    
    array=load(file_sin(i,:));
    
    plot(array(:,1),array(:,2));
    
    xlabel(commntsin);
    ylabel('Tensão V (*1e3)');
end
