sábado, outubro 10, 2009

Como obter o controlador digital quando já temos o analógico usando Matlab

Suponha que tu tenhas a função de transferência de um controlador analógico e queiras obter a função de transferência equivalente para um controlador digital.

Como fazer isso de modo fácil? Simples. O matlab dispõe de uma função chamada c2dm.

No command window do matlab digite o comando
[numDz, DenDz] = c2dm(num, den, Ts, 'zoh')
onde
  • numDz é o numerador do sistema discreto que se deseja obter
  • denDz é o denominador do sistema discreto que se deseja obter
  • num é o numerador do sistema contínuo que se deseja converter para sistema discreto
  • den é o numerador do sistema contínuo que se deseja converter para sistema discreto
  • Ts é o tempo de amostragem, em segundos.
  • 'zoh' indica que deseja-se o equivalente da função contínua utilizando-se a operação Zero Order Hold.
Vou mostrar com um exemplo como utilizar essa função para realizar a conversão.

Suponha que tu tenhas o processo mostrado na figura 1.

Figura 1 - exemplo de processo com controlador analógico
num e den são obtidos diretamente do nosso controlador analógico:
num = [4 1]
den = [4 0]
Vamos supor que queremos que o tempo de amostragem seja 0.25s. Logo, temos que Ts = 0.25s

A figura 2 mostra os comandos que tem que ser digitados e o resultado obtido:

Figura 2 - comando c2dm executado e o resultado

Agora nós usamos o bloco Discrete Transfer Function e numDz e denDz obtidos para escrevermos a função de transferência discreta do controlador digital. Este controlador substituirá o controlador analógico, conforme mostrado na figura 3.

Picture 3 - Processo usando o controlador digital

Fácil, não é?

Para finalizar, a figura 4 mostra a saída produzida pelos reguladores analógico e digital (em amarelo e lilás, respectivamente).

Picture 4 - saída produzida pelos reguladores analógico e digital

Nenhum comentário: