Você está na página 1de 8

Experimento de Modelagem Ball and Beam no Simulink

Problema de configurao
A bola colocada em uma viga, veja figura abaixo, onde permitido a rolar com um grau de liberdade ao longo do comprimento da viga. Um brao de alavanca preso viga em uma extremidade e uma engrenagem servo do outro. Como a engrenagem servo gira por um ngulo , a alavanca muda o ngulo do feixe de . Quando o ngulo mudado da posio horizontal, a gravidade faz a bola rolar ao longo da viga. Um controlador ser projetado para este sistema de forma que a posio da bola pode ser manipulada.

Para este problema, vamos supor que a bola rola sem deslizar e o atrito entre o feixe e a bola desprezvel. As constantes e variveis para este exemplo so definidos abaixo, como: massa da bola 0,11 kg raio da bola 0,015 m brao de alavanca deslocada 0,03 m acelerao gravitacional 9,8 m / s ^ 2 comprimento da viga 1,0 m momento de inrcia da bola 9.99e-6 2 ^ kgm coordenar a posio da bola ngulo do feixe de coordenadas ngulo da engrenagem do servo Os critrios de projeto para este problema so: Transando tempo inferior a 3 segundos m R d g L J r

Overshoot menos de 5% A segunda derivada de na verdade afeta a segunda derivada da r. No entanto, vamos ignorar essa contribuio a seguir. Lagrangiana A equao do movimento da bola dada pela:

O ngulo do feixe () pode ser expresso em termos do ngulo das artes ().

Construindo o Modelo em Simulink


Neste exemplo, ao invs de expressar todas as foras e restries geomtricas (que difcil de modelo em Simulink para sistemas dinmicos com restries) que servir de modelo a lagrangiana equao no linear de movimento diretamente. Esta equao d d/dt(r) em funo da entrada e varivel estado, r, d/dt(r), e d/dt (). Faremos uso da funo no-linear Bloco de expressar essa funo. Primeiro, temos de expressar os derivados da produo, r. Abra uma janela do novo modelo em Simulink. Inserir um bloco integrador da biblioteca de blocos lineares. Inserir um segundo integrador direita do primeiro, e ligar os dois com uma linha. Label linha conectando os dois "d/dt(r)". Para identificar uma linha, clique duas vezes perto da linha onde deseja que o rtulo (neste caso, logo abaixo da linha) Desenhe uma linha a partir do segundo Integrador e rotul-la "r". Inserir um bloco para fora da biblioteca de blocos de conexes e conect-lo ao "sinal de linha r". Isto ir formar a sada do sistema. Alterar o rtulo do produto para fora do bloco de "r" por um nico clique sobre o "existente" fora da etiqueta.

Agora, vamos inserir a funo que leva o vetor [/dt (r)alfa d /dt (alfa)] e retorna d/dt (r). Inserir um bloco FCN da biblioteca no-linear e ligar a sada para a entrada do integrador de primeira.

Edite o bloco FCN clicando duas vezes nele e alterar a sua funo com o seguinte:

(-1/(J/(R^2)+m))*(m*g*sin(u[3])-m*u[1]*(u[4])^2)
Este bloco funcional tem um vetor de entrada, u, onde cada componente conhecido como u [1], u [2], etc No nosso caso, u [1] = r, u [2] = d / dt (r ), u [3] = alfa, e u [4] = d / dt (alfa).

Feche a caixa de dilogo e alterar a etiqueta do bloco FCN a "ball-Beam Lagrangiana Modelo" (voc pode adicionar novas linhas no rtulo batendo retorno).

Agora, vamos comear a construir a funo u vetor de entrada atravs da alimentao de volta os sinais de estado dos integradores e formando um vetor com eles com um bloco Mux.

Inserir um bloco Mux da biblioteca bloquear ligaes e ligar a sada para a entrada do bloco-Beam Ball. Edite o bloco Mux (clicando duas vezes sobre ele) e alterar o seu nmero de entradas a 4. O bloco Mux agora deve ter quatro entradas. Toque em uma linha fora da d / dt (R) sinal (pressione Ctrl enquanto desenho) e conect-lo segunda entrada do bloco Mux. Toque em uma linha do sinal de r econect-lo primeira entrada do bloco Mux.

Agora vamos construir o alfa sinais e d/dt (alfa) da teta de entrada.


Inserir um bloco A do lado esquerdo da janela do seu modelo. Alterar o rtulo de "teta". Inserir um bloco de ganho e conect-lo ao bloco de teta. Mude o seu valor ganho (clique duas vezes sobre ele) para "d / L". Ligue a sada do bloco de ganho para a terceira entrada do bloco Mux. Label esta linha "alpha". Insira derivativos de um quarteiro da biblioteca de blocos lineares e coloc-lo debaixo da linha de sinal alfa. Toque em uma linha fora da sada do bloco de ganho e conect-lo entrada do bloco de derivativos. Ligue a sada do bloco de derivativos para a entrada de quarto fora do bloco Mux.

Salve o seu modelo como "ball.mdl". Voc pode baixar o nosso aqui. Open Loop Resposta Para gerar a resposta de ciclo aberto, primeiro necessrio para conter esse modelo em um bloco de subsistema.

