Sunteți pe pagina 1din 87

EET - Laboratrio de

Controle de
Processos
Instituto Politcnico PUC Minas

Autor:
Wesley Oliveira Maia
Contribuio:
Eduardo Motta Jardim
Jlio Csar Braz de Queiroz
Zlia Myriam Assis Peixoto
Belo Horizonte 2016

EET - Laboratrio de Controle de Processos

Sumrio

1.

Introduo ao MATLAB ......................................................................................................... 5

1.1

Aspectos Gerais ................................................................................................................. 5

1.1.1
1.2

Comandos Bsicos e Operaes com Matrizes ................................................................. 9

1.2.1
1.3

Atividade Prtica ..................................................................................................... 10

Ramificaes e Laos ....................................................................................................... 13

1.3.1
2

Atividade Prtica ....................................................................................................... 7

Atividade Prtica ..................................................................................................... 14

Composio e Decomposio de Sinais .............................................................................. 16


2.1

Atividade Prtica ......................................................................................................... 16

3.
Anlise da resposta transitria de sistemas contnuos no tempo: Resposta ao degrau,
resposta ao impulso e resposta rampa. ................................................................................... 20
3.1
4

Atividade Prtica ......................................................................................................... 22

Sinais Peridicos e No Peridicos ...................................................................................... 26


4.1

Atividade Prtica ......................................................................................................... 27

Convoluo Linear Discreta ................................................................................................. 30


5.1

Atividade Prtica ......................................................................................................... 31

Sistemas no Domnio S ........................................................................................................ 35


6.1

7.

Atividade Prtica ......................................................................................................... 36

Lugar das Razes e Diagramas de Bode ............................................................................... 40


7.1

Mtodo do Lugar das Razes ....................................................................................... 40

7.2

Diagramas de Bode ..................................................................................................... 42

7.3

SISOTOOL..................................................................................................................... 44

7.4

Atividade Prtica ......................................................................................................... 44

8.

Anlise de Sinais usando a Srie de Fourier ........................................................................ 47


8.1

9.

Atividade Prtica ......................................................................................................... 48

Transformada Rpida de Fourier ........................................................................................ 50


9.1

10.
10.1
11.
11.1

Atividade Prtica ......................................................................................................... 51


Sntese de Sinais usando a Transformada Rpida Inversa de Fourier............................. 53
Atividade Prtica ......................................................................................................... 53
Teorema da Amostragem................................................................................................ 58
Atividade Prtica ......................................................................................................... 60

IPUC

Pgina 2

EET - Laboratrio de Controle de Processos


12.
12.1
13.

Reconstituio de um Sinal Analgico ............................................................................ 66


Atividade Prtica ......................................................................................................... 67
Filtro Digital FIR ............................................................................................................... 69

13.1

Projeto de Filtros ......................................................................................................... 70

13.2

FDATool ....................................................................................................................... 72

13.3

Atividade Prtica ......................................................................................................... 74

Referncias .................................................................................................................................. 75
Apncide A Biblioteca de Blocos do Simulink .......................................................................... 76
A.1. Sinks ................................................................................................................................. 76
A.2. Sources ............................................................................................................................. 76
A.3. Math Operations .............................................................................................................. 77
A.4. Continuous ....................................................................................................................... 77
A.5. Discrete ............................................................................................................................ 78
Apndice B Kit FRDM-KL25Z: Usando a Sada PWM como um Conversor Digital-Analgico .. 79
B.1. Fundamentos Tericos ..................................................................................................... 79
B.2. Projeto do Filtro Passa-Baixas .......................................................................................... 81
B.3. Implementao do Projeto no CodeWarrior ................................................................... 84
B.4. Resultados Experimentais ................................................................................................ 87

IPUC

Pgina 3

EET - Laboratrio de Controle de Processos


PREFCIO

Esta apostila tem o objetivo de auxiliar os alunos do curso de Engenharia Eltrica nos estudos
da disciplina de Laboratrio de Sistemas Lineares, onde a pretenso simplesmente facilitar o
entendimento e compreenso do contedo de Sinais e Sistemas.
Este material teve como referncia a apostila do Laboratrio de Sinais e Sistemas, elaborada
pelos professores Antonius Henricus Maria de Knegt e Alessandra Lopes Carvalho (com
colaborao de Cicli Martins). Alm disso, as bibliografias abaixo foram utilizadas como
material complementar:

HAYKIN, Simon; VAN VEEN, Barry. Sinais e Sistemas. Porto Alegre: Bookman, 2001.
OPPENHEIM, Alan V.; WILLSKY, Alan S.. Sinais e Sistemas. So Paulo: Prentice Hall, 2010.
ROBERTS, Michael J.. Fundamentos em Sinais e Sistemas. So Paulo: McGrae-Hill, 2009.

Como apenas a primeira verso, no sendo realizada uma reviso mais criteriosa do material,
desta forma, correes e sugestes so bem vindas podendo ser encaminhadas para o
responsvel da elaborao desta.

Desejo que este material possa contribuir de forma agradvel e eficiente para a formao dos
alunos deste curso.

Sejam Bem Vindos e Bons Estudos!

WESLEY OLIVEIRA MAIA


Professor do Departamento de Controle e Automao
PUC Minas

IPUC

Pgina 4

EET - Laboratrio de Controle de Processos


1.

Introduo ao MATLAB

1.1

Aspectos Gerais

Segundo Chapman (2006), o MATLAB um programa de uso especfico para a execuo


de clculos matemticos e de engenharia. Foi, inicialmente, concebido como um programa
para operaes sobre matrizes, mas ao longo dos anos, com o incremento de suas
funcionalidades, tornou-se um sistema computacional com recursos para solues de
problemas tcnico-cientficos, em geral.
A seguir so listados alguns itens disponveis no ambiente MATLAB:

Recursos
O MATLAB oferece uma ampla biblioteca de funes predefinidas:
sin(x);
fft(x).
Comunicao com outros programas:
Excel;
Java;
PSIM.
Interface com kits de desenvolvimento:
Code Composer Studio/ C6000 / C2000 (Texas Instruments);
VisualDSP++ / Blackfin (AnalogDevices);
Green Hills MULTI / MPC5500 (Freescale).

Toolboxes
O MATLAB possui uma famlia de aplicativos (toolboxes), que so conjuntos de
funes usadas para resolver problemas de reas especficas da engenharia, tais
como:
Controle de Processos e Otimizao;
Processamento de Sinais;
Eletrnica de Potncia;
Redes Neurais, dentre outros.

Aplicaes
Gerais
Verificao de softwares para detectar, em tempo de execuo, erros
antes da compilao ou testes;
Anlise de projetos atravs de simulao, antes da implementao e
teste;
Desenvolvimento de cdigos C ou HDL para execuo em sistemas
embarcados via DSPs, ASICs e FPGAs.

IPUC

Pgina 5

EET - Laboratrio de Controle de Processos

Sistemas Embarcados
Verificao de projetos antes da implementao e testes;
Gerao de cdigos para prototipagem e produo..
Processamento Digital de Sinais
Aquisio de dados e anlise de sinais;
Desenvolvimento de algoritmos para aplicaes em comunicao, udio
voz e vdeo, dentre outros.
Gerao de cdigos C ou HDL para execuo em sistemas embarcados:
DSPs, ASICs e FPGAs.
Sistemas de Controle
Criar modelos para a representao de plantas;
Projeto de controladores e lgica de controle;
Anlise da estabilidade de sistemas.

rea de Trabalho do MATLAB


Integra diversas ferramentas para gerenciar funes e variveis internas com a
possibilidade de leitura/escrita em arquivos externos ao ambiente. Principais
ferramentas disponveis na rea de trabalho ou que podem ser acessadas a partir dela,
so:
Command Window (Janela de Comandos);
Command History (Janela de Histrico de Comandos);
Workspace (Espao de Trabalho);
Figure (Janela de Figuras);
Editor (Janela de Edio / Depurao).

Figura 1 - rea de trabalho do MATLAB.

Fonte: Arquivo Pessoal.

IPUC

Pgina 6

EET - Laboratrio de Controle de Processos

Obtendo Ajuda
O usurio pode obter ajuda de trs maneiras distintas:
Navegador de Ajuda;
Digitar lookfor seguido de uma palavra-chave do problema e, em seguida,
avaliar as informaes associadas s funes encontradas:
Ex.: lookfor integral <enter>

Digitar help seguido do nome da funo na janela de Comandos.


Ex.: help sin <enter>

Comandos relativos ao espao de trabalho:


clc limpa o contedo da Janela de Comandos;
clf limpa o contedo da Janelas de Figuras;
clear all limpa as variveis do Espao de Trabalho;
close all fecha todas as janelas de Figuras;
whos lista todas as variveis e matrizes atuais;
ctrl+c interrompe o programa em execuo.

1.1.1 Atividade Prtica


A. Assumindo que r = 5 () e i = 2 (A), calcule o valor de V atravs da Lei de Ohm,
utilizando a Janela de Comandos.
>> r = 5; <enter>
>> i = 2; <enter>
>> v = r*i <enter>
B. O comando trapz utilizado para clculo de integrao numrica atravs da
aproximao trapezoidal. Com a ajuda do help do MATLAB, descubra como esse
comando pode ser utilizado para o clculo da rea abaixo da curva figura abaixo.

y 2t
20
18
16
14

12
10
8
6
4
2
0

5
t

10

IPUC

Pgina 7

EET - Laboratrio de Controle de Processos


C. O comando polyfit encontra os coeficientes de um polinmio p(x) de grau n que se
ajuste a um conjunto de dados pr-definidos, no sentido dos mnimos quadrados.
Dados os vetores x e y, determine os coeficientes do polinmio usando este comando.

x 0 1 2 3 4 5 6 7 8 9 ;
y 1 2.5 2 3 3 3 2.5 2.5 2 1 ;

IPUC

Pgina 8

EET - Laboratrio de Controle de Processos


1.2

A.

Comandos Bsicos e Operaes com Matrizes

Variveis
Existem trs formas comuns para a especificao/ inicializao uma varivel, no

ambiente MATLAB:
Associar dados uma varivel usando declarao de valores:
Ex.: r = 10;
Ex.: r = [1 2 3 4];
Ex.: r = [1 2 3 4 ; 5 6 7 8];
Fornecer dados varivel pelo teclado:
Ex.: i = input('Entre com o valor da corrente (A):');
Ler dados de um arquivo.
Ex.: v = tensao.mat
B.

Expresses
O MATLAB uma linguagem de expresses compostas por operadores e outros

caracteres especiais, de funes e dos nomes das variveis. As avaliaes das expresses
produzem matrizes, que podem (ou no) ser mostradas na tela e atribudas s variveis para
uso futuro.
importante ressaltar que o MATLAB faz distino entre letras maisculas e minsculas,
assim a e A no so as mesmas variveis. Alm disso, todas as funes devem ser escritas em
letras minsculas: inv(A) calcula a inversa de A, mas INV(A) uma funo indefinida.
C.

Vetores e Matrizes
A unidade fundamental de dados, em qualquer programa MATLAB, a matriz. A Matriz

uma coleo de dados organizados em linhas e colunas, conhecidos por um nico nome.

Vetor Pode ser do tipo linha (1xj) ou coluna (ix1), i e j inteiros. Exemplos:

IPUC

Pgina 9

EET - Laboratrio de Controle de Processos


a [a1

a2

a3 ]

a1
a a2
a3

(1)

Matriz matriz com i linhas e j colunas (separar as linhas com ponto e vrgula )

a11

Aij
ai1

D.

a1 j

[a11
aij

a1 j ;

; ai1

(2)

aij ]

Operaes com Escalares


Tabela 1 - Operaes no MATLAB

Operao

Forma Algbrica

Forma MATLAB

Soma

a+b

a+b

Subtrao

a-b

a-b

Multiplicao

axb

a* b

Diviso

a/b

a/b

ab

a^b

Exponencial

E.

Operaes com Matrizes


As operaes com matrizes no MATLAB so realizadas de duas formas distintas:
Operaes Estruturais - So operaes entre matrizes executadas elemento a
elemento. Podem tambm ocorrer entre uma matriz e um escalar.
Operaes Matriciais So operaes entre matrizes executadas segundo as regras
normais da lgebra linear.
O MATLAB utiliza um ponto (.) antes do smbolo da operao para diferenciar operaes

estruturais de operaes matriciais.

1.2.1 Atividade Prtica


A. A profundidade de um poo, em metros, pode ser determinada deixando-se cair uma
pedra dentro dele (com velocidade inicial zero) e aguardando-se at que ela atinja o
fundo do mesmo. Isso ocorre aps a distncia:

IPUC

Pgina 10

EET - Laboratrio de Controle de Processos


d

1 2
gt
2

Onde t o tempo de queda livre do objeto e g = 9,8m/s2. Plote a curva dxt de queda
livre de um objeto para um intervalo de 0 a 10s.

