Anda di halaman 1dari 17

Bloco From Workspace

- Configurar a matriz de entrada


Forma:

Observao: a parte do tempo tem que obrigatoriamente estar na forma crescente, seno dar erro. O vetor tempo
e coluna devem ser verticais na matriz A.



Entender que o diagrama de blocos do simulink uma constante resoluo de equaes diferenciais








Exemplo Seno passando no Integrador




Que plota:



OBSERVAO MUITO IMPORTANTE

Colocar um diagrama de blocos tal como o da figura abaixo induz ao erro:

Observe que a funo de transferncia a funo de transferncia do seno. Logo, esperamos ver no nosso scope um
sinal seno, ou seja, iniciado em zero com pi/2 no valor da amplitude (igual a 1), em pi voltando a ser zero, etc. Mas o
que temos este sinal:


Que o mesmo sinal do problema anterior, ou seja, ele usou um integrador imediatamente antes do scope de
forma escondida. Isso vai acontecer sempre que eu quiser plotar um sinal de uma funo de transferncia. Isso
acontece SEMPRE que eu for plotar uma funo de transferncia excitada a um sinal contnuo, seja ele o degrau,
seja ele o valor constante igual ao do bloco.

Se eu por exemplo usasse o bloquinho do seno e mandasse direto pro scope, no aconteceria esse problema!!!!

Como soluo, imediatamente antes do scope eu posso colocar um derivador para compensar esse 1/s criado de
forma parasita:


Cujo plot me daria:


Salvar Variveis do Scope pro workspace

Para esta situao eu tenho duas opes:

1) Salvar na forma de structure with time:


Boto meu nome da varivel (no caso escolhi varia). E, para acessar o vetor tempo no Workspace eu fao: varia.time
e para acessar os valores do eixo y eu fao: varia.signals.values

2) Salvar na forma de array


Neste caso, eu terei no workspace uma matriz de duas colunas e n linhas, daquela forma tradicional, onde o vetor
coluna 1 (varia(:,1)) equivale ao tempo e o vetor coluna 2 (varia(:,2)) equivale aos valores de y.





Exemplo 2 Seno passando no Integrador e saindo como cosseno

Voltando ao exemplo 1, como seria se eu quisesse mesmo integrar o sinal seno de entrada como um cosseno puro na
sada (e no 1 cos(t))?

Observe que para ficar somente como o termo cos(t) eu devo eliminar o 1 e inverter o sinal de cos(t).
1) Inverso de sinal de cos(t) -> bloquinho de ganho -1
2) Eliminar o valor 1 -> aps passar pelo inversor do sinal teremos cos(t) -1, ou seja, boto um somador com
entrada constante de valor 1
Desta forma teremos:

Que me d:



Ou seja, um sinal de cosseno perfeito.




OBSERVAO

A opo de saturao do integrador causa um delay no sinal, perdendo muito de sua funcionalidade. Nunca usar o
limitador do integrador. Em substituio a este utilizar o saturation do matlab:


Que me d:


Em que o saturation foi limitado para 5 e -5 V e o sinal senoidal foi projetado para 7V de pico.

Alterar o ganho individual aps a passagem em um MUX





DIAGRAMA DE ESPAO DE ESTADOS

Onde as matrizes A, B,C e D foram indexadas no bloco state-space. Eu modelei um impulso unitrio com dois
degraus que se subtraem num intervalo de 0.1s e amplitude de 100. Assim, observei a resposta ao impulso unitrio
do sistema de espaos de estados no meu scope.




BLOCO RELATIONAL OPERATOR E DATA TYPE CONVERSION

O bloco relational operator tem dentro dele as opes igual, maior, menor, etc. Mas seu grande porm que sua
sada do tipo boolean e os demais sinais so do tipo double. Dessa forma, faz-se necessrio o bloco DATA TYPE
CONVERSION para converter boolean em double para que possamos daqui pra frente tratar o sinal de forma igual
pra igual.



SCOPE 3:



Observe que a curva roxa representa o seno superior e a azul representa o seno inferior. Sempre que o seno superior
menor do que o inferior, conforme foi configurado no bloco, me d um sinal igual a 1 representado em amarelo. E
quando desfaz a condio de ser menor o sinal zero.





BLOCO SIGN

A sada de um bloco sign sempre 1 se a entrada for positiva ou sempre -1 se a entrada for negativa.





BLOCO FCN
O bloco FCN demanda obrigatoriamente um MUX imediatamente antes:
Entrada 1 do MUX = u(1)
Entrada 2 do MUX = u(2)

Assim, dentro do bloco eu posso manipular as entradas 1 e 2 da forma que eu quiser dentro do fcn. EX:

Onde a entrada 1 do FCN a entrada 1 do mux, ou seja, u(1) = SIGN (-1 ou 1)
E a entrada 2 do FCN a entrada 2 do MUX, ou seja u(2) = seno

Mandei plotar seno/sign/FCN no scope 4:



CRIAO DE UM SUBSISTEMA
Basta selecionar a parte que eu quero transformar num bloco com o mouse e logo em seguida apertar crtl + G.



CRIAO DE UM SUBSISTEMA MASK - IMPORTANTE




Aperto CTRL G:



SELECIONO O BLOCO SUBSYSTEM E APERTO CTRL + M








NO BLOCO ABAIXO EU ARRANJO UMA SERIE DE PLOTS DE MODO A FORMAR UM ICONE PARA MEU BLOCO


ASSIM MEU BLOCO FICA:








AGORA CONFIGURAR O DIAGRAMA DE BLOCOS DO MASK. SELECIONO O BLOCO E DEPOIS DOU CTRL + U

IREI CONFIGURAR OS GANHOS COM O MESMO NOME DAS VARIAVEIS CRIADAS const1 E const2:



E FAO A MESMA COISA PARA GAIN2 ONDE O GAIN SER CHAMADO DE const2


AGORA, BASTA CLICAR DUAS VEZES NO NOSSO BLOQUINHO QUE ELE ABRIR A JANELA DE CONFIGURAES:





QUE ME DAR O SEGUINTE PLOT:

0




INSERO DO BLOCO ENABLE - IMPORTANTE

Basta Simplesmente procurar pelo bloco ENABLE e posicionar dentro do diagrama de blocos com o ctrl U caso vc
tenha feito uma MASK ou clicando duas vezes no bloco caso seja sem o MASK. Fica assim:






Em ENABLE eu deixo da seguinte forma:



Assim, no meu MASK, magicamente aparecer uma porta do ENABLE que somente funcionar quando essa entrada
for POSITIVA

Anda mungkin juga menyukai