Crie uma janela de novo modelo (selecione Novo no menu Arquivo no Simulink ou pressione Ctrl-N). Inserir um bloco Subsistema da biblioteca bloquear conexes. Abra o bloco de Subsystem clicando duas vezes nele. Voc ver uma janela do novo modelo chamado "subsistema". Abra a janela do modelo anterior chamado ball.mdl. Selecione todos os componentes do modelo, selecionando Selecionar Tudo no menu Editar (ou pressione Ctrl-A). Copiar o modelo no buffer da memria, selecionando Copiar no menu Editar (ou pressione Ctrl-C). Cole o modelo para a janela do Subsistema selecionando Colar no menu Editar (ou pressione Ctrl-V) na janela do Subsistema

Feche a janela do Subsistema. Voc vai ver o bloco de Subsystem na janela sem ttulo, com um terminal de entrada teta rotulados e um terminal de sada marcado r. Redimensionar o Subsistema de bloco para fazer as etiquetas visveis, selecionando-o e arrastando um dos cantos. Rtulo o bloco Subsistema "Ball and Beam Model".

Inserir um bloco Etapa (a partir da biblioteca de blocos Fontes) e conect-lo entrada da bola e do modelo de feixe. Edite o bloco Step (clicando duas vezes sobre ele para abrir a caixa de dilogo) e altere o valor de tempo Passo a 0. Feche a caixa de dilogo Etapa bloco. Inserir um bloco Scope (a partir da biblioteca de blocos Pias) e conect-lo sada da bola e do modelo de feixe.

Antes de obter uma resposta passo, temos de definir os parmetros fsicos Digite os seguintes comandos no MATLAB alerta.
6;

m = 0,111, R = 0,015; g = -9,8; L = 1,0, d = 0,03; J = 9.99e-

Agora estamos prontos para executar a simulao. Se voc gosta, voc pode baixar a nossa verso do sistema em malha aberta aqui. Inicie a simulao escolhendo iniciar no menu Simulation (ou pressione Ctrl-t). Quando a simulao terminar, abra o escopo de um duplo clique sobre ele e pressione a tecla autoscale escopo. Voc ver a seguinte resposta.

A partir deste enredo, evidente que o sistema instvel em malha aberta fazendo a bola rolar para a direita fora da extremidade da viga. Portanto, um mtodo de controlar a posio da bola neste sistema necessrio. Mais tarde neste tutorial, vamos implementar um compensador de chumbo.

Extraindo o modelo em MATLAB


O modelo Simulink pode ser extrado em um estado equivalente de espao ou o modelo de funo de transferncia em MATLAB. Isto feito atravs do uso de Entrada e Sada de blocos de conexo e os MATLAB funo linmod. Para extrair um modelo, necessrio comear com um arquivo de modelo com entradas e sadas definidas como Dentro e fora de blocos. Anteriormente neste tutorial isso foi feito, e que o arquivo foi salvo como ball.mdl. Neste modelo, uma entrada, teta (ngulo da entrada da manivela) e uma sada, r (posio da bola), foram definidos. No MATLAB prompt, digite os seguintes comandos
[A, B, C, D] =linmod('bola') [num, den] =ss2tf(A, B, C, D)

Voc ver a seguinte sada fornecendo o modelo de malha aberta do sistema.


A = 0 1 0 0 B = 0 C = 0,2100 1 0 D = 0 num = 0 0 = 0,2100 den 1 0 0

Podemos verificar esse modelo, obtendo uma resposta ao degrau em malha aberta M. Digite o comando a seguir no MATLAB prompt:
etapa(, den num);

Voc vai ver a resposta em malha aberta a seguir:

Construindo um controlador compensador Lead

No CTMS Exemplo: Soluo para o problema da bola e Beam Usando Root Locus Mtodo um compensador de chumbo foi projetado com um zero em -0,01 e um plo em -5, com um ganho de 37,1. Agora vamos construir esse controlador em Simulink.

Traga o seu ciclo aberto Ball e janela modelo Beam (ou baixar o nosso aqui) Exclua a linha que liga o bloco Passo para o modelo de Ball e bloquear Beam. Inserir uma transferncia de blocos de funo a partir da biblioteca de blocos lineares esquerda da bola e do bloco Boca, e ligar a sada para a entrada da bola e do bloco Boca. Edite a funo de transferncia em bloco e mudar seu numerador para "[1 0,01]", e seu denominador a "[1 5]". Alterar o rtulo do bloco de funo de transferncia para "compensador Lead". Inserir um bloco de ganho para a esquerda do compensador Lead e ligar a sada para ligao de entrada do compensador. Altere o valor ganho com "37,1". Inserir um bloco de Soma para a esquerda do bloco de ganho e mudar seu valor para "+-". Ligue a sada do Sum para a entrada do bloco de Ganho. Toque em uma linha fora da sada do Boca e modelo da bola e conect-lo entrada negativa do Soma. Conecte o bloco Passo para o contributo positivo do bloco Sum

Voc pode baixar a nossa verso do modelo de ciclo fechado aqui.

Closed Loop-Resposta
Inicie a simulao em Simulink. Abra a janela do escopo e aperte o boto Autoscale. Voc dever ver a seguinte resposta.