Introdução a Simulação de Controle de Sistemas com Python — Parte 01
Nesse post aprenderemos os primeiros passos para simular sistemas de controle usando Bibliotecas Python.
O Python é uma linguagem de programação em que pode ser usado o paradigma (POO) Programação Orientada a Objetos, dessa forma, muitos módulos Científicos e Matemáticos foram criados por diversas comunidades possibilitando seu uso para diferentes áreas das Ciências e Engenharias.
Hoje veremos uma aplicação na Engenharia, mais especificamente em modelagem e simulação de Controle de Sistemas.
BIBLIOTECAS PYTHON UTILIZADAS PARA A SIMULAÇÃO
Muitas bibliotecas podem ser usadas para simulação de sistemas de controle, nesse tutorial usaremos bibliotecas que já são bem documentadas e conhecidas nas comunidades científicas.
PYTHON-CONTROL
A biblioteca python-control é um toolbox com classes e métodos (Python) que implementam operações para análise de projeto de Controle de Sistemas de Feedback.
- Instalação
Para instalar você pode usar o gerenciador de pacotes Pip do Python.
pip install control
Ou caso você tenha o Anaconda instalado em sua máquina use o conda.
# se ainda não estiver instalado
conda install numpy scipy matplotlibconda install -c conda-forge control
MATPLOTLIB
Matplotlib é uma biblioteca de ‘software’ para criação de gráficos e visualizações de dados em geral, feita para e da linguagem de programação Python e sua extensão de matemática NumPy.
Matplotlib é desenvolvida para plotagens de diferentes formatos de gráficos, ela oferece um módulo chamado pyplot que dispõe de métodos análogos aos oferecidos pelo MATLAB.
- Instalação
Para instalar você pode usar o gerenciador de pacotes Pip do Python.
python -m pip install -U pip
python -m pip install -U matplotlib
Ou caso você tenha o Anaconda instalado em sua máquina use o conda.
conda install matplotlib
NUMPY
Numpy é uma biblioteca Python que suporta processamento de arrays e matrizes multidimensionais, além de dispor de grande quantidade de métodos matemáticos de alto nível para operar sobre arrays e matrizes.
Tirando as características de programação em Python, podemos dizer que essa biblioteca possui métodos para operações matemáticas assim como o MATLAB.
- Instalação
Para instalar você pode usar o gerenciador de pacotes Pip do Python.
pip install numpy
Ou caso você tenha o Anaconda instalado em sua máquina use o conda.
conda install numpy
MODELAGEM DO SISTEMA DE CONTROLE
Agora que fizemos uma revisão sobre as bibliotecas Python que usaremos na simulação, vamos “por a mão na massa” e criar o nosso primeiro sistema de controle usando Python.
Funções de Transferências dos Sistemas
Normalmente quando queremos simular um sistema, precisamos encontrar a Função de Transferência do Sistema, porém quando usamos a biblioteca Control do Python, ela se encarrega de encontrar a função e o que precisamos é apenas mostrar a EDO que descreve o sistema.
Além disso, simularemos um sistema em malha fechada ou sistema com realimentação (feedback), para isso, usaremos o Controlador PID (Controlador proporcional integral derivativo) e um Sensor Unitário.
SISTEMA — CIRCUITO RC
O sistema que será usado para essa simulação é o Circuito RC do posts Controle de Sistemas — Simulação (Circuito RC Série) com Realimentação Usando Python. Em que sua função de Transferência é dada por:
Dando valores de Capacitância e Resistência, temos:
- Capacitor: C=10μF
- Resistor: R=20kΩ
ALGORÍTIMO PID
Sendo u(t) o sinal de saída, podemos definir o algorítimo PID da seguinte maneira:
Onde:
Com a aplicação da Transformada de Laplace, temos:
Onde:
- s: frequência complexa.
Sensor Unitário
Essa representação de um sensor, quer dizer que todo o valor “lido” é multiplicado por 1.
Agora que encontramos as funções de transferência de cada parte do Sistema, montaremos a equação em Malha Fechada.
Controle em Malha Fechada do Circuito (RC)
Onde:
- Modelo do Circuito RC:
- Sensor:
- Controlador:
Aplicando a Teoria de Controle em Malha Fechada
A função de Transferência Geral para o Sistema em Malha Fechada é dada por:
Substituindo os valores temos:
Simplificando a equação, temos:
G(s) é nossa Função de Transferência em Malha Fechada do nosso Sistema de Controle.
REFERÊNCIAS
- Sinais e Sistemas Lineares. B.P. Lathi — Sinais e Sistemas Lineares (2006, Bookman).
- Matplotlib, Site Oficial, 2020.
Disponível em: https://matplotlib.org/stable/users/installing.html. Acesso em: 14 de Out. de 2021.
- Numpy, Site Oficial, 2020.
Disponível em: https://numpy.org/doc/stable/user/quickstart.html. Acesso em: 14 de Out. de 2021.
- Python Control, Site Oficial, 2020.
Disponível em: https://python-control.readthedocs.io/en/0.8.3/intro.html. Acesso em: 14 de Out. de 2021.
- Controlador proporcional integral derivativo, Wikipédia, a enciclopédia livre., 2020.
Disponível em: https://pt.wikipedia.org/wiki/Controlador_proporcional_integral_derivativo. Acesso em: 14 de Out. de 2021.