Soluo
Script MATLAB
%=====================================================================
% PUC MINAS IPUC
% Curso de Engenharia Eltrica - Laboratrio de Sinais e Sistemas
% Aluno:
%=====================================================================
%
% LAB 2 - Comandos Bsicos e Operaes com Matrizes
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
t = 0:1:10;
g = 9.8;
d = (1/2)*g*t.^2;

% Vetor com os valores de tempo


% Acelerao da gravidade
% Clculo da distncia

%=====================================================================
% Plotando figura(s)
figure(1)
plot(t,d)
title('Grfico de Distncia em Queda Livre')
xlabel('tempo(s)')
ylabel('Distncia (m)')
grid on
%=====================================================================

IPUC

Pgina 11

EET - Laboratrio de Controle de Processos


Figura(s)
Grfico de Distncia em Queda Livre
500
450
400

Distncia (m)

350
300
250
200
150
100
50
0

5
tempo(s)

10

B. O circuito mostrado na figura seguinte representa um gerador com resistncia interna


(R1) e uma carga com resistncia varivel ( R2 0 200 ) conectada externamente.
Determine o valor de R2 para a mxima transferncia de potncia atravs da curva
PxR2.
R1
100

R2

V1
20 V

50%

C. A figura seguinte mostra um circuito eltrico composto de resistores e fontes de


tenso. Determine a corrente de cada malha usando a Lei de Kirchhoff para tenses e
o mtodo das correntes de malha.
R1

R5

100

330
V2
10 V

R3
200
R4

V1
20 V
R2
220

150

R6
100

IPUC

Pgina 12

EET - Laboratrio de Controle de Processos


1.3

Ramificaes e Laos

As ramificaes so declaraes do MATLAB que permitem selecionar e executar sees


especficas de um cdigo. O MATLAB disponibiliza trs variaes desse tipo de construo
(CHAPMAN, 2003):
IF / ELSE;
SWITCH / CASE;
TRY / CATCH.
O comando IF tem a seguinte forma:
if condicao1
Comandos1
Comandos2
...
elseif
Comandos3
Comandos4
...
else
Comandos5
Comandos6
...
end

A primeira condio sempre escrita com IF, a ltima com ELSE e todas as
intermedirias com ELSEIF.
A estrutura SWITCH permite selecionar um bloco especfico do cdigo para ser
executado, com base no valor de um nico inteiro, caractere ou expresso lgica. A forma
geral :
switch(expressao)
case expressao_case_1,
Comandos1
Comandos2
...
case expressao_case_2,
Comandos1
Comandos2
...
otherwise,
Comandos1
Comandos2
...
end

O MATLAB contm dois comandos para gerar loops, o comando FOR e o comando
WHILE. O lao FOR executa um bloco de comandos durante um nmero especificado de vezes.
Ele tem a seguinte forma:

IPUC

Pgina 13

EET - Laboratrio de Controle de Processos


for indice = expressao
Comandos1
Comandos2
...
end

O lao WHILE um bloco de comandos que se repetem indefinidamente, enquanto uma


condio for satisfeita. Sua forma geral :
while expressao
Comandos1
Comandos2
...
end

1.3.1 Atividade Prtica


A. Desenvolva um script MATLAB que leia trs valores de temperatura em graus
Fahrenheit, converta essa temperatura para um valor absoluto em Kelvin e Celsius e
mostre o resultado.

TC

5(TF 32)
9

5T

