Modelo em espaço de estados usando o Simulink #01

Olá a todos,

Neste post irei apresentar uma ferramenta matemática comum em sistemas dinâmicos: o modelo em espaços de estados.  De brinde vamos utilizar o ambiente de simulação do MATLAB, o Simulink, para solucionar esses modelos dinâmicos.

Vamos lá!!

Em sistemas dinâmicos é usual representar modelos lineares em modelos espaço de estados. Este tipo de modelo é representado da seguinte maneira:

\(
\left\lbrace \begin{matrix}
x’= A \cdot x+B \cdot u \
y = C \cdot x+D \cdot u.
\end{matrix} \right.
\) (2)

Onde: x’ representa o vetor das derivadas dos estados do sistema dinâmico; x representa o vetor dos estados do sistema dinâmico; u representa o vetor das variáveis de entrada do sistemas dinâmico; y representa o vetor das variáveis de saída do sistemas dinâmico;  A, B, C e D são matrizes que relaciona as entradas e os estados com as derivadas e as saídas do sistema dinâmico.

\(
\begin{matrix}
A_{1\times 1}=[0]_{1\times 1}; \quad B_{1\times 2}=\Big[\frac{1}{A_T} -\frac{1}{A_T}\Big]_{1\times 2}\\
C_{3\times 1}=\begin{bmatrix}
1 \\ A_T \\ \rho\cdot A
\end{bmatrix}_{3\times 1}; \quad B_{3\times 2}=\begin{bmatrix}
0 & 0 \\ 0 & 0 \\ 0 & 0
\end{bmatrix}_{3\times 2}
\end{matrix}
\)

No simulink uma maneira de simular este tipo de modelo é utilizando o bloco state space que é obtido da biblioteca Continuos do Simulink. Quando o usuário abrir a caixa de diálogo deste bloco deve inserir as matrizes A, B, C e D e  as condições iniciais das respectivas equações diferenciais (x’) conforme Figura 1.

Figura 1: Caixa de diálogo do bloco state space.
Figura 1: Caixa de diálogo do bloco state space.

Um exemplo simples que podemos simular com o bloco state space é o sistema da Figura 2.

Figura 2: Tanque industrial com descarga succionada por uma bomba centrífuga
Figura 2: Tanque industrial com descarga succionada por uma bomba centrífuga

A modelagem fenomenológica para este sistema fornece a seguinte equação diferencial ordinária:

\(
\frac{dh(t)}{dt} = \frac{q_1(t)-q_2}{A_T}
\)

Onde AT representa a área transversal do tanque. Além do conhecimento do comportamento dinâmico do nível do tanque, pode-se também conhecer a massa (m) e o volume (V) que acumulam no tanque por meio das seguintes equações:

\(
\left\lbrace\begin{matrix}
V = A_T\cdot h \\
m = \rho\cdot V
\end{matrix}\right.
\)

9 Comments

  • André

    Olá,

    Estou com algumas dúvidas quanto a esse exemplo, vc pode me ajudar?

    Navegador: Unknown em Unknown O.S.
    • Márcio Martins

      Prezado André:

      Quais são suas dúvidas?

      Cordialmente,

      Márcio Martins

      Navegador: Unknown em Unknown O.S.
      • André

        Bom dia Márcio,

        AS dúvidas são:

        – como entrada vc colocou dois step ou um step e uma constante?
        – na montagem das equações espaço estado tem que inserir nas matrizes os sinais de – e *?
        – para visualisar o grafico tem que ter o display ou pode colocar direto o scope?
        -é necessário inserir as barras de mux?

        Navegador: Unknown em Unknown O.S.
        • Márcio Martins

          Ricardo,

          Segue abaixo as respostas de suas dúvidas:

          1) Como pode ser visualizado na Fig. 3, um bloco step (vazão de alimentação) e um bloco constante (vazão de descarga) foram utilizados;
          2) Os sinais das operações devem ser inseridos nas matrizes do modelo em espaço de estado;
          3) Para visualização do gráfico o scope é necessário, o display tem a função de apresentar continuamente o valor em cada instante de tempo;
          4) O bloco mux tem a função de apenas juntar sinais (formando um vetor), enquanto que o bloco demux tem a função contrária. No caso do uso do bloco state-space é necessário ambos os blocos, pois esse bloco trabalha com vetores, conforme explicação no post.

          Bem acho que é isso. Caso tenha mais dúvidas estou à disposição.

          Cordialmente,

          Navegador: Unknown em Unknown O.S.
          • André

            Márcio,

            Vc conhece algum curso bom relacionado com o simulink?

            Navegador: Unknown em Unknown O.S.
          • Márcio Martins

            Ricardo:

            Primeiro lugar aonde vc morar? Se for em Salvador, eu ministro continuamente a 3 três anos o curso de Simulink na Escola Politécnica da UFBa.
            Caso contrário não sei onde se ministra esse curso.

            Qualquer coisa vc pode entrar em contato com o pessoal da Empresa Junior de Eng. Química da UFBa para maiores informações de outros estados
            (71) 3283.9889.

            Cordialmente,

            Navegador: Unknown em Unknown O.S.
  • André

    Eu sou de SP capital, no momento desconheço algum curso por aqui.

    Navegador: Unknown em Unknown O.S.
    • Márcio Martins

      Ricardo,

      Segue o site do pessoal da empresa júnior da Poli USP (http://www.polijr.com.br); acho que eles podem lhe ajudar.

      Cordialmente,

      Navegador: Unknown em Unknown O.S.
  • Xênia

    Bom dia,

    Antes de mais, agradeço o post, está excelente, acontece é que precisava representar o modelo de estados através do simulink, mas nao posso utilizar o “state space”, sabe como é feito de outra forma?

    Desde já agradeço a atenção dispensada.

    Obrigada,

    Xênia

    Navegador: Unknown em Unknown O.S.