






































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Arquivo que explica o funcionamento so simulink
Tipologia: Notas de estudo
1 / 46
Esta página não é visível na pré-visualização
Não perca as partes importantes!







































Controle Automático I
Agosto de 2009
PET Engenharia de Computação www.inf.ufes.br/~pet
1 Introdução
O SIMULINK é uma ferramenta utilizada para Modelagem, Simulação e Análise de Sistemas Dinâmicos. O programa se aplica a sistemas lineares e não lineares, discretos e contínuos no tempo. Ao contrário do MATLAB, que utiliza linha de comando, o Simulink utiliza uma interface gráfica amigável, representando o sistema por diagramas de blocos, no qual cada bloco re- presenta uma operação matemática de entrada e saída que chama-se função de transferência do bloco. Nos sistemas contínuos, estas relações são obtidas utilizando-se a transformada de La- place nas equações. Não podemos deixar de enfatizar que apesar do simulink ser uma aplicação específica, este não trabalha independentemente do MATLAB.
Curiosidade O Simulink é um programa para resolver sistemas dinâmicos, ele faz uso de algoritmos de integração para resolver as equações numericamente. Dos diversos algoritmos de integração, você provavelmente fará uso do Runge-Kutta de 4a^ e 5a^ ordens ou do algoritmo de Euller. Mais detalhes sobre algoritmos de integração podem ser obtidos no "Simulink User’s Guide".
2 Acessando o Simulink
Na linha de comando do MATLAB deve-se digitar:
Exemplo 1: Acessando o Simulink
1 >> s i m u l i n k
Ou pode-se clicar no seguinte ícone da barra de ferramentas toolbar:
Figura 1: Ícone do Simulink
A janela da biblioteca de blocos se abrirá como na Figura 2.
Figura 2: Biblioteca de Blocos
Para realizar uma construção da modelagem do sistema selecione FileNewModel, ou se preferir, utilize a tecla de atalho CTRL + N. Uma janela nomeada untitled como na Figura 3 se abrirá.
From Workspace Block Deve-se definir os pares coordenados em uma matriz no MATLAB, e importá-lo a partir do workspace através do bloco From Workspace Block. Este é o bloco que permite ao usuário criar seus próprios sinais de entrada. Nas propriedades deste bloco, devem-se definir quais serão as matrizes utilizadas como fonte de sinal. Estas matrizes devem ser previamente definidas no MATLAB antes da execu- ção da simulação, a primeira coluna da matriz deve ser preenchida com os valores da variável independente, que corresponde ao tempo da simulação. As colunas seguintes são variáveis re- ferentes à variável independente.
Exemplo Considere o sinal definido por:
u(t) = 2 × t;
Para gerar a matriz de pares coordenados, devemos digitar os seguintes comandos na área de trabalho do MATLAB: Exemplo 2: Matriz de pares coordenados
1 >> t = 0 : 0. 1 : 1 0 0 ; 2 >> u = 2 ∗ t ; 3 >> A = [ t ’ , u ’ ] ;
Definida a matriz a ser usada, deve-se adicionar o bloco From Workspace Block da biblio- teca Sources ao modelo. Com um duplo clique sobre o bloco deve-se digitar o nome da matriz definida no MATLAB no campo Data, neste caso “A”. Pronto, o bloco já está configurado e pode ser usado.
Caso o sinal de entrada tenha mais que uma dimensão, deve-se definir os valores de entrada usando-se uma struct. O tempo deve ser definido como um vetor no campo time, enquanto que os valores referentes à variável independente devem ser definidos como colunas no campo signals.values. Ainda deve ser informado o número de dimensões no campo signals.dimensions. Usando-se os mesmos valores do exemplo 2, pode-se definir uma struct “a” com os comandos apresentados no exemplo 3.
Exemplo 3: Matriz de pares coordenados
1 >> a. t i m e = t ; 2 >> a. s i g n a l s. v a l u e s = u ’ ; 3 >> a. s i g n a l s. d i m e n s i o n s = 1 ;
From File Input Block A matriz é agora carregada a partir de um arquivo gerado pelo MATLAB, assim o sinal de entrada pode ser salvo. Uma diferença importante é que é que os sinais devem agora ser carre- gados em linhas.
Exemplo A partir do mesmo exemplo, deve-se salvar a matriz gerada em um arquivo com extensão .mat (arquivo usado pelo MAtlab).
Exemplo 4: Salvando em um arquivo
1 >> B = A ’ ; 2 >> s a v e exemplo. mat B ;
No simulink, deve-se adicionar o bloco From File Input Block da biblioteca Sources. Com um duplo clique sobre o bloco deve-se digitar no campo File Name o nome do arquivo, neste caso “exemplo.mat”.
3.1.2 Combinando Entradas
Através de combinações de blocos da biblioteca pode-se obter sinais personalizados.
Exemplo Para criar uma simulação de um impulso unitário, podemos gerar um degrau crescente em um instante de tempo to tO seguido de um sinal degrau decrescente e com mesma magnitude em um instante posterior tf. Logo, devemos utilizar duas fontes de função degrau.
É a modelagem por meio de blocos utilizando-se a transformada de Laplace nas equações do sistema.
Os dispositivos de saída são os blocos que permitem verificar o comportamento do sistema, estes blocos são encontrados na biblioteca de dispositivos de saída (Sinks).
Scope O osciloscópio produz gráficos a partir de dados do modelo. Não existem parâmetros a se- rem configurados.
XY Graph O bloco de XY Graph produz um gráfico idêntico ao gráfico produzido pelo comando plot do MATLAB. Para isso, devem-se configurar os valores de mínimos e máximos, da horizontal e vertical.
Display O bloco Display produz uma amostragem digital do valor de sua entrada.
To File Pode-se ainda armazenar os dados em arquivos do MATLAB para usos posteriores. Deve-se definir o nome do arquivo a ser criado.
To Workspace Pode-se ainda enviar os dados para a área de trabalho do MATLAB utilizando o bloco To Workspace Block. Deve-se definir o nome da matriz.
Stop Simulation O bloco de parada (Stop Simulation) causa a parada da simulação quando a sua entrada for diferente de zero.
Ao final dos passos citados acima, o diagrama deverá estar descrito como na Figura 4. E a forma de onda observada em nosso exemplo deverá ser como na Figura 5.
Figura 4: Gerador de Sinais
Figura 5: Forma de Onda do Gerador de Sinais
Vamos modelar a seguinte equação diferencial:
dx dt
= sen(t)
Com a seguinte condição inicial: x(0) = 0. Logo, teremos:
x(t) =
0
sen(t)dt
O figura 6 mostra o diagrama de blocos criados no simulink.
Figura 7: Forma de Onda da Integral do Seno
Abaixo outro exemplo para que o leitor se familiarize mais com o simulink.
Scheinerman descreveu um modelo simples do crescimento de bactérias isoladas do ambiente externo num pote. Admite-se que as bactérias nascem numa taxa proporcional ao número de bactérias presentes e que elas morrem a uma taxa proporcional ao quadrado do número de bactérias presentes. Sendo x o número de bactérias presentes no pote, a taxa em que as bactérias nascem é definida por:
T axa de Natalidade = n × x
E a taxa em que elas morrem:
T axa de Mortalidade = m × x^2
A taxa total de mudança na população de bactérias é a diferença entre a natalidade e a mortalidade de bactérias. O sistema pode ser então descrito pela equação diferencial a seguir:
dx dt
= n × x − m × x^2
Partindo disto será então construído o modelo do sistema dinâmico supondo que n = 1 bacteria/hora e m = 0 , 5 bacteria/hora. Será determinado o números de bactérias contidas no pote após 1 hora, admitindo que inicialmente existiam 100 bactérias presentes. O diagrama de blocos que representa essa modelo é mostrado na figura 8.
Figura 8: Diagrama de Blocos
Assim, siga os seguintes passos para montar o modelo da Figura 8.
Figura 10: Modelo do Ganho Proporcional
Exemplo 5: Atribuição de Kp 1 >> kp = 3 ;
Exemplo 6: Plotando variáveis 1 >> p l o t ( u ) 2 >> hold on 3 >> p l o t ( y ) 4 >> g r i d 5 >> a x i s ( [ 0 50 −0.5 4 ] )
Figura 11: Gráfico das variáveis u e y
A forma de onda observada no osciloscópio é verificada na Figura 12. Percebe-se que é a mesma forma de onda da Figura 11.
Figura 13: Resposta verificada no osciloscópio
6 Sistemas Contínuos no Tempo
Sistemas contínuos são aqueles que são modelados por equações diferenciais. Os sistemas mais simples são escalares e pode-se dizer que são lineares e invariantes no tempo.
São modelados através de blocos da biblioteca linear.
6.1.1 Bloco Integrador
Os parametros do bloco integrador podem ser observados na Figura 14.
Figura 14: Parametros do Bloco Integrador
O bloco integrador pode ser utilizado com um sinal de reset, a saída sempre retorna à con- dição inicial toda vez que o sinal de reset dispara. As opções de reset externo (External reset) são:
Quando o reset externo é ativado, aparece uma segunda entrada no bloco integrador (entrada de baixo). Conecte a essa entrada o sinal que irá controlar o reset. A saída do integrador pode ser limitada. Para tanto, deve-se habilitar o Limit output (limite de saída) e escolher o limite de saturação superior e inferior. Pode-se também configurar a saída inicial. Para isso deve-se escolher como fonte da condição inicial o parâmetro Internal (interno) e definir a condição inicial. A opção Show saturation port (mostrar porta de saturação) habilita uma saída adicional no bloco (saída de baixo) que indica o estado de saturação. A opção Show state port (mostrar porta de estado) cria uma saída adicional no bloco. Esta saída contém o mesmo sinal de saída do integrador. Deve-se então usar a saída de estado para este acionamento em duas ocasiões: se a saída do bloco integrador realimenta (feedback) o mesmo bloco como reset ou como condição inicial, e se deseja utilizar a saída do integrador como acionador de um subsistema com execução condicionada a este bloco. A Figura 15 ilustra um modelo de um bloco integrador com sinal de reset configurado para falling e limite de saturação superior igual a 5.