TK F 32 273,15
9

Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 3 - Ramificaes e Laos
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
for i=1:1:3
Tf = input('Entre com o valor de temperatura em graus
Fahrenheit(F):');

IPUC

Pgina 14

EET - Laboratrio de Controle de Processos

Tc = (5*(Tf-32))/9;
Tk = (5/9)*(Tf-32)+273.15;
fprintf('A temperatura em graus Celsius = %6.2f \n',Tc)
fprintf('A temperatura em graus Kelvin = %6.2f \n',Tk)
end
%=====================================================================

B. Construa uma rotina para determinar a soma dos n primeiros termos da srie:

(1) k

k
k 1 2
n

Execute a rotina para n = 4 e n = 20.

C. A funo sin(x) pode ser escrita em termos da srie de Taylor, como:

sin( x)
0

(1)k x 2 k 1
(2k 1)!

Escreva uma funo que calcule sin(x) usando a srie de Taylor.

IPUC

Pgina 15

EET - Laboratrio de Controle de Processos


2

Composio e Decomposio de Sinais


Um sinal de tempo x(t ) , contnuo no tempo, ser um sinal par se atender a condio

dada pela Equao (3), o que significa que sinais sero simtricos em relao ao eixo vertical
(Haykin e Van Veen, 2001):

x(t ) x(t )

(3)

Um sinal de tempo contnuo x(t ) ser um sinal mpar se o mesmo estiver de acordo
com a Equao (4). Isto significa que sinais mpares sero simtricos em relao origem.

x(t ) x(t )

(4)

O sinal qualquer x(t ) pode ser expresso como a soma das componentes par x p (t ) e
impar xi (t ) , da seguinte maneira:

x(t ) x p (t ) xi (t )

(5)

Desta forma, tem-se que:

2.1

x p (t )

1
x(t ) x(t )
2

(6)

x p (t )

1
x(t ) x(t )
2

(7)

Atividade Prtica

A. Considere o sinal descrito pela funo y(t ) e2t , com uma taxa de amostragem

t 0.01 e o intervalo [-3, 3]. Implemente um script para a construo dos seguintes
grficos:
I.
II.
III.
IV.

Sinal original;
Componente par;
Componente mpar;
Reconstruo do sinal (componente par + componente mpar).

Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 4 - Composio e Decomposio de Sinais
%

IPUC

Pgina 16

EET - Laboratrio de Controle de Processos


%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
% Criar um vetor (Operador dois pontos)
% prim:incr:ultm
t = -3:0.01:3;
% Sinal Original
y = exp(-2*t);
% Componente Par
yp = 1/2*(exp(-2*t)+exp(2*t));
% Componente Impar
yi = 1/2*(exp(-2*t)-exp(2*t));
figure(1)
subplot(3,1,1)
plot(t,y);
title('Sinal Original');
xlabel('t');
ylabel('Y');
legend ('exp(-2t)');
grid on
subplot(3,1,2)
plot(t,yp);
title('Componente Par');
xlabel('t');
ylabel('Yp');
legend ('Par');
grid on

%
%
%
%

Ttulo da figura
Legenda para o eixo X
Legenda para o eixo Y
Legenda para o figura

%
%
%
%

Ttulo da figura
Legenda para o eixo X
Legenda para o eixo Y
Legenda para o figura

subplot(3,1,3)
plot(t,yi);
title('Componente Impar');% Ttulo da figura
xlabel('t');
% Legenda para o eixo X
ylabel('Yi');
% Legenda para o eixo Y
legend ('Impar');
% Legenda para o figura
grid on
% Reconstruo do sinal
yrec = yp + yi;
figure(2)
plot(t,yrec,'*');
title('Reconstruo do sinal');% Ttulo da
xlabel('t');
% Legenda para o
ylabel('Yrec');
% Legenda para o
legend ('Sinal');
% Legenda para o
grid on

figura
eixo X
eixo Y
figura

IPUC

Pgina 17

EET - Laboratrio de Controle de Processos

%=====================================================================

Figura(s)

Sinal Original
500
Y

exp(-2t)

0
-3

-2

-1

0
t
Componente Par

400
Yp

Par
200
0
-3

-2

-1

0
t
Componente Impar

500
Yi

Impar
0
-500
-3

-2

-1

0
t

Reconstruo do sinal
450
Sinal
400
350

Yrec

300
250
200
150
100
50
0
-3

-2

-1

0
t

3
B. Considere o sinal descrito pela funo y(t ) 2t cos (10t ) , com uma taxa de

amostragem t 0.01 e o intervalo [-5, 5]. Escreva um script para a construo dos
seguintes grficos:
I.
II.
III.

Sinal original;
Componente par;
Componente mpar;

IPUC

Pgina 18

EET - Laboratrio de Controle de Processos


IV.

Reconstruo do sinal (componente par + componente mpar).

C. Considere o sinal descrito pela funo y(t ) (1 t 3 ) cos3 (10t ) , com uma taxa de
amostragem t 0.02 e o intervalo [-4, 4]. Desenvolva um script para a construo dos
seguintes grficos:
I.
II.
III.
IV.

Sinal original;
Componente par;
Componente mpar;
Reconstruo do sinal (componente par + componente mpar).

IPUC

Pgina 19

EET - Laboratrio de Controle de Processos


3. Anlise da resposta transitria de sistemas contnuos no
tempo: Resposta ao degrau, resposta ao impulso e resposta
rampa.
A Transformada de Laplace , basicamente, um mtodo dedicado soluo de equaes
diferenciais lineares, dentre outros (OGATA,2003). Operaes como diferenciao e integrao
podem ser substitudas por operaes algbricas no plano complexo, tambm chamado de
Plano s . Assim, uma equao diferencial linear pode ser transformada em uma equao linear
algbrica, funo de uma varivel complexa s (HAYKIN e VAN VEEN, 2001):

s j .
Se considerarmos uma exponencial complexa e st ou, equivalentemente,

est e t cos t e t sin t ,


ento as parcelas real e imaginria de e st so, respectivamente, um cosseno e um seno
exponencialmente amortecidos.

A Transformada de Laplace de uma funo f (t ) , no domnio do tempo contnuo,


definida como:

[ f (t )] F ( s)

f (t )e st dt

(8)

Um sistema pode ser facilmente modelado por uma funo de transferncia G( s) que
relaciona algebricamente as transformadas de Laplace dos sinais de sada Y ( s) e entrada

X ( s) , conforme equao 9,

G(s)

Y ( s)
X (s)

(9)

Esta abordagem ainda permite a modelagem do sistema atravs de um diagrama de


blocos, relacionando a entrada, o sistema e sada, conforme a figura 5.

IPUC

Pgina 20

EET - Laboratrio de Controle de Processos


Figura 2 - Representao por diagrama de blocos

Fonte: Arquivo Pessoal

Um dos requisitos bsicos para a anlise e projeto de um sistema de controle


determinar a resposta no domnio do tempo desse sistema a uma dada entrada. Desta
maneira, geralmente so selecionados entradas para teste padronizadas para verificao da
resposta e se os requisitos de desempenho podem ser alcanados atravs de um simples
ajuste nos parmetros do sistema. Estas entradas de teste so mostradas na tabela 2 (NISE,
2002).

Tabela 2 - Sinais de Teste Usados em Sistemas de Controle

Entrada

Funo

Grfico

Uso

f(t)
Impulso

Modelagem de Resposta
Transitria

(t )
t
f(t)

Degrau

Resposta transitria;
Erro de Estado Estacionrio

u (t )

t
f(t)
Rampa

tu (t )

Erro de Estado Estacionrio

t
f(t)
Senide

sen(t )

Resposta transitria;
Erro de Estado Estacionrio

Fonte: Nise (2002).

IPUC

Pgina 21

EET - Laboratrio de Controle de Processos


3.1

Atividade Prtica

A. Seja o sistema M(s) um motor CC controlador pela corrente de campo, cuja funo de
transferncia dada por:

M ( s)

( s)
V f ( s)

Km
s( Js b)( L f s R f )

Onde,

( s) : ngulo de rotao;

V f ( s) : Tenso de campo;

K m : Constante de torque do motor;

J : Inrcia;
b : Coeficiente de atrito viscoso;
L f : Indutncia da armadura;

R f : Resistncia da armadura.

Os valores dos parmetros so fornecidos na Tabela 3.


Tabela 3 - Parmetros do motor CC

Parmetros
Constante de torque do motor
Inrcia
Coeficiente de atrito viscoso
Indutncia da armadura
Resistncia da armadura

Valores
5 N.m/A
1 N.m.s2 / rad
20 kg /m /s
1 mH
1

Implemente um script que plote:


I.
II.
III.

A resposta do sistema quando submetido a um degrau unitrio na entrada;


A resposta do sistema quando submetido a um impulso unitrio na entrada;
Calcule a sada do sistema em resposta a uma entrada x(t) senoidal com frequncia
5Hz amostrada com ta=0.01 durante 1 segundo.

IPUC

Pgina 22

EET - Laboratrio de Controle de Processos

Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 8a - Sistemas no Domnio S
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
% Limpa a janela de comando
clear all; % Remove todas as variveis e funes da memoria do matlab
close all; % Fecha todas as janelas de figuras abertas
%=====================================================================
s = tf('s')
Km = 5;
J = 1;
b = 20;
Lf = 1;
Rf = 1;
f = 5;
t=0:0.01:1;
y = sin(2*pi*f*t);
M = Km/(s*(J*s+b)*(Lf*s+Rf))
%=====================================================================
% Plotando figura(s)
figure(1)
step(M)
title('Resposta ao Degrau')
grid on
figure(2)
impulse(M)
title('Resposta ao Impulso')
grid on
figure(3)
lsim(M,y,t)
title('Resposta Senoide')
grid on
%=====================================================================

IPUC

Pgina 23

EET - Laboratrio de Controle de Processos


Figura(s)

Resposta ao Degrau
8000

7000

6000

Amplitude

5000

4000

3000

2000

1000

0.5

1.5

2.5

3
4

Time (seconds)

x 10

Resposta ao Impulso

Resposta Senoide

0.25

1
0.8

0.2

0.6
0.4

Amplitude

0.2

Amplitude

0.15

0.1

0
-0.2
-0.4

0.05

-0.6
-0.8

-1

0.1

0.2

Time (seconds)

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Time (seconds)

B. O diagrama de blocos mostrado abaixo representa um sistema trmico com malha de


realimentao unitria. Com base na funo de transferncia em malha aberta
(FTMA), determine a constante de tempo (Tc), o tempo de assentamento (Ts) e erro
de estado estacionrio para uma entrada em degrau unitrio. Compare estes
resultados com aqueles obtidos para o sistema em malha fechada (FTMF).

G( s)
FTMA

0,01665
s 0,002299
FTMF

Tc
Ts
Erro

IPUC

Pgina 24

EET - Laboratrio de Controle de Processos

C. Considere o acrscimo de um controlador proporcional (KP) para melhorar a resposta


do sistema. Determine o valor de KP de modo que o erro de estado estacionrio seja
de 1%, considerando a entrada degrau unitrio.

IPUC

Pgina 25

EET - Laboratrio de Controle de Processos


4

Sinais Peridicos e No Peridicos

A caracterizao dos sinais quanto simetria (par ou mpar) ou periodicidade so de


grande importncia para o desenvolvimento de algoritmos eficientes. Quanto periodicidade,
para um sinal x(t) no domnio do tempo contnuo e x[n] no domnio do tempo discreto, tem-se
que:
A. Sinais de Tempo Contnuo
Um sinal x(t) peridico se satisfaz a condio:

x(t ) x(t T ) , t , T

(8)

Ou seja, se esta condio for satisfeita para T = To, ela tambm ser satisfeita para T =
2To, T = 3To, (...). Assim, o menor valor de T que satisfaz a expresso 12 chamado perodo
fundamental e define a durao de um ciclo completo de x(t). A frequncia do sinal calculada
como:

2
, rad/s
T0

Figura 3 - Forma de onda de um sinal peridico de tempo contnuo


Sinal de Tempo Contnuo
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

Fonte: Arquivo Pessoal.

B. Sinais de Tempo Discreto


Um sinal x[n] peridico se satisfaz a condio:

x(n) x(n N ) , n , N

(9)

IPUC

Pgina 26

EET - Laboratrio de Controle de Processos


O menor valor de N inteiro que satisfaz a expresso 13 chamado perodo fundamental
do sinal discreto x[n]. A frequncia angular ou frequncia fundamental :

2
(rad/amostra)
N

(10)

Figura 4 - Forma de onda de um sinal peridico de tempo discreto


Sinal de Tempo Discreto
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

10

15

20

25

30

35

40

Fonte: Arquivo Pessoal.

4.1

Atividade Prtica

A. Um sinal discreto descrito por:

x[n] sen(0,3n)

I.
II.
III.

Plote este sinal para 20 n 20 ;


Este sinal peridico? Se for qual o perodo fundamental?
Repita I e II para o sinal:

x[n] sen(0,3 n)
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 6 - Sinais Peridicos
%

IPUC

Pgina 27

EET - Laboratrio de Controle de Processos


%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
n = -20:1:20;
y = sin(0.3*n);
%=====================================================================
% Plotando figura(s)
figure(1)
stem(y,'LineWidth',2);axis([1 41 -1 1])
title('y = sin(0.3*n)')
grid on
%=====================================================================

Figura(s)
y = sin(0.3*n)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

10

15

20

25

30

35

40

B. Um sinal contnuo descrito por:

x(t ) sen(2 ft )
Onde f = 60 Hz e o sinal amostrando amostrado com uma frequncia fa = 1000 Hz.

IPUC

Pgina 28

EET - Laboratrio de Controle de Processos


I.
II.
III.

Plote este sinal para 0 t 0.1 ;


Este sinal peridico? Se for qual o perodo fundamental?
Repita I e II para uma frequncia de amostragem fa = 300.

C. Elabore o grfico da funo g[n]:

g[n] 2cos(9 n / 4) 3sen(6 n / 5), 50 n 50


Com base no grfico determine o perodo fundamental.

IPUC

Pgina 29

EET - Laboratrio de Controle de Processos


5

Convoluo Linear Discreta

Um sistema discreto definido, matematicamente, como uma transformao ou um


operador que mapeia uma sequncia de entrada [ ] em uma sequncia de sada [ ], ou
seja, (OPPENHEIM; SCHAFER, 2010):

y[n] H x[n]

(15)

Se um sistema atende s propriedades da linearidade (teorema da superposio) e invarincia


no tempo (qualquer deslocamento sobre o sinal de entrada implica em um mesmo
deslocamento no sinal de sada), ento o sistema denominado linear e invariante no tempo
(SLIT) e poder ser completamente caracterizado por sua Resposta ao Impulso!

x[n]

x[3] [n 3] x[2] [n 2] x[1] [n 1]

x[0] [n] x[1] [n 1] x[2] [n 2] x[3] [n 3]


Genericamente, um sinal discreto qualquer pode ser expresso como sequncia de
impulsos deslocados no tempo e amplitude [ ], em
:

x[n]

x[k ] [n k ]

(16)

Tomando a expresso (16) e indicando [ ] como a resposta do sistema ao impulso aplicado


], em
entrada [
, a sada do SLIT poder ser calculada conforme a seguinte
expresso:

y[n] H x[k ] [n k ]
k

y[n]

x[k ]H [n k ]

(17)

y[n]

x[k ]h [n]

Figura 5 - Sistema Discreto representado pelo operador H{}.

Fonte: Arquivo Pessoal.

IPUC

Pgina 30

EET - Laboratrio de Controle de Processos

5.1

Atividade Prtica

A. O exemplo a seguir tem por objetivo a aplicao do mtodo grfico para o clculo
manual da sada de um SLIT discreto cuja resposta ao impulso e sinal de excitao so
dados a seguir:

3, n 1
2, n 0

h[n]
1, n 1
0, c.c.
4, n 0
3, n 1

x[n]
2, n 2
0, c.c.
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 7 Ilustrao do Mtodo Grfico
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
% Parte 1
n1 = -1:1;
h = [-3 2 1];
fprintf('Pressione qualquer tecla para visualizar a Resposta ao
Impulso: \n')
pause
figure(1)
stem(n1,h,'LineWidth',2); axis([-4 6 -3 3])
title('Resposta ao Impulso h[n]');
xlabel('Amostras'); ylabel('Amplitude')

IPUC

Pgina 31

EET - Laboratrio de Controle de Processos


fprintf('Pressione qualquer tecla para visualizar o Sinal de
Excitao: \n')
pause
%=====================================================================
% Parte 2
n2 = 0:2;
x = [4 3 -2];
figure(2)
stem(n2,x,'r','LineWidth',2); axis([-4 6 -3 4])
title('Sinal de Excitao x[n]')
xlabel('Amostras'); ylabel('Amplitude')
%=====================================================================
%Parte 3
fprintf('Pressione qualquer tecla para a Resposta ao Impulso
espelhada: \n')
pause
hespelhado = [1 2 -3];
figure(3)
stem(n1,hespelhado,'LineWidth',2); axis([-4 6 -3 3])
title('Resposta ao Impulso h[n] espelhada')
xlabel('Amostras'); ylabel('Amplitude')
%=====================================================================
%Parte 4
fprintf('Pressione qualquer tecla para visualizar os deslocamentos
sucessivos entre os sinais. \n')
fprintf('Os resultados parciais da convoluo sero a soma dos
produtos, ponto a ponto, dos impulsos. \n')
pause

%=====================================================================
% Parte 5
for(i=0:6)
n1 = -3:-1;
n1 = n1+i;
figure(4)
stem(n1,hespelhado,'LineWidth',2)
hold on
stem(n2,x,'r','LineWidth',2); axis([-4 6 -3 4])
if i==0
title('y[n]=0')
elseif i==1
title('y[n]=-12')
elseif i==2
title('y[n]=-1')
elseif i==3
title('y[n]=4')
elseif i==4
title('y[n]=-1')
elseif i==5
title('y[n]=-2')
else
title('y[n]=0 ')
end;

IPUC

Pgina 32

EET - Laboratrio de Controle de Processos

pause
close all
end
%=====================================================================
%Parte 6
fprintf('Pressione qualquer tecla para o grfico resultante da sada
y[n]: \n')
pause
saida = [0 -12 -1 4 -1 -2 0];
figure(5)
stem(saida,'LineWidth',2); %axis([-4 6 -12 4])
title('Saida y[n] resultante')
xlabel('Amostras'); ylabel('Amplitude')

Sinal h[n]
3

-1

-2

-3
-4

-3

-2

-1

B. Considere os sinais x[n] e h[n]:

x[n] u[n] u[n 16]


n

h1[n] 10 u (n 4) u (n 1)
h[n] h1[n] h2 [n]
n

h2 [n] 0,1 u (n) u (n 5)

C. Resolver a convoluo x[n]*h[n] usando a funo conv


Construa os grficos dos sinais x[n], h[n] e y[n]. Interprete.

disponvel no MATLAB.

IPUC

Pgina 33

EET - Laboratrio de Controle de Processos


D. Considere os sinais discretos h[n] = [-1 1 2 1], onde h[n] a resposta ao impulso do
sistema H, e x[n] um sinal senoidal com amplitude mxima igual a 10V e
frequncia100Hz. Construa os grficos dos sinais x[n], h[n] e y[n]. Interprete.

IPUC

Pgina 34

EET - Laboratrio de Controle de Processos


6

Sistemas no Domnio S

A Transformada de Laplace , basicamente, um mtodo dedicado soluo de equaes


diferenciais lineares, dentre outros (OGATA,2003). Operaes como diferenciao e integrao
podem ser substitudas por operaes algbricas no plano complexo, tambm chamado de
Plano s . Assim, uma equao diferencial linear pode ser transformada em uma equao linear
algbrica, funo de uma varivel complexa s (HAYKIN e VAN VEEN, 2001):

s j
Se considerarmos uma exponencial complexa e st ,

est e t cos t e t sin t ,


ento as parcelas real e imaginria de e st so, respectivamente, um cosseno e um seno
exponencialmente amortecidos.
A Transformada de Laplace de uma funo f (t ) , no domnio do tempo contnuo,
definida como:

[ f (t )] F ( s)

f (t )e st dt

(11)

Um sistema pode ser facilmente modelado por uma funo de transferncia G( s) que
relaciona algebricamente as transformadas de Laplace dos sinais de sada Y ( s) e entrada

X ( s) , conforme equao 20,


G(s)

Y ( s)
X (s)

(12)

Esta abordagem ainda permite a modelagem do sistema atravs de um diagrama de


blocos, relacionando a entrada, o sistema e sada, conforme a figura 6.

Figura 6 - Representao por diagrama de blocos

Fonte: Arquivo Pessoal

IPUC

Pgina 35

EET - Laboratrio de Controle de Processos


Um dos requisitos bsicos para a anlise e projeto de um sistema de controle
determinar a resposta no domnio do tempo desse sistema a uma dada entrada. Desta
maneira, geralmente so selecionados entradas para teste padronizadas para verificao da
resposta e se os requisitos de desempenho podem ser alcanados atravs de um simples
ajuste nos parmetros do sistema. Estas entradas de teste so mostradas na tabela 2 (NISE,
2002).
Tabela 4 - Sinais de Teste Usados em Sistemas de Controle

Entrada

Funo

Grfico

Uso

f(t)
Modelagem de Resposta
Transitria

(t )

Impulso

t
f(t)
Resposta transitria;
Erro de Estado Estacionrio

u (t )

Degrau

t
f(t)

tu (t )

Rampa

Erro de Estado Estacionrio

t
f(t)
sen(t )

Senide

Resposta transitria;
Erro de Estado Estacionrio

Fonte: Nise (2002).

6.1

Atividade Prtica

D. Seja o sistema M(s) um motor CC controlador pela corrente de campo, cuja funo de
transferncia dada por:

M ( s)

( s)
V f ( s)

Km
s( Js b)( L f s R f )

Onde,

( s) : ngulo de rotao;

V f ( s) : Tenso de campo;

K m : Constante de torque do motor;

J : Inrcia;

IPUC

Pgina 36

EET - Laboratrio de Controle de Processos

b : Coeficiente de atrito viscoso;


L f : Indutncia da armadura;

R f : Resistncia da armadura.

Os valores dos parmetros so fornecidos na Tabela 3.


Tabela 5 - Parmetros do motor CC

Parmetros
Constante de torque do motor
Inrcia
Coeficiente de atrito viscoso
Indutncia da armadura
Resistncia da armadura

Valores
5 N.m/A
1 N.m.s2 / rad
20 kg /m /s
1 mH
1

Implemente um script que plote:


IV.
V.
VI.

A resposta do sistema quando submetido a um degrau unitrio na entrada;


A resposta do sistema quando submetido a um impulso unitrio na entrada;
Calcule a sada do sistema em resposta a uma entrada x(t) senoidal com frequncia
5Hz amostrada com ta=0.01 durante 1 segundo.

Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 8a - Sistemas no Domnio S
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
s = tf('s')
Km = 5;
J = 1;
b = 20;
Lf = 1;

IPUC

Pgina 37

EET - Laboratrio de Controle de Processos


Rf = 1;
f = 5;
t=0:0.01:1;
y = sin(2*pi*f*t);
M = Km/(s*(J*s+b)*(Lf*s+Rf))
%=====================================================================
% Plotando figura(s)
figure(1)
step(M)
title('Resposta ao Degrau')
grid on
figure(2)
impulse(M)
title('Resposta ao Impulso')
grid on
figure(3)
lsim(M,y,t)
title('Resposta Senoide')
grid on
%=====================================================================

Figura(s)

Resposta ao Degrau
8000

7000

6000

Amplitude

5000

4000

3000

2000

1000

0.5

1.5
Time (seconds)

2.5

3
4

x 10

IPUC

Pgina 38

EET - Laboratrio de Controle de Processos

Resposta ao Impulso

Resposta Senoide

0.25

1
0.8

0.2

0.6
0.4

Amplitude

0.2

Amplitude

0.15

0.1

0
-0.2
-0.4

0.05

-0.6
-0.8

-1

0.1

0.2

Time (seconds)

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Time (seconds)

E. O diagrama de blocos mostrado abaixo representa um sistema trmico com malha de


realimentao unitria. Com base na funo de transferncia em malha aberta
(FTMA), determine a constante de tempo (Tc), o tempo de assentamento (Ts) e erro
de estado estacionrio para uma entrada em degrau unitrio. Compare estes
resultados com aqueles obtidos para o sistema em malha fechada (FTMF).

G( s)
FTMA

0,01665
s 0,002299
FTMF

Tc
Ts
Erro
F. Considere o acrscimo de um controlador proporcional (KP) para melhorar a resposta
do sistema. Determine o valor de KP de modo que o erro de estado estacionrio seja
de 1%, considerando a entrada degrau unitrio.

IPUC

Pgina 39

EET - Laboratrio de Controle de Processos


7. Lugar das Razes e Diagramas de Bode
7.1

Mtodo do Lugar das Razes

Seja o diagrama de blocos de um sistema em malha fechada:

+_

G(s)

H(s)

A funo de transferncia em malha fechada (FTMF) dada por:


( )
( ) ( )
e a funo de transferncia em malha aberta (FTMA) dada por:

( ) ( )
As razes do denominador da FTMF so os polos do sistema. As razes do numerador da
FTMF so os zeros. Em um sistema, o nmero de polos igual ao nmero de zeros. Desta
forma, a FTMF pode ser escrita como:
(
(

)(
)(

)
)

(
(

)
)

A equao caracterstica obtida, igualando o denominador da FTMF a zero, como


segue:

( ) ( )
Adicionando um ganho K a G s H s , a equao caracterstica pode ser reescrita na
forma:
(
(

)(
)(

)
)

(
(

)
)

O Lugar das Razes do sistema a trajetria descrita pelos polos em malha fechada,
quando o ganho K varia de 0 a .

IPUC

Pgina 40

EET - Laboratrio de Controle de Processos


O traado do Lugar das Razes permite analisar a estabilidade de um sistema em malha
fechada a partir do posicionamento de suas razes em malha aberta, no plano s, conforme
mostrado a seguir:
Root Locus
1
0.8

Imaginary Axis (seconds-1)

0.6
0.4
0.2

Semiplano

Semiplano

Estvel

Instvel

0
-0.2
-0.4
-0.6
-0.8
-1
-1

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

-1

Real Axis (seconds )

Anlise da estabilidade de um sistema em malha fechada a partir de seu Lugar das Razes
malha aberta
O semiplano esquerdo do plano s denominado regio estvel.
O semiplano direito do plano s denominado regio instvel.
A regio de fronteira entre os semiplanos denominada do limiar de instabilidade.
Quanto maior a componente imaginria, maior a oscilao da resposta.

O comando MATLAB usado para plotar o Lugar das Razes utiliza o numerador e o
denominador da FTMA:

Caso queira-se plotar o lugar das razes para um vetor ganho especfico K , utiliza-se a
forma:

IPUC

Pgina 41

EET - Laboratrio de Controle de Processos


7.2

Diagramas de Bode

A resposta em frequncia de um sistema linear pode ser obtida a partir da aplicao de


uma entrada do tipo senoidal com frequncia varivel, dentro de uma faixa adequada anlise
do sistema. Para cada valor de frequncia obtm-se a amplitude e fase do sinal de sada.
Bode Diagram

Magnitude (dB)

-20

-40

-60

-80
0

Phase (deg)

-45
-90
-135
-180
-2

10

-1

10

10

10

10

Frequency (rad/s)

Em sistemas reais, se a entrada x(t) for um sinal senoidal, a sada y(t) em regime
permanente tambm ser um sinal senoidal com a mesma frequncia, mas possivelmente o
mdulo e o ngulo de fase sero diferentes.

A resposta em frequncia a Transformada de Fourier da resposta ao Impulso do


sistema, fazendo
e considerando o fator de amortecimento igual a zero (
).
Desta forma, temos:

IPUC

Pgina 42

EET - Laboratrio de Controle de Processos


G( j )

Y ( j )
X ( j )

A partir do diagrama de Bode possvel determinar a Margem de Ganho e a Margem


de Fase do sistema:
Margem de Ganho: a variao no ganho do sistema, quando a fase igual a 180 , que
resulta em um sistema marginalmente estvel.
Margem de Fase: a variao no ngulo de fase do sistema, quando o ganho igual a 0 dB,
que resulta em um sistema marginalmente estvel.
Dessa forma, a anlise da estabilidade de sistemas de fase no mnima1, pode ser
realizada como segue:

Anlise da estabilidade de um sistema em malha fechada a partir de seu diagrama de Bode


de malha aberta
A Margem de Ganho indica quanto o ganho do sistema pode ser aumentado de forma que ele
ainda seja estvel em malha fechada.
A Margem de fase indica quanto a fase do sistema pode ser atrasada (na freqncia de
cruzamento de ganho) de forma que o sistema ainda seja estvel em malha fechada.
_____________________________________________________________________________
__

IPUC

Pgina 43

EET - Laboratrio de Controle de Processos


1

Um sistema dito ser de fase Mnima se todos os zeros (ou polos) da Funo de
Transferncia que o caracterizam estiverem no semiplano esquerdo do plano s.
O comando MATLAB usado para plotar o Lugar das Razes utiliza o numerador e o
denominador da FTMA:

Para traar o diagrama de Bode para uma frequncia especfica W:

7.3

SISOTOOL

O MatLab tambm possui uma ferramenta de projeto que utiliza o mtodo do Lugar
das Razes e o Diagrama de Bode, chamada SISOTOOL. Trata-se de uma ferramenta interativa
para anlise e projeto de sistemas de controle do tipo SISO (Single Input Single Output) LTI
(Linear Time Invariant).
SISOTOOL utiliza uma arquitetura bsica de sistema do tipo:

+_

F(s)

C(s)

G(s)

H(s)

que pode ser alterada de acordo com a configurao desejada.


possvel ativar a SISOTOOL e configurar os parmetros no ambiente de projeto ou
declarar as funes F(s), C(s), G(S) e H(S) previamente e ativar o SISOTOOL como segue:

( ( )

7.4

( )

( )

( ))

Atividade Prtica

A. Dado o diagrama de blocos e respectivas funes, trace o lugar das razes e o digrama de
bode utilizando os comando rlocus e bode, respectivamente. Analise a estabilidade do sistema.

F(s)

+_

C(s)

G(s)

H(s)

IPUC

Pgina 44

EET - Laboratrio de Controle de Processos

( )

( )

( )

( )

%===============================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%===============================================================
%
% Mtodo do Lugar das Razes atravs da funo rlocus
%
%===============================================================
clc
clear all
close all
% Equao caracterstica 1+G(s)H(s)=0
% Como H(s)=1 => 1+G(s)=0 => 1+mun/den=0
num=[1 1];
den=conv([1 0],[1 2]);
rlocus(num,den)
figure(2)
bode(num,den)

B. Utilize agora a ferramenta SISOTOOL para resolver a questo A.


%===============================================================
==
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%===============================================================
==%
% Mtodo do Lugar das Razes atravs do SISOTOOL
%
%===============================================================
==
clc
clear all
close all
F=1;
C=1;
G=tf([1 1],conv([1 0],[1 2]));
H=1;
sisotool(G,C,H,F)

Dicas:
No menu da janela que contm o grfico do lugar das razes, clique na opo
Analysis/Response to Step Command para obter o grfico de resposta ao degrau unitrio.
Clique com o boto direito do mouse sobre o grfico da resposta ao degrau, selecione a opo
Systems e mantenha apenas a seleo Closed Loop r to y (blue).

IPUC

Pgina 45

EET - Laboratrio de Controle de Processos


Posicione o mouse sobre os quadrados vermelhos do grfico do lugar das razes e movimenteos. Observe o efeito sobre a resposta ao degrau. Na janela principal Control and Estimation
Tools Manager, verifique na aba Compensator Editor o valor do ganho atribuido funo C(s),
que neste caso, atua como um controlador puramente proporcional.
C. Para o mesmo diagrama da questo A, trace o lugar das razes e o digrama de Bode
utilizando SISOTOOL, considerando:
( )

( )

( )

( )

Analise a estabilidade do sistema.


Determine o valor do ganho do controlador para o qual o sistema marginalmente estvel.
Para este valor de ganho, analise a resposta ao degrau.

D. Para o mesmo diagrama da questo A, trace o lugar das razes e o digrama de Bode
utilizando SISOTOOL, considerando:
( )

( )

( )

(
(

)
)(

( )

Analise a estabilidade do sistema.


Determine o valor do ganho do controlador para o qual o coeficiente de amortecimento
0,707. Para este valor de ganho, determine o tempo de subida, sobressinal mximo, tempo de
acomodao e o erro em regime permanente.
Dicas:
No grfico do lugar das razes, movimente com o mouse os quadrados vermelhos at atingir o
valor prximo ao amortecimento desejado (varivel Damping na parte inferior da janela).
Neste mesmo campo, informada a posio de uma das razes e a frequncia natural de
oscilao.
Abra o grfico da resposta ao degrau. Clique com o boto direito do mouse sobre a rea do
grfico e selecione todas as opes do item Characteristics: Peak response (sobressinal
mximo), Settling Time (tempo de acomodao), Rise Time (tempo de subida) e Steady State
(regime permanente). Os pontos sero indicados com crculos azuis e os valores apresentados
ao passar o mouse sobre os mesmos.
Tambm possvel definir alguns requisitos de projeto. Para tal, clique com o boto direito do
mouse sobre a rea do grfico do Lugar das Razes ou do Diagrama de Bode e selecione a
opo Design Requirements/New. Escolha o(s) parmetro(s) desejado(s) e indique o(s)
valor(es).

IPUC

Pgina 46

EET - Laboratrio de Controle de Processos


8. Anlise de Sinais usando a Srie de Fourier

Conhecendo os coeficientes da Srie de Fourier possvel reconstruir um sinal peridico


qualquer:

y(t ) a0 an cos(2 f 0 nt ) bn sen(2 f 0 nt ) , para n = 1, 2, 3, 4, 5, ...

(13)

n 1

Onde,
f0: frequncia fundamental;
n: indicativo do ensimo harmnico;
a0, an, bn: coeficientes.

Para gerar uma onda triangular, considere:

y(t ) a0 an

bn 0;

1
cos(2 f 0 nt ) , para n = 1, 3, 5, 7, ...
n2

a0

1
;
T0

an

(14)

8
T0
2

Para gerar uma onda quadrada, considere:

(1)
y (t ) a0 an
n

bn 0;

n 1
2

cos(2 f 0 nt ) , para n = 1, 3, 5, 7, ...

1
a0 ;
2

an

(15)

Para gerar uma onda dente de serra, considere:

y(t ) an
bn 0;

(1)( n1)
sen(2 f 0 nt ) , para n = 1, 2, 3, 4, ...
n
a0 0;

an

(16)

IPUC

Pgina 47

EET - Laboratrio de Controle de Processos


8.1

Atividade Prtica

A. Utilize os coeficientes da Srie de Fourier para traar um onda triangular entre 0 e 3s


com intervalo de amostragem Ta=0.01s e frequncia fundamental fo=1Hz.
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 10a - Composio de Sinais
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
A=1;
Ta=0.01;
fa=1/Ta;
t=0:Ta:3;
m = input('Nmero de harmnicos da srie:
f0=1;
T0=1/f0;
w0=2*pi*f0;
somatorio=zeros(1,length(t));

');

pause;
for n=1:2:m;
yatual=(1/(n^2))*cos(n*w0*t);
% harmnico atual
yy=yatual + somatorio;
% soma anterior + yatual
somatorio=yy;
% atualizao do somatrio
if n==1;
z=[yatual' somatorio'];
elseif n>1;
z=[yatual' somatorio' z];
end;
y=(A/T0) + (A*8/((pi^2)*T0))*z;
figure(1),plot(t,y), grid on;
pause;
end;
figure(2),plot(t,y(:,2)), grid on
%=====================================================================

IPUC

Pgina 48

EET - Laboratrio de Controle de Processos

Figura(s)

2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0

0.5

1.5

2.5

B. Utilize os coeficientes da Srie de Fourier para traar um onda quadrada entre 0 e 3s


com Ta=0.01s e frequncia fundamental fo=1Hz.

C. Utilize os coeficientes da Serie de Fourier para traar um onda dente de serra entre 0 e
3s com Ta=0.01s e frequncia fundamental fo=1Hz.

IPUC

Pgina 49

EET - Laboratrio de Controle de Processos


9. Transformada Rpida de Fourier

Em diversos problemas da engenharia h a necessidade de analisar sistemas no domnio


do tempo discreto, excitados por sinais no peridicos. A representao por Transformada de
Fourier de Tempo Discreto (DTFT) expressa como:

X e j

x[n]e

jn

(17)

A notao prtica da DTFT definida por:


N 1

X [k ] x[n]e j nk / N , 0 k N 1

(18)

n 0

Em (ROBERTS, 2009) proposto o seguinte algoritmo para calcular computacionalmente


a DTFT (escrito em script MATLAB), que implementa as operaes realizadas na equao 13:
% Calcular X[k] em um lao de repetio duplo aninhado
for k = 0:N-1
for n = 0:NF-1
X(k+1) = X(k+1) + X(n+1)*exp(-j*2*pi*n*k/N);
end
end

O clculo computacional de uma DTFT utilizando este algoritmo requer N2 operaes de


soma e multiplicaes complexas. Em 1965, Cooley e Tukey propuseram um algoritmo mais
eficiente em termos computacionais, aplicvel a vetores de grandes comprimentos, desde que
representados como potncias inteiras de dois. Esse algoritmo denominado de
Transformada Rpida de Fourier (Fast Fourier Transform - FFT).
Abaixo so destacadas algumas consideraes importantes para a aplicao da FFT.
Sejam L e N, respectivamente, os comprimentos do sinal x[n] e de sua Transformada de
Fourier (PEIXOTO, 2013):
Deve-se observar que se L < N, ento o sinal x[n] deve ser preenchido com zeros at
o comprimento N, adaptando o comprimento da sequncia para o clculo da DFT
(zero-padding);
Quanto maior o nmero de zeros acrescentados a x[n] , mais a DFT aproxima-se da
sua Transformada de Fourier. Isto ocorre devido ao maior nmero de amostras
tomadas no intervalo;
A quantidade de zeros no preenchimento depende da complexidade aritmtica
permitida pela aplicao desejada, pois quanto maior o nmero de zeros maiores os
requisitos computacionais e de memria envolvidos.

IPUC

Pgina 50

EET - Laboratrio de Controle de Processos

9.1

Atividade Prtica

A. O sinal y(t) a soma de dois sinais senoidais, o primeiro com amplitude de 0,7 e
frequncia de 50Hz e o segundo com amplitude 1 e frequncia de 120Hz. Usando o
MATLAB, calcule a FFT do sinal y(t) para uma frequncia de amostragem igual a 1kHz.
Alm disso, plote as figuras do sinal y(t) e da sua FFT.

y 0,7sen(2 50t ) sen(2120t )


Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 11 - Transformada Rpida de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
Fs = 1000;
T = 1/Fs;
L = 1000;
t = (0:L-1)*T;

%
%
%
%

Frequncia de amostragem
Perodo de amostragem
Comprimento do sinal
Vetor de tempo

% Soma de uma senoide de 50 Hz e uma senoide de 120 Hz


y = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
NFFT = 2^nextpow2(L); % Calcula a potncia de 2 mais prxima do
% comprimento do vetor y
Y = fft(y,NFFT)/L;

% Calcula a FFT

f = Fs/2*linspace(0,1,NFFT/2+1);
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
subplot(2,1,1)

IPUC

Pgina 51

EET - Laboratrio de Controle de Processos


plot(Fs*t(1:50),y(1:50))
title('Sinal y(t)')
xlabel('Tempo (milisegundos)')
% Espectro de Amplitude de y(t)
subplot(2,1,2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitude de y(t)')
xlabel('Frequncia (Hz)')
ylabel('|Y(f)|')
%=====================================================================

Figura(s)

B. O sinal z(t) a soma de dois sinais senoidais (y(t) e x(t)). Usando o MATLAB, calcule a
FFT do sinal y(t) para uma frequncia de amostragem igual a 1kHz. Alm disso, plote as
figuras do sinal y(t) e da sua FFT.

y (t ) 1,15Vm sen(t )

z (t ) y(t ) x(t )
Vm
x(t )
sen(3t )

Considere:

Vm = 10;
f = 60.

C. Na pasta da disciplina, no SGA, se encontram dois arquivos de extenso .cvs com os


dados capturados, via osciloscpio, da forma de onda de tenso fase-fase e da
corrente de sada de um inversor 3-nveis. Faa o upload desses dados para o MATLAB
e, na sequncia, calcule a FFT das duas formas de onda.

IPUC

Pgina 52

EET - Laboratrio de Controle de Processos


10.

Sntese de Sinais usando a Transformada Rpida

Inversa de Fourier

As equaes 29 e 30 so constituem o Par de Transformadas de Fourier no tempo


contnuo, que permitem a mudana do domnio do tempo para o domnio da frequncia e
vice-versa, conforme ilustra a figura 8. A funo X(j) definida como Transformada de
Fourier e a funo x(t), a Transformada Inversa de Fourier (OPPENHEIM; WILLSKY, 2010).

X ( j )

x(t )e

jt

(19)

dt

x(t )

1
2

X ( j )e

jt

(20)

Figura 7 - Relao entre FFT e IFFT.

Fonte: Arquivo Pessoal.

10.1 Atividade Prtica


A. O sinal y(t) a soma de dois sinais senoidais (z(t) e x(t)). Usando o MATLAB, calcule a
FFT do sinal y(t) para uma frequncia de amostragem igual a 1kHz. Alm disso, calcule
da IFFT para recuperar o sinal a partir das componentes geradas pelo clculo da FFT.

z (t ) A1 sen(2 f1t )
y (t ) z (t ) x(t )
x(t ) A2 sen(2 f 2t )
Considere:

A1 = 0,7;
A2 = 1;

IPUC

Pgina 53

EET - Laboratrio de Controle de Processos

f1 = 25;
f2 = 60.

Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 12 - Transformada Rpida Inversa de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
Fs = 1000;
T = 1/Fs;
L = 1024;
t = (0:L-1)*T;

%
%
%
%

Frequncia de amostragem
Perodo de amostragem
Comprimento do sinal
Vetor de tempo

f1
f2
A1
A2

%
%
%
%

frequncia 1
frequncia 2
amplitude 1
amplitude 2

=
=
=
=

25;
60;
0.7;
1;

% PARTE 1
% Soma de uma senoide de 6 Hz e uma senoide de 20 Hz
y = A1*sin(2*pi*f1*t) + A2*sin(2*pi*f2*t);
%PARTE 2
NFFT = 2^nextpow2(L); % Calcula a potncia de 2 mais prxima do
% comprimento do vetor y
Y = fft(y,NFFT)/L;

% Calcula a FFT

f = Fs/2*linspace(0,1,NFFT/2+1);
%PARTE 3
w = (-NFFT/2:NFFT/2-1)*(Fs/NFFT); % intervalo de frequncia
centralizado
Yshift = fftshift(Y);
% PARTE 4
yf = ifft(fftshift(Yshift));

IPUC

Pgina 54

EET - Laboratrio de Controle de Processos


%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
subplot(2,1,1)
plot(t,y),title('Onda senoidal 25Hz + 60Hz');axis([0 0.4 -2 2])
grid on
xlabel('Tempo (s)')
ylabel('y(t)')
% Espectro de Amplitude de y(t)
subplot(2,1,2)
plot(t,y,'r'),title('Sinal com Ruido')
grid on
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitude de y(t)')
xlabel('Frequncia (Hz)')
ylabel('|Y(f)|')

figure(2)
plot(w,2*abs(Yshift));
grid on
xlabel('Frequncia (Hz)')
ylabel('Amplitude')
title('FFT centralizada')
figure(3)
subplot(2,1,1)
plot(t,NFFT*real(yf));axis([0 0.4 -2 2])
title('Sinal Recuperado a partir das Componentes Geradas pela FFT')
grid on
xlabel('Tempo (s)')
ylabel('y(t)')
subplot(2,1,2)
plot(t,y);axis([0 0.4 -2 2])
title('Sinal Original')
grid on
xlabel('Tempo (s)')
ylabel('y(t)')
%=====================================================================

IPUC

Pgina 55

EET - Laboratrio de Controle de Processos


Figura(s)
Onda senoidal 25Hz + 60Hz
2

y(t)

1
0
-1
-2

0.05

0.1

0.15
0.2
0.25
Tempo (s)
Espectro de Amplitude de y(t)

0.3

0.35

0.4

0.8

|Y(f)|

0.6
0.4
0.2
0

50

100

150

200
250
300
Frequncia (Hz)

350

400

FFT centralizada

450

500

Sinal Recuperado a partir das Componentes Geradas pela FFT


2

0.7

y(t)

0.8

0.6

0
-1
-2

0.05

0.1

0.15

0.05

0.1

0.15

0.4

0.2
0.25
Tempo (s)
Sinal Original

0.3

0.35

0.4

0.3

0.35

0.4

0.3

1
0.2

y(t)

Amplitude

0.5

0.1
0
-500

0
-1
-2

-400

-300

-200

-100
0
100
Frequncia (Hz)

200

300

400

500

0.2
Tempo (s)

0.25

B. O sinal y(t) a soma de dois sinais senoidais (w(t), z(t) e x(t)). Usando o MATLAB,
calcule a FFT do sinal y(t) para uma frequncia de amostragem igual a 2kHz. Alm
disso, calcule da IFFT para recuperar o sinal a partir das componentes geradas pelo
clculo da FFT.

z (t ) A1 sen(2 f1t )

y (t ) z (t ) x(t ) w(t ) x(t ) A2 sen(2 f 2t )


w( z ) A cos(2 f t )
3
3

Considere:

A1 = 0,7;
A2 = 1;
A3 = 2;
f1 = 25;
f2 = 60;
f3 = 40.

IPUC

Pgina 56

EET - Laboratrio de Controle de Processos

C. Seja o sinal x(t) amostrado com frequncia de amostragem Fs = 10kHz. Considere


f1=200Hz e f2=400Hz. Foram coletados 200 pontos.

x(t ) 2 cos(2 f1t ) cos(2 f 2t )


Plote:
I.
II.
III.

O sinal no domnio do tempo;


O sinal no domnio da freqncia;
A transformada inversa de Fourier.

IPUC

Pgina 57

EET - Laboratrio de Controle de Processos


11.

Teorema da Amostragem

De acordo com Oppenhaim e Willsky (2010), uma forma de representar a amostragem


de um sinal de tempo contnuo em intervalos regulares por meio de um trem de impulsos
peridico multiplicado pelo sinal de tempo continuo x(t) que se deseja amostrar.

x p x(t ) p(t )

(21)

Em que,

p(t ) (t nT )

(22)

Desta forma, xp(t) um trem de impulsos com amplitudes dos impulsos iguais s
amostras de x(t) em intervalos espaados de T:

x p x(nT ) (t nT )

(23)

De acordo com o Teorema de Nyquist, a frequncia de amostragem f S deve ser maior


ou igual ao dobro da maior frequncia contida no sinal amostrado f m , ou seja, f S 2 f m .
Desta forma o sinal amostrado pode ser reproduzido integralmente sem erro de alisiang.,
conforme demonstrado na figura 9.
Figura 8 - Amostragem de um sinal contnuo no tempo
Sinal y(t)
20
10
0
-10
-20

0.5

1.5

2.5

3.5

4.5

5
4

x 10
Sinal amostrado
20
10
0
-10
-20

10

15

20

25

30

35

40

45

Fonte: Arquivo Pessoal.

IPUC

Pgina 58

EET - Laboratrio de Controle de Processos


Na prtica, como esses impulsos so difceis de serem gerados e transmitidos, utilizado
o retentor de ordem zero (zero-order hold - ZOH). Este sistema, mostrado na figura 10,
amostra o sinal x(t) em determinado instante e mantm esse valor durante um intervalo de
tempo at a prxima amostragem. A frequncia de amostragem determinada esse intervalo
de tempo entre as amostragens.
Figura 9 - Sistema com retentor de ordem zero

Fonte: Arquivo Pessoal.

O resultado desse processo mostrado na figura 11, onde um sinal senoidal x(t), com
frequncia de 50 Hz, amostrado a uma taxa de 500 Hz, gerando o sinal xp(t).
Figura 10 - Amostragem utilizando o retentor de ordem zero.

Fonte: Arquivo Pessoal.

Para digitalizar um sinal, precisamos de uma base de tempo e um conversor analgico


digital (analog-to-digital converter - ADC), que fornece uma aproximao digital do sinal
original, conforme figura 8. Essa aproximao digital registrada em Nbits. A base de tempo
determina a velocidade como que podemos amostrar a forma de onda e varia mais com o tipo
de ADC. possvel ter uma preciso de 24 bits e frequncias de 1 GHz, mas no
simultaneamente. Em geral, quanto maior for o nmero de bits, mais lento o dispositivo.

IPUC

Pgina 59

EET - Laboratrio de Controle de Processos


Figura 11 - Conversor analgico-digital.

Fonte: Arquivo Pessoal.

Nos microcontroladores, aps o processo de converso do ADC, as aproximaes digitais


de N-bits so armazenadas temporariamente na memria RAM do dispositivo. O bit mais
significativo (MSB) o que registra a maior variao de tenso, e o bit menos significativo (LSB)
registra a menor variao de tenso.

11.1 Atividade Prtica


A. Considere o sinal x(t) , onde f1=20Hz e f2=90Hz.

x(t ) 20sen(2 f1t ) 10sen(2 f 2t )


Plote:
I.
II.
III.
IV.

O sinal x(t) no domnio do tempo;


O sinal x(t) com frequncia de amostragem Fs = 300 Hz;
O sinal x(t) com frequncia de amostragem Fs = 600 Hz;
O sinal x(t) com frequncia de amostragem Fs = 1200 Hz.
Anlise e compare os resultados obtidos para as diferentes frequncias de
amostragem.

Soluo

IPUC

Pgina 60

EET - Laboratrio de Controle de Processos


Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - Engenharia Eltrica
%=====================================================================
%
% LAB 13a - Transformada Rpida de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;

% Limpa a janela de comando


% Remove todas as variveis e funes da memoria do matlab
% Fecha todas as janelas de figuras abertas

%=====================================================================
Fs = 300;
Tamost = 1/Fs;

% Frequncia de amostragem
% Perodo de amostragem

dt = 1e-6;
amost = 0;
f1 = 20;
f2 = 70;
temp = [];
sinal_cont = [];
amost_Z = [];
t_cont = [];
for(t=0:dt:0.05)
X = 20*sin(2*pi*f1*t);
Y = 10*sin(2*pi*f2*t);
Z = X + Y;
if t>=amost;
amost = amost + Tamost;
temp = [temp; t];
amost_Z = [amost_Z; Z];
end
sinal_cont = [sinal_cont; Z];
t_cont = [t_cont, t];
end
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
plot(t_cont,sinal_cont,'LineWidth',2);
title('Sinal x(t)')

IPUC

Pgina 61

EET - Laboratrio de Controle de Processos


grid on
% Sinal Amostrado
figure(2)
plot(amost_Z,'LineWidth',2); axis([1 15 -30 30])
title('Sinal Amostrado - Fs = 1200')
hold on
stem(amost_Z, 'r'); axis([1 15 -30 30])
grid on
%=====================================================================

Figura(s)
Sinal x(t)

Sinal Amostrado - Fs = 300

30

30

20

20

10

10

-10

-10

-20

-20

-30

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

-30

Sinal Amostrado - Fs = 600


30

20

20

10

10

-10

-10

-20

-20

10

15

20

10

12

25

30

-30

10

20

30

40

50

B. Considere o sinal x(t) , onde f1=50Hz.

x(t ) 10sen(2 f1t )


Implemente no Simulink um modelo de simulao e plote:
I.
II.
III.

14

Sinal Amostrado - Fs = 1200

30

-30

O sinal x(t) no domnio do tempo;


O sinal x(t) com frequncia de amostragem Fs = 200 Hz;
O sinal x(t) com frequncia de amostragem Fs = 1000 Hz;

IPUC

Pgina 62

60

EET - Laboratrio de Controle de Processos

IPUC

Pgina 63

EET - Laboratrio de Controle de Processos

Command Window
>> plot(sinal(:,1),sinal(:,2))
>> hold on
>> plot(sinal(:,1),sinal(:,3),'r')
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

IPUC

0.1

Pgina 64

EET - Laboratrio de Controle de Processos


C. Considere o sinal y(t):

z (t ) A1 sen(2 f1t )
y (t ) z (t ) x(t )
x(t ) A2 sen(2 f 2t )
Onde:

A1 = 0,7;
A2 = 1;
f1 = 25;
f2 = 60.

Plote:
I.
II.
III.
IV.

O sinal y(t) no domnio do tempo;


O sinal y(t) com frequncia de amostragem Fs = 180 Hz;
O sinal y(t) com frequncia de amostragem Fs = 300 Hz;
O sinal y(t) com frequncia de amostragem Fs = 600 Hz.

Calcule a FFT e compare os resultados obtidos para as diferentes frequncias de


amostragem.

IPUC

Pgina 65

EET - Laboratrio de Controle de Processos


12.

Reconstituio de um Sinal Analgico

De acordo com a teoria de Fourier, qualquer sinal pode ser decomposto em uma soma
infinita de harmnicos em frequncias mltiplas inteiras da frequncia fundamental. Desta
forma, a Srie de Fourier pode ser utilizada para representar um sinal de onda quadrada, como
o sinal proveniente da modulao por largura de pulso (PWM - pulse width modulation). Este
processo pode ser simplificado, colocando, criteriosamente, o sinal centrado na origem (t = 0)
com a mesma simetria para que o mesmo se torne uma funo matemtica, conforme
mostrado na figura 13.
Figura 12 - Representao de um sinal PWM.

Fonte: ALTER (2014).

Na figura 13, p denota o ciclo de trabalho (0 p 1) do sinal PWM e o T denota o


perodo em segundos.
A representao atravs da Srie de Fourier de qualquer funo peridica pode ser
calculada da seguinte forma:

2 nt
2 nt
f (t ) a0 an cos
bn sen

T
T
n 1

(24)

Onde,

a0

an

1
2T

bn

1
2T

1
2T

f (t )dt

(25)

2 nt
f (t ) cos
dt
T

(26)

2 nt
f (t ) sen
dt
T

(27)

IPUC

Pgina 66

EET - Laboratrio de Controle de Processos


Considerando que K denote a amplitude do sinal f(t) representado na figura 13, so
obtidos os seguintes resultados aps realizar as integrais 35 a 37:

a0 K p
an K

1
sen(n p) sen(2n (1 p / 2))
n

(28)

bn 0
A componente a0 corresponde parcela CC do sinal e igual amplitude do sinal PWM
multiplicado pelo ciclo de trabalho. Supondo que este seja o sinal desejvel na sada, ao
selecionar o ciclo de trabalho adequado, a tenso de sada pode ser obtida dentro do intervalo
de 0 a K Volts. O termo an representa a amplitude das componentes harmnicas de alta
frequncia do sinal PWM, o qual so multiplas inteiras da frequncia PWM (2/T).
Desta forma, para a obteno da componente contnua de tenso gerada pelo forma de
onda PWM, necessrio que este seja aplicado a um filtro do tipo passa-baixas (LPF low
pass-frequency), conforme a figura 14. Nesse tipo de sistema, a frequncia de corte deve ser
calculada para eliminar as componentes harmnicas de alta frequncia, diminuindo ao
mximo a ondulao do sinal resultante.
Figura 13 - Processo de filtragem do sinal PWM com filtro passa-baixas.

Fonte: NISARGA (2014).

12.1 Atividade Prtica


A. Os circuitos integrados dedicados a gerao de sinais PWM so amplamente utilizados
em fontes chaveadas e sistemas de controle de motores CC. O funcionamento do CI
SG3524, cujo diagrama de blocos mostrado na figura seguinte, consiste basicamente
na gerao de um sinal PWM a partir da comparao de uma onda dente-de-serra com
um sinal de referncia (geralmente, um sinal de tenso contnua).
O gerador de onda dente de serra tem sua frequncia determinada por um par RC
conectado externamente, atravs dos pinos 6 e 7. O limite usual de 500kHz. A rampa
gerada tem uma excurso de aproximadamente 2,5V. Conforme a figura abaixo, o
comparador PWM tem uma entrada (positiva) proveniente deste gerador de rampa e
a outra pode ser fornecida pelo amplificador de erro da tenso de sada ou pelo
limitador de corrente da sada (POMILIO, 2014).

IPUC

Pgina 67

EET - Laboratrio de Controle de Processos

Implemente no Simulink um modelo que gere um sinal PWM a partir da comparao


de uma sinal dente-de-serra com um valor de referncia constante. Alm disso,
projete um filtro passa-baixas de primeira ordem, que dever ser conectado na sada
deste sistema, para obter a componente CC do sinal PWM.

Soluo

IPUC

Pgina 68

EET - Laboratrio de Controle de Processos


13.

Filtro Digital FIR

Os filtros digitais so utilizados em diversas aplicaes da rea de processamento de


sinais, como a eliminao de rudos, reconhecimento de voz, compresso de sinais, tratamento
de imagens, etc.
Suas aplicaes mais comuns referem-se filtragem seletiva de frequncias, onde so
realizadas operaes para a eliminao/restaurao de parcelas do espectro de frequncia dos
sinais de interesse. Essas operaes podem tambm ser realizadas por filtros analgicos,
porm a flexibilidade e capacidade de parametrizao aliada ao aumento da disponibilidade e
reduo de custos tem fortalecido, cada vez mais, o desenvolvimento por meio dos recursos
digitais programveis.
O processo de filtragem digital de sinais pode ser resumido conforme o diagrama em
blocos da figura 16. O bloco A/D converte o sinal no domnio do tempo contnuo x(t) em uma
sequncia discreta x[n]. O filtro digital processa a sequncia x[n], resultando em uma
sequncia y[n], que representa o sinal filtrado na forma digital. Este sinal ento, novamente,
convertido em um sinal no domnio do tempo contnuo por um conversor D/A e reconstrudo
atravs de um filtro passabaixas, resultando no sinal y(t) (HAYKIN; VAN VEEN, 2001).

Figura 14 - Esquema do processo de filtragem de sinais

Fonte: Arquivo Pessoal

Os filtros digitais podem ser classificados como FIR (Resposta ao Impulso Finita) ou IIR
(Resposta ao Impulso Infinita), em ambos os casos, implementados por meio de equaes
lineares de diferenas com coeficientes constantes, conforme a expresso (33).
M

l 0

k 1

y n bl x n l ak y n k
Parcela no
recursiva

(33)

Parcela Recursiva

Estrutura FIR
Estrutura IIR

O projeto de um filtro digital, assim como na metodologia aplicvel aos filtros


analgicos, resume-se a aproximar a Resposta em Mdulo desejada. No caso dos filtros
digitais, por meio do clculo adequado dos coeficientes da equao de diferenas.

IPUC

Pgina 69

EET - Laboratrio de Controle de Processos


Os filtros FIR so de natureza no recursiva (dependem apenas do valor atual e/ou
passados da entrada) e intrinsecamente estvel (no contm polos). A funo de transferncia
de um filtro digital FIR um polinmio em z 1 , com a seguinte relao entrada/sada:

H ( z)

Y ( z) M
hl z 1
X ( z ) l 0

(34)

O filtro FIR apresenta as seguintes caractersticas (YNOGUTY, 2010):

Possuem desempenho dependente do comprimento do filtro;


Memria finita, portanto qualquer transitrio tem durao limitada;
So sempre BIBO estveis;
Possibilitam uma resposta em mdulo desejada com resposta em fase linear.

13.1 Projeto de Filtros


No projeto de um filtro, trs fases precisam ser cumpridas:
Especificao das propriedades desejadas para o sistema, determinada pela
aplicao;
A aproximao das especificaes usando um sistema causal discreto no tempo;
A implementao do sistema atravs da transcrio do projeto para hardware ou
software.
Um filtro passa-baixa ideal permite a passagem de todas as componentes de frequncia
que se situam dentro da faixa de passagem, sem nenhuma distoro, e rejeita todos os
componentes de frequncia que se situam dentro da faixa de rejeio, como pode ser visto na
figura 16. A transio da faixa de passagem para a faixa de rejeio abrupta (HAYKIN; VAN
VEEN, 2001).
Figura 15 - Resposta em frequncia de um filtro passa-baixas ideal

Fonte: Arquivo Pessoal.

IPUC

Pgina 70

EET - Laboratrio de Controle de Processos


Em termos prticos, no possvel implementar este tipo de filtro. Portanto, preciso
considerar um nvel de distoro, permitindo desvios destas condies ideais:
Dentro da faixa de passagem ( 0 p ), a resposta em mdulo do filtro deve
situar-se entre 1 e 1 :

1 H ( j ) 1

(29)

Em que p a frequncia de corte da faixa de passagem e o desvio na faixa de


passagem.
Dentro da faixa de rejeio ( s ), a resposta em mdulo do filtro no deve
ultrapassar o valor de :

H ( j )

(30)

Em que s a frequncia de corte da faixa de rejeio e o desvio na faixa de


rejeio.
A Largura de faixa de transio tem largura finita igual a s p .
A figura 17 apresenta o diagrama de tolerncia a partir das especificaes listadas
acima, includo a frequncia de corte na faixa de passagem p , a frequncia de corte na faixa
de rejeio s , o desvio na faixa de passagem e o desvio na faixa de rejeio .
Figura 16 - Diagrama de tolerncia de um filtro passa-baixas prtico

Fonte: Arquivo Pessoal

A etapa seguinte escolha de uma funo de transferncia para resolver o problema de


aproximao, a partir de um conjunto de especificaes do projeto. A escolha desta funo de
transferncia determinada o desempenho do filtro. Para este projeto, as funes consideradas

IPUC

Pgina 71

EET - Laboratrio de Controle de Processos


sero da forma polinomial (caso dos filtros no-recursivos). Estes filtros so caracterizados por
uma equao de diferenas na forma:
M

y[n] hl x(n l )

(31)

l 0

Onde os coeficientes hl se relacionam diretamente com a resposta ao impulso do


sistema e M denota a ordem do filtro, correspondente a um comprimento de filtro M+1
Aplicando a transformada Z equao 41, obtemos a seguinte relao entrada/sada:

H ( z)

Y ( z) M
hl Z 1
X ( z ) l 0

(32)

Vrias estruturas podem ser empregadas para realizar uma dada funo de
transferncia, associada a uma equao de diferenas especfica pela transformada Z. A
estrutura na forma direta, obtida a partir da equao 42 mostrada na figura 18. Os
coeficientes multiplicadores so obtidos diretamente da funo de transferncia do filtro
(DINIZ; DA SILVA; NETTO, 2004).

Figura 17 - Diagrama do filtro FIR na forma direta

Fonte: Arquivo Pessoal.

A sequncia y[n] representa o sinal filtrado na forma digital, podendo ser descrita pela
seguinte equao:

y[n] h(0) x[n] h(1) x[n 1]

h(M ) x[n M 1] h(M ) x[M ]

(33)

13.2 FDATool
A ferramenta FDATooL (Filter Design & Analysis Tool) parte integrante da toolbox de
processamento digital de sinais do MATLAB. Ela utilizada para a implementao e anlise de
filtros digitais. Os coeficientes gerados a partir das especificaes do projeto do filtro podem
ser utilizados na implementao do cdigo em sistemas embarcados (microcontroladores,

IPUC

Pgina 72

EET - Laboratrio de Controle de Processos


DSPs e FPGAs). Neste captulo, esta ferramenta ser utilizada para traar o grfico de resposta
do filtro FIR e a obteno dos coeficientes, para utilizao posterior em um projeto a ser
implementado no Simulink.
O processo de design do filtro auto-explicativo. Para comear, preciso iniciar o
MATLAB. Agora, digite fdatool <enter> na janela Command Window. Isto deve, quando
executado, abrir a janela de interface grfica do usurio do FDATool, como mostrado na figura
19. A partir deste ponto, basta o usurio definir todas as especificaes do filtro na parte
inferior da janela. Feito isto, clique no boto Design Filter. A resposta de magnitude do filtro ir
aparecer no painel Magnitude Response. Note que voc pode visualizar os coeficientes da
funo de transferncia do filtro clicando no boto de coeficientes do filtro, na parte superior
da GUI (que se parece com [b, a]).
Um recurso interessante do FDATool a possibilidade de exportar os filtros para um
modelo implementado em Simulink, atravs de um bloco formado por uma nica entrada e
sada. Para fazer isso, verifique se o filtro que deseja implementar est sendo mostrado na
GUI. Em seguida, clique em File Export to Simulink Model; um novo conjunto de opes
deve aparecer na metade inferior da GUI. Insira um nome em Block Name e certifique o
destino atual. Ento pressione o boto Realize Model (isso s funciona se voc tiver um
modelo Simulink aberto) (KUNDUR, 2014).
Figura 18 - Janela do FDATool

Fonte: Arquivo Pessoal.

IPUC

Pgina 73

EET - Laboratrio de Controle de Processos


13.3 Atividade Prtica
A. Considere o sinal x(t), onde f1=100Hz.

x(t ) 10sen(2 f1t )


Implemente no Simulink um modelo de simulao e faa o que se pede:
I.
II.
III.

Plote o sinal x(t) no domnio do tempo;


Plote o sinal x(t) com frequncia de amostragem Fs = 10000 Hz;
Implemente um filtro com a seguinte especificao:

Tipo FIR;
Passabaixas;
Ordem: 50;
Fs = 10000 Hz;
Fpass = 1000 Hz;
Fstop = 1500 Hz.

Soluo

IPUC

Pgina 74

EET - Laboratrio de Controle de Processos


Referncias

ALTER, D. M.. Using PWM Output as a Digital-to-Analog Converter on a TMS320F280x Digital Signal
Controller. Disponvel em: <http://www.ti.com/lit/an/spraa88a/spraa88a.pdf> Acesso em 14 / Julho /
2014.
ASPALLI, M.; WAMANRAO, A. Sinusoidal pulse width modulation (spwm) with variable carrier
synchronization for multilevel inverter controllers. In: CONTROL, AUTOMATION, COMMUNICATION
AND ENERGY CONSERVATION (INCACEC 2009), 2009, Tamilnadu-ndia. Anais... Tamilnadu: [s.n.], 2009.
p. 16.
CHAPMAN, S. J. Programao em MATLAB para Engenheiros. So Paulo: Thomson Learning, 2003.
DINIZ, P. S. R.; DA SILVA, E. A. B.; NETTO, S. L. Processamento Digital de Sinais: Projeto e Anlise de
Sistemas. Porto Alegre: Bookman, 2004.
GILAT, A. MATLAB com Aplicaes em Engenharia. Porto Alegre: Bookman, 2006.
HAYKIN, S.; VAN VEEN, B. Sinais e Sistemas. Porto Alegre: Bookman, 2001.
KUNDUR, D. Lab 2: Filter Designand Implementation. Disponnel em: <
http://www.comm.utoronto.ca/~dkundur/course_info/real-timeDSP/implementation/Kundur_Lab2_Filter_Implementation_6437.pdf > Acesso em: 9 / Julho / 2014.
NISARGA, B. PWM DAC Using MSP430 High-Resolution Timer. Disponvel em:
<http://www.ti.com/lit/an/slaa497/slaa497.pdf> Acesso em: 10 / Julho / 2014.
NISE, N. Engenharia de Controle de Sistemas. Rio de Janeiro: LTC, 2002.
OGATA, K. Engenharia de Controle Moderno. So Paulo: Prentice Hall, 2003.
POMILIO, A.J. Circuitos Integrados Dedicados ao Acionamento e Controle de Fontes Chaveadas com
Correo de Fator de Potncia. Disponvel em: <
http://www.dsce.fee.unicamp.br/~antenor/pdffiles/pfp/Cap10.pdf> Acesso em: 15 / Julho / 2014.
ROBERTS, M. J. Fundamentos em Sinais e Sistemas. So Paulo: McGraw-Hill, 2009.
YNOGUTY, C.A. Processamento Digital de Sinais: Introduo aos Filtros Digitais. Instituto Nacional de
Telecomunicaes . Disponvel em:
<http://ynoguti.inatel.br/docentes/ynoguti/docman/e724/introducao-aosfiltrosdigitais/download.html>. Acesso em: 1 / Julho / 2010.

IPUC

Pgina 75

EET - Laboratrio de Controle de Processos


Apncide A Biblioteca de Blocos do Simulink
A.1. Sinks

Display: exibe valores numricos.


Scope: osciloscpio (grfico).
To File: exporta sinal para um arquivo .mat.
To Workspace: exporta sinal para uma varivel do workspace.

A.2. Sources

From File: importa sinal de um arquivo .mat.


From Workspace: importa sinal de uma varivel do workspace.
Signal Generator: gerador de sinais de onda (senoidal, quadrada e dente de serra).
Sine Wave: gerador de onda senoidal.

IPUC

Pgina 76

EET - Laboratrio de Controle de Processos


A.3. Math Operations

Sum: operao de soma.


Abs: valor absolute.
Gain: ganho.
Math Function: funo matemtica.

A.4. Continuous

Integrator: gera a integral do sinal aplicado na entrada.


Derivative: gera a derivada do sinal aplicado na entrada.
Transfer Fcn: implementa uma funo de transferncia.
PID Controller: implementa um controlador PID.

IPUC

Pgina 77

EET - Laboratrio de Controle de Processos


A.5. Discrete

Discrete FIR Filter: implementa um filtro FIR.


Discrete Filter: implementa um filtro discreto.
Discrete Transfer Fcn: implementa funo de transferncia discreta.
Zero-Order Hold: implementa um sample-hold.

IPUC

Pgina 78

EET - Laboratrio de Controle de Processos


Apndice B Kit FRDM-KL25Z: Usando a Sada PWM como um
Conversor Digital-Analgico
B.1. Fundamentos Tericos
Muitos microcontroladores possuem um perifrico para gerao de sinais PWM (pulse
width modulation), geralmente utilizado em sistemas de controle (ex.: controle de velocidade
de um motor CC). A sada PWM uma forma de onda retangular de frequncia constante,
onde o ciclo de trabalho (tambm denominado de duty-cicle, e que a proporo do tempo de
nvel alto (TON) em relao ao perodo da forma de onda (TPWM)) pode variar continuamente,
conforme a figura 20.
Figura 19 - Sinal PWM com variao do duty-cicle.

Fonte: NISARGA (2014).

Um dado valor TON corresponde a uma tenso mdia CC, que linearmente
proporcional ao ciclo de trabalho, conforme a equao:

Vmed

1
TPWM

TON

Vindt

(34)

Para a implementao do PWM-DAC, ou o perodo de PWM fixo e o ciclo de trabalho


variado, ou vice-versa. Em alguns casos, ambos os parmetros devem variar para conseguir a
sada necessria DAC. Nesta aplicao, para a implementao do PWM-DAC, so considerados
o perodo PWM fixo e ciclos de trabalho variando continuamente.
Ao passar o sinal PWM atravs de um filtro passa-baixa (LPF), uma tenso CC com uma
ondulao razovel gerada. Esta ondulao causada pela carga (durante o tempo TON) e
descarga (durante o tempo TOFF) dos capacitores de filtro (Ver figura 21). Este ripple representa
a primeira harmnica do filtro e da mesma frequncia do sinal PWM. Mltiplos inteiros desta
frequncia PWM formam os harmnicos de ordem superior no sistema (NISARGA, 2014).
Figura 20 - Implementao PWM-DAC.

Fonte: NISARGA (2014).

IPUC

Pgina 79

EET - Laboratrio de Controle de Processos


A resoluo do DAC o menor incremento na tenso de sada analgica que
corresponde a um incremento na contagem digital do DAC. No caso do PWM-DAC, o menor
aumento no nvel de tenso de sada obtida aumentando-se o valor de ciclo de trabalho do
PWM. Portanto, no caso de PWM-DAC, a resoluo do ciclo de trabalho PWM representa
diretamente a resoluo DAC. Ento, a resoluo determinada por:

2N

fCLK
= #Passos do duty-cicle PWM = #Nveis de sada do DAC
f PWM

(35)

Onde,
fPWM: a frequncia do sinal PWM na entrada do filtro LPF;
fCLK: frequncia da fonte de clock do temporizador que usado como um timer tick
para incrementar o contador temporizador;
N: resoluo do duty-cicle do PWM-DAC em bits.
A figura 22 mostra a resoluo do duty-cicle PWM-DAC (em bits) versus fPWM para vrias
frequncias fCLOCK (16 MHz, 25 MHz, 128 MHz e 256 MHz).
Figura 21 - Resoluo do duty-cicle PWM-DAC versus frequncia fPWM.

Fonte: NISARGA (2014).

Para o caso de gerao de um sinal senoidal a partir da sada PWM, a estratgia de


modulao por largura de pulso selecionada baseada em portadoras triangulares (carrierbased PWM - CBPWM). O princpio de funcionamento consiste em comparar uma onda
triangular de alta frequncia (portadora) com a onda que se deseja na sada (moduladora), ou
seja, o sinal de referncia.
Como demonstrado pela figura 23, para uma fase, nos perodos em que o sinal
modulante maior que o sinal da portadora, a chave superior ligada e a inferior desligada,
conectando a carga linha positiva do barramento CC. Quando a referncia menor que a
portadora, a chave superior desligada e a inferior ligada, conectando a carga linha negativa
do barramento.

IPUC

Pgina 80

EET - Laboratrio de Controle de Processos


Figura 22 - Formas de onda geradas pela estratgia CBPWM.

Fonte: Arquivo Pessoal.

Diferentemente do mtodo de modulao por portadora natural, onde o sinal


modulante amostrado e comparado continuamente, no mtodo CBPWM digital a
amostragem da forma de onda senoidal de referncia realizada no pico positivo (ou
negativo) da forma de onda da portadora e este valor mantido constante durante o intervalo
correspondente ao perodo da portadora, como mostrado na figura 24. Isso introduz uma
distoro do sinal modulante e deslocamento de fase entre o sinal de modulao e a
componente fundamental da tenso de sada. A frequncia de amostragem igual
frequncia da portadora (ASPALLI; WAMANRAO, 2009).
Figura 23 - Modulao por portadora: natural e com amostragem simtrica.

Fonte: Arquivo Pessoal

B.2. Projeto do Filtro Passa-Baixas


O desempenho PWM DAC, onde a frequncia de portadora fPWM necessita ser filtrada
pelo filtro analgico passa-baixa para a sada de uma tenso analgica estvel, fortemente
dependente da concepo e seleo do filtro passa-baixa analgico. A figura 25 mostra o
circuito de um filtro passa-baixas de primeira ordem do tipo RC.

IPUC

Pgina 81

EET - Laboratrio de Controle de Processos


Figura 24 - Filtro passa-baixas de primeira ordem.
Vin

R1

Vout

C1

Fonte: Arquivo Pessoal.

A funo de transferncia, relacionando a sada entrada, definida por:

Vout
1

Vin s 1

(36)

Em que = RC, denominada de constante de tempo. Alm disso, a frequncia de corte


deste filtro determinada por:

fc

1
2 RC

(37)

Porm, a seleo dos valores do resistor e do capacitor deve ser analisada juntamente
com o desempenho do filtro com relao ao ripple da tenso de sada e o tempo de resposta.
Considerando as frequncias do sinal de sada PWM (fPWM = 1kHz) e sinal de referncia senoidal
(50Hz), ser feita a anlise para as seguintes frequncias de corte: fC1 = 100Hz e fC2 = 500Hz. A
figura 26 mostra a resposta em frequncia do filtro RC para as frequncias de corte fC1 e fC2. Na
frequncia fPWM, as atenuaes so de aproximadamente -20dB (fC1) e -7dB (fC2).
Figura 25 - Diagrama de Bode.

Fonte: Arquivo Pessoal

IPUC

Pgina 82

EET - Laboratrio de Controle de Processos


O grfico da figura 27 mostra a resposta do filtro para as duas frequncias de corte. Uma
mudana no duty-cicle corresponde a um degrau no nvel CC. Nota-se que a curva com maior
atenuao para a frequncia fPWM a que possui a resposta mais lenta.
Figura 26 - Resposta das funes de transferncia ao degrau unitrio.

Fonte: Arquivo Pessoal

Os grficos das figuras 28 e 289 mostram as respostas dos filtros RC (respectivamente,


para frequncias de corte fC1 e fC2) para um sinal de entrada de 1 kHz e duty-cicle de 50%
aplicado na entrada (Vin). No caso da figura 28, nota-se que, apesar do maior tempo
necessrio para o assentamento do sinal de sada (Vout), o mesmo apresenta menor ripple da
forma de onda de tenso. Quando se compara com os resultados obtidos na figura 29,
percebe-se que um menor tempo de acomodao implica numa maior oscilao do sinal de
sada.
Figura 27 - Resposta do filtro RC (fC1) ao sinal PWM com duty-cicle de 50%.

Fonte: Arquivo Pessoal.

IPUC

Pgina 83

EET - Laboratrio de Controle de Processos


Figura 28 - Resposta do filtro RC (fC2) ao sinal PWM com duty-cicle de 50%.

Fonte: Arquivo Pessoal.

B.3. Implementao do Projeto no CodeWarrior


Abaixo so apresentadas as etapas necessrias para a criao do projeto, configurao
dos componentes e implementao do firmware no CodeWarrior:
1)
2)
3)
4)
5)
6)

Novo Bareboard Project: Lab_PWM-DAC


Selecionar CPU MKL25Z128
Selecionar conexo Open Source SDA
Rapid Application Development: Processor Expert
Adicionar componentes: PWM
Configurando as propriedades do componente

IPUC

Pgina 84

EET - Laboratrio de Controle de Processos

1
2
3

Abaixo so listados os parmetros configurados no componente PWM:


6.1.
6.2.
6.3.
6.4.
6.5.

Seleo do Timer de contagem


Seleo do pino de sada PWM
Habilitao da interrupo de sinalizao ao final da contagem do perodo
PWM
Definio do perodo PWM
Definio da largura de pulso inicial

7) Gerar cdigo de configurao do MKL25Z128FRDM


8) Arquivo include contento 360 valores de senos para uma frequncia de 50Hz (Look-up
Table).
/*
* LUT_sin.h
*
* Created on: Jun 12, 2014
*
Author: Wesley
*/
#ifndef LUT_SIN_H_
#define LUT_SIN_H_
float tabela_senos[360] = {\
0, 0.0175, 0.0349, 0.0523, 0.0698, 0.0872, 0.1045, 0.1219, 0.1392, 0.1564,\
0.1736, 0.1908, 0.2079, 0.2250, 0.2419, 0.2588, 0.2756, 0.2924, 0.3090, 0.3256,\
0.3420, 0.3584, 0.3746, 0.3907, 0.4067, 0.4226, 0.4384, 0.4540, 0.4695, 0.4848,\
0.5000, 0.5150, 0.5299, 0.5446, 0.5592, 0.5736, 0.5878, 0.6018, 0.6157, 0.6293,\
0.6428, 0.6561, 0.6691, 0.6820, 0.6947, 0.7071, 0.7193, 0.7314, 0.7431, 0.7547,\
0.7660, 0.7771, 0.7880, 0.7986, 0.8090, 0.8192, 0.8290, 0.8387, 0.8480, 0.8572,\
0.8660, 0.8746, 0.8829, 0.8910, 0.8988, 0.9063, 0.9135, 0.9205, 0.9272, 0.9336,\
0.9397, 0.9455, 0.9511, 0.9563, 0.9613, 0.9659, 0.9703, 0.9744, 0.9781, 0.9816,\

IPUC

Pgina 85

EET - Laboratrio de Controle de Processos


0.9848, 0.9877, 0.9903, 0.9925, 0.9945, 0.9962, 0.9976, 0.9986,
1.0000, 0.9998, 0.9994, 0.9986, 0.9976, 0.9962, 0.9945, 0.9925,
0.9848, 0.9816, 0.9781, 0.9744, 0.9703, 0.9659, 0.9613, 0.9563,
0.9397, 0.9336, 0.9272, 0.9205, 0.9135, 0.9063, 0.8988, 0.8910,
0.8660, 0.8572, 0.8480, 0.8387, 0.8290, 0.8192, 0.8090, 0.7986,
0.7660, 0.7547, 0.7431, 0.7314, 0.7193, 0.7071, 0.6947, 0.6820,
0.6428, 0.6293, 0.6157, 0.6018, 0.5878, 0.5736, 0.5592, 0.5446,
0.5000, 0.4848, 0.4695, 0.4540, 0.4384, 0.4226, 0.4067, 0.3907,
0.3420, 0.3256, 0.3090, 0.2924, 0.2756, 0.2588, 0.2419, 0.2250,
0.1736, 0.1564, 0.1392, 0.1219, 0.1045, 0.0872, 0.0698, 0.0523,
0.0000, -0.0175, -0.0349, -0.0523, -0.0698, -0.0872, -0.1045, -0.1219,
-0.1736, -0.1908, -0.2079, -0.2250, -0.2419, -0.2588, -0.2756, -0.2924,
-0.3420, -0.3584, -0.3746, -0.3907, -0.4067, -0.4226, -0.4384, -0.4540,
-0.5000, -0.5150, -0.5299, -0.5446, -0.5592, -0.5736, -0.5878, -0.6018,
-0.6428, -0.6561, -0.6691, -0.6820, -0.6947, -0.7071, -0.7193, -0.7314,
-0.7660, -0.7771, -0.7880, -0.7986, -0.8090, -0.8192, -0.8290, -0.8387,
-0.8660, -0.8746, -0.8829, -0.8910, -0.8988, -0.9063, -0.9135, -0.9205,
-0.9397, -0.9455, -0.9511, -0.9563, -0.9613, -0.9659, -0.9703, -0.9744,
-0.9848, -0.9877, -0.9903, -0.9925, -0.9945, -0.9962, -0.9976, -0.9986,
-1.0000, -0.9998, -0.9994, -0.9986, -0.9976, -0.9962, -0.9945, -0.9925,
-0.9848, -0.9816, -0.9781, -0.9744, -0.9703, -0.9659, -0.9613, -0.9563,
-0.9397, -0.9336, -0.9272, -0.9205, -0.9135, -0.9063, -0.8988, -0.8910,
-0.8660, -0.8572, -0.8480, -0.8387, -0.8290, -0.8192, -0.8090, -0.7986,
-0.7660, -0.7547, -0.7431, -0.7314, -0.7193, -0.7071, -0.6947, -0.6820,
-0.6428, -0.6293, -0.6157, -0.6018, -0.5878, -0.5736, -0.5592, -0.5446,
-0.5000, -0.4848, -0.4695, -0.4540, -0.4384, -0.4226, -0.4067, -0.3907,
-0.3420, -0.3256, -0.3090, -0.2924, -0.2756, -0.2588, -0.2419, -0.2250,
-0.1736, -0.1564, -0.1392, -0.1219, -0.1045, -0.0872, -0.0698, -0.0523,
};

0.9994, 0.9998,\
0.9903, 0.9877,\
0.9511, 0.9455,\
0.8829, 0.8746,\
0.7880, 0.7771,\
0.6691, 0.6561,\
0.5299, 0.5150,\
0.3746, 0.3584,\
0.2079, 0.1908,\
0.0349, 0.0175,\
-0.1392, -0.1564,\
-0.3090, -0.3256,\
-0.4695, -0.4848,\
-0.6157, -0.6293,\
-0.7431, -0.7547,\
-0.8480, -0.8572,\
-0.9272, -0.9336,\
-0.9781, -0.9816,\
-0.9994, -0.9998,\
-0.9903, -0.9877,\
-0.9511, -0.9455,\
-0.8829, -0.8746,\
-0.7880, -0.7771,\
-0.6691, -0.6561,\
-0.5299, -0.5150,\
-0.3746, -0.3584,\
-0.2079, -0.1908,\
-0.0349, -0.0175\

#endif /* LUT_SIN_H_ */

9) Arquivo include com parmetros


/*
* parameter.h
*
* Created on: Jun 16, 2014
*
Author: Wesley
*/
#ifndef PARAMETER_H_
#define PARAMETER_H_
int
int
int
int

A = 65000;
inc1 = 0;
passo = 18;
ref_a = 0;

#endif /* PARAMETER_H_ */
10) Sub-rotina PWM1_OnEnd.
void PWM1_OnEnd(void)
{
/* Write your code here ... */
PWM1_SetRatio16(ref_a);
ref_a = A*((tabela_senos[inc1]+1)*0.5);
inc1 = inc1 + passo;
if(inc1==360)
{
inc1 = 0;
// Rewind the pointer to beginnin
}
}

11) Construir e depurar o projeto Lab_PWM-DAC.

IPUC

Pgina 86

EET - Laboratrio de Controle de Processos

B.4. Resultados Experimentais


O algoritmo CBPWM implementado na etapa anterior pode ser verificado atravs da
utilizao de um filtro passa-baixas conectado na sada PWM (pino PTA12) do kit FRDM-KL25Z,
conforme a figura 30.
Figura 29 - Kit FRDM-KL25Z com filtro passa-baixas na sada PWM.

Fonte: Arquivo Pessoal.

Para anlise dos resultados, com o auxlio de um osciloscpio, os sinais devem ser
capturados nos pontos P1 e P2. A figura 31 mostra os resultados obtidos para uma frequncia
de portadora FPWM = 1 kHz e um filtro passa-baixas com frequncia de corte fC = 100 Hz. O canal
CH1 do osciloscpio foi conectado ao ponto P1 do circuito da figura28, mostrando o sinal
PWM gerado pelo microcontrolador. J o canal CH2 foi conectado ao ponto P2, mostrando a
forma de onda filtrada.
Figura 30 - Formas de onda nos pontos P1 e P2.

Fonte: Arquivo Pessoal

IPUC

Pgina 87