O projeto foi realizado para um trabalho de avaliação da disciplina de Controle Digital.
Foi implementado um algoritmo de mínimos quadrados para a identificação de parâmetros que descrevem o modelo matemático de sistemas lineares de ordem 1 e ordem 2. O algoritmo está sendo executado através de um microcontrolador.
Materiais do projeto:
- 1 microcontrolador ATmega328p (Arduino Uno) que foi programado utilizando a lib AVR
- 1 filtro passa-baixas passivo RC de ordem 1
- 2 filtros passa-baixas passivos RC de ordem 2 com parâmetros diferentes de resistência
- 1 filtro ativo passa-baixas butterworth (topologia Sallen-Key) de ordem 2
Inicialmente, o projeto previsto para identificar apenas o filtro do tipo Butterworth de ordem 2, entretanto foi montado outros circuitos para validar o algoritmo. Sobre o filtro Butterworth, ele foi projetado para ter uma frequência de corte em 10 Hz e amortecimento 0,707.
A seguir, mais detalhes sobre a implementação do algoritmo e circuitos utilizados.
O algoritmo consiste na aplicação do princípio de mínimos quadrados, em que dada as entradas conhecidas que foram inseridas no sistema e obtidas as saídas para cada uma dessas entradas é possível montar uma matriz de regressores
Nesse contexto,
A mesma equação pode ser escrita na forma:
Portanto, os parâmetros estimados podem ser obtidos através de:
Para um sistema de ordem 1 no tempo discreto, é possível escrevê-lo como:
O formato das matrizs
Portanto, a montagem das matrizes para o cálculo dos parâmetros
Em C, é necessário realizar uma adaptação, pois a indexação inicia em zero. Para um total de 50 amostras coletadas, temos
Desta forma, para fins de generalização para a coleta de amostras, deve-se atualizar o vetor de amostras de entradas e saídas até um número
Nesse contexto, levando em conta as adaptações, para um sistema de ordem 2:
O período de amostragem foi escolhido com base no critério do tempo de subida do sistema. A razão entre tempo de subida do sistema e o período de amostragem deve ser entre 4 e 10, em quanto maior a razão, melhor é captura da dinâmica do sistema amostrado. O tempo de subida considerado foi o do filtro ativo Butterwoth de segunda ordem. Assim, foi utilizado o mesmo período de amostragem para os demais sistemas.
Será detalhado o processo para o filtro do tipo Butterworth e o restante dos sistemas serão apenas demonstrados os resultados.
Função de transferência do sistema em tempo contínuo:
Esquemático do circuito e montagem física:
Ensaio para obtenção dos vetores de entradas e saídas:
É realizado um ensaio utilizando como entrada (em azul) um sinal do tipo PRBS (Pseudo Random Binary Signal) de quatro bits. A cada período de amostragem é que coleta os dados de entrada e de saída real do sistema (em vermelho). Após essa captura é realizado o cálculo de identificação dos parâmetros do sistema por mínimos quadrados e dado uma pausa para fins de visualização. Em seguida é alterada entre quatro tipos de entradas distintas, via acionamento de um botão físico, para verificar se a saída estimada (em verde) consegue prevê a saída real do sistema em função dos parâmetros identificados e das entradas inseridas.
Resposta ao sinal PRBS com espaçamento:
Resposta ao sinal degrau:
Resposta ao sinal senoidal:
Resposta ao sinal rampa:
Interação em tempo real:
2023-07-14.23-18-52.mp4
Função de transferência do sistema em tempo contínuo:
Esquemático do circuito e montagem física:
Interação em tempo real:
2023-07-14.23-57-45.mp4
Esquemático do circuito e montagem física:
Interação em tempo real:
2023-07-15.00-17-58.mp4
Função de transferência do sistema em tempo contínuo:
Esquemático do circuito e montagem física:
Interação em tempo real: