% % % Controle de nível % % TCC : Marcelo % Curso: TAI clc; clear; close all; % parâmetros sistema ro = 1000 ; % água R = 1200 ; % fluxo laminar (sistemas linear) g = 9.8 ; A = 15 ; % sistema contínuo s = tf('s') ; FTMA = R / (A*ro*R*s+ro*g) ; figure; step(FTMA) title('Resposta em malha aberta'); grid FTMF = feedback(FTMA,1); figure; step(FTMF) title('Resposta em malha fechada'); grid % PP control y = [0 0 0 0]; u = [0 0 0 0]; yr = [0 0 0 0]; nit = 40; ref = 1; iter = 1; for k = 1:nit if iter <= nit / 2 yr(k) = ref; iter = iter + 1; else yr(k) = 3 * ref ; % muda a referência end end for k = 5 : nit y(k) = 0.9470 * y(k-1) + 0.8840 * u(k-1) ; u(k) = 1.1264 * yr(k) - 1.0664 * y(k) ; end t = 1 : nit; figure; subplot(121); plot(t,y(t),t,yr(t)), title('Saída e Referência: controle PP'), xlabel('amostra');grid subplot(122); plot(t,u(t)), title('Entrada'), xlabel('amostra');grid % GMV y = [0 0 0 0]; u = [0 0 0 0]; yr = [0 0 0 0]; lambda0 = 0.1 ; nit = 40; ref = 1; iter = 1; for k = 1:nit if iter <= nit / 2 yr(k) = ref; iter = iter + 1; else yr(k) = 3 * ref ; % muda a referência end end for k = 5 : nit y(k) = 0.9470 * y(k-1) + 0.8840 * u(k-1) ; % a saída é sempre a mesma, pois a planta é a mesma u(k) = (lambda0/(0.8840+lambda0)) * u(k-1) + (1/(0.8840+lambda0)) * yr(k) - (0.9470/(0.8840+lambda0)) * y(k) ; % lei de controle , sempre diferente para cada tipo de controle end t = 1 : nit; figure; subplot(121); plot(t,y(t),t,yr(t)), title('Saída e Referência: controle GMV'), xlabel('amostra');grid subplot(122); plot(t,u(t)), title('Entrada'), xlabel('amostra');grid