Como calcular a frequência de loop necessária para um servo controlador?


11

Eu tenho um motor que aciona uma corda conectada a uma célula de carga. Eu gostaria de implementar um controlador de loop fechado para controlar a carga aplicada pelo motor à string.

Corda de acionamento do motor conectada a uma célula de carga

Como determino a frequência de loop necessária para criar um sistema de controle estável? É algo como a frequência de Nyquist, onde a velocidade do loop deve ser pelo menos duas vezes a frequência mais alta inerente ao sistema mecânico?


Seria benéfico que as respostas se concentrassem no lado prático ou teórico da pergunta. Esta é uma questão teórica pura (onde atrito, erros no sensor, distorções do motor etc. são ignorados)? A frequência do controlador não precisaria ser maior que a faixa de validade do sensor e também seria definida pelas características do motor.
Gürkan

Respostas:


4

A frequência do loop é um parâmetro que precisa ser ajustado exatamente como os termos proporcional, integral e / ou derivativo. Variando isso tem um efeito semelhante em sua saída como variando seus outros parâmetros. Frequência muito baixa e você nunca alcançará o estado estacionário desejado. Muito alto e a saída irá oscilar.

Para determinar a frequência de loop ideal, você primeiro precisará construir gráficos de Bode a partir de dados de teste ou simulação do mundo real:

Os gráficos de Bode exibem concisa todas as informações relevantes de entrada e saída de frequência em dois gráficos: razão de amplitude em função da frequência e deslocamento de fase em função da frequência. O gráfico da razão de amplitude é um gráfico log-log, enquanto o gráfico do ângulo de fase é um gráfico semilog (ou log-linear).

Para construir um gráfico Bode, um engenheiro teria dados empíricos mostrando valores de entrada e saída que variam conforme as funções sinusoidais do tempo. Por exemplo, pode haver dados de temperatura de entrada que variam sinusoidalmente e dados de temperatura de saída que também variam sinusoidalmente.

A razão de amplitude, AR, é a razão da amplitude da curva sinusoidal de saída dividida pela amplitude da curva sinusoidal de entrada.

UMAR=ovocêtpvocêtumampeuEutvocêdeEunpvocêtumampeuEutvocêde

Para encontrar a mudança de fase, é necessário encontrar os períodos das curvas senoidais de entrada e saída. Lembre-se de que o período, P, é o período de tempo entre um pico e o próximo.

P=1f=2πω
f=freqvocêency
ω=freqvocêency(rumad/sec)

AR vs. freq

fase vs. freq

Regras de ouro ao analisar gráficos de Bode

De um modo geral, uma alteração de ganho altera a taxa de amplitude para cima ou para baixo, mas não afeta o ângulo de fase. Uma mudança no atraso de tempo afeta o ângulo da fase, mas não a taxa de amplitude. Por exemplo, um aumento no atraso de tempo torna a mudança de fase mais negativa para qualquer frequência. Uma mudança na constante de tempo altera a taxa de amplitude e o ângulo de fase. Por exemplo, um aumento na constante de tempo diminuirá a taxa de amplitude e tornará a defasagem de fase mais negativa em qualquer frequência.

Então, você precisará determinar a frequência de cruzamento :

O termo proporcional move a magnitude da resposta de frequência do circuito aberto para cima ou para baixo e, portanto, é usado para definir a frequência de cruzamento do circuito aberto. A frequência de crossover é a frequência na qual a magnitude tem um ganho de 1 (ou 0dB). Essa frequência é importante, pois está intimamente relacionada à largura de banda da resposta do circuito fechado.

Em um sistema ideal, o ganho proporcional pode ser feito (quase) infinitamente grande, levando a um loop fechado infinitamente rápido, mas ainda estável. Na prática, esse não é o caso. Em vez disso, duas regras práticas de design entram em cena.

Primeiro, a taxa de amostragem do hardware digital no qual o controlador será executado precisa ser considerada. Uma regra prática típica é que a frequência de cruzamento deve ser configurada para ser pelo menos 10 vezes menor que a taxa de amostragem do controlador. Conceitualmente, isso garante que o controlador esteja funcionando a uma taxa suficientemente rápida para que ele possa lidar adequadamente com as mudanças no sinal que está sendo controlado.

A segunda regra geral está relacionada à inclinação da resposta de frequência na frequência de cruzamento. Se o roll-off da resposta de magnitude do loop aberto no crossover puder ser próximo de -20dB / década, pode-se esperar que a largura de banda do loop fechado esteja próxima da frequência de crossover. Observe que os termos integrais e derivativos, e não apenas o termo proporcional, são usados ​​para controlar a inclinação no cruzamento.

gráfico de crossover

(ênfase minha)

Portanto, a freqüência ideal do loop de controle deve ser cerca de 10 vezes a freqüência de crossover do atraso de fase do seu sistema, que pode ser obtida por meio de dados de testes empíricos ou, idealmente, por simulação em computador.


Ótima resposta, mas eu usaria o termo ciclo de limite em vez de oscilação nesse contexto, pois é mais específico da teoria de controle . O importante é que qualquer pequena perturbação da trajetória fechada levaria o sistema a retornar ao ciclo limite, fazendo com que o sistema permanecesse no ciclo limite . Isso difere da simples oscilação , pois essa situação indesejável não decai por si própria e é de fato ativamente perpetuada.
Mark Booth

@ MarkBooth Eu nunca estudei a teoria do controle formalmente, mas caí nela quando consegui um emprego escrevendo software incorporado para controladores de motor. Eu nunca ouvi o termo ciclo de limite antes e o artigo da Wikipedia sobre ele é bastante breve. Os artigos da Wikipedia sobre controladores PID e teoria de controle usam o termo oscilação, mas não mencionam ciclos limite. Você poderia apontar para outras referências que discutem ciclos limites no contexto específico da teoria de controle? Estou bastante interessado em aprender mais.
embedded.kyle

1
A afirmação de que uma frequência de loop muito alta pode tornar um sistema instável está essencialmente errada. A largura de banda x10 do controle é uma boa regra, mas não há desvantagem em subir mais (além do custo). Obviamente, se o seu integrador faz + todos os ciclos, você pode precisar anular o seu termo I (por exemplo).
precisa saber é o seguinte

1
Eu nunca ouvi o termo "frequência de loop" usado para a frequência de amostragem do loop antes, mas esse parece ser o uso aqui. Antigos fechadores de loop analógicos pensam que você quer dizer a largura de banda do loop (frequência de fechamento de loop AKA).
9133 TimWescott

1
Definir uma alta taxa de amostragem em um loop de controle só causará problemas de ruído (e não apenas na quantização) se houver necessidade de filtragem passa-baixa no loop que, de alguma forma, seja atendida pela amostragem de baixa frequência. Isso sempre pode ser resolvido com a inserção de filtros passa-baixa explícitos, se a situação o justificar.
8113 TimWescott

3

Quando a corda não está sob tensão, você tem um sistema não linear (ou seja, você está empurrando uma corda) que também pode dificultar o controle. A rigidez da sua corda vai limitar sua largura de banda. (A corda atua como um filtro passa-baixo, pelo menos quando está sob tensão). Na verdade, trabalhei um pouco em uma configuração semelhante e foi realmente difícil de controlar.

Como você está amostrando, o teorema da amostragem se aplica absolutamente e você deve amostrar pelo menos x2 a frequência mais alta em sua entrada (aumentando a taxa de amostragem ou filtrando a entrada antes da amostragem ou ambas), caso contrário, você obterá o alias.

Como Kyle aponta, o outro fator é a largura de banda de controle desejada. Concordo com a regra geral de que o loop deve executar pelo menos ~ 10 vezes essa frequência.

Ambas as condições precisam ser atendidas.

Há uma discussão bastante boa sobre isso no Capítulo 6: Amostragem em sistemas de controle de malha fechada da dissertação de Marten Derk van der Laan (1995) Técnicas de amostragem de sinais para aquisição de dados no controle de processos :

A seleção das taxas de amostragem é uma questão importante. Por razões econômicas, as taxas de amostragem são mantidas o mais baixo possível: Uma taxa mais baixa significa que há mais tempo disponível para a execução do algoritmo de controle, o que pode ser realizado em computadores mais lentos. A digitalização de sistemas de controle analógico bem comportados pode afetar fortemente a resposta do sistema. Se as frequências de amostragem forem muito baixas, os sistemas podem até se tornar instáveis. De acordo com o critério Nyquist, a frequência de amostragem deve ser pelo menos duas vezes maior que a largura de banda do sinal de erro. Essa largura de banda é limitada pela largura de banda do sistema, portanto, são 2wB. No entanto, para garantir uma resposta satisfatória, pode ser necessário um fator de 10 a 20


É muito perigoso começar a apelar para o teorema de Nyquist em um sistema de controle de tempo amostrado. Um acaba com todos os tipos de esquisitices, entre os quais (e definitivamente indesejáveis ​​na maioria das circunstâncias) são os filtros anti-aliasing dentro do loop de controle. O artigo citado está usando uma abordagem antiga para o design do loop de controle digital mais adequado para as pessoas que precisam gastar algum tempo se acostumando à transformação z e ao design direto no tempo amostrado. wescottdesign.com/articles/Sampling/sampling.pdf
TimWescott

@ TimWescott: Seu artigo parece muito interessante. Vou ler com mais detalhes. Concordo que as pessoas aplicam mal o teorema ao mundo real de várias maneiras (e não apenas em uma configuração de controle). No entanto, sempre que você estiver amostrando, o teorema se aplica. Eu concordo absolutamente com o que você diz no seu último parágrafo da seção "Finalmente". Intuitivamente, o controlador nunca pode ser melhor do que o sinal de erro amostrado, para que você possa provar que, se tiver o aliasing, nenhum controlador poderá corrigir esse erro.
226138 Guy Guytonton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.