Pergunta

Eu quero implementar quer eu acho que é um loop de feedback bastante normal, no entanto, tem sido muitos anos desde que eu olhei teoria de controle e eu estou tendo dificuldade para entender os conceitos e encontrar exemplos de implementação. Eu estava esperando que alguém poderia ser explicar em termos simples o que está acontecendo e talvez apontar para alguns recursos que eu poderia usar para implementar uma solução. Todas as informações que eu vi sobre este tema é geralmente afogamento em matemática.

Então aqui está o que eu estou tentando alcançar:

  • Eu quero controlar a corrente de um circuito eletrônico, digamos que eu sempre quero-o para desenhar 0.75A.
  • A corrente, é claro, varia ao longo do tempo, dependendo do que outras partes do circuito estão fazendo. Mas eu tenho algum hardware que vai chamar mais ou menos corrente como controlado por um nível de tensão que eu passar para DAC.
  • Eu também tenho um ADC que me dá uma tensão que é proporcional à corrente ser desenhado pelo sistema.

Eu preciso lidar com rampa e também oscilações dentro de alguns limites. Também estou trabalhando em C.

graças, Richard

Foi útil?

Solução

Ok, então se eu entendo você, todo o hardware já está feito?

Assim, o sistema tem uma entrada de comando que é um nível de corrente em amperes (especificado por exemplo uma dupla precisão número de ponto flutuante em software) ea saída do controlador é uma tensão que os controles de hardware que desenha atual, sua planta é o circuito eo feedback é provavelmente um número de 8, 10 ou 16 bits - seja assinado ou não assinado dependendo do seu a / D.

para que o sistema se parece com isso:

alt texto http://steves-wiki.wikispaces.com/file/view/control_diagram .jpg / 64043668

A sua abordagem mais rápida e mais sujo é, provavelmente, o controle PID. Você pode escovar-se sobre os conceitos básicos com esta Wikipedia artigo e existem algumas dicas sobre a implementação desta embedded.com artigo .

Em poucas palavras você quiser calcular o erro do sistema, que no seu exemplo é o comando atual - Comentários atual. Certifique-se de que tudo está nas mesmas unidades, espero Amperes. Então, depois de o seu erro é calculado você tem que corrigi-lo com um comando. Em seu sistema, que é o comando de tensão para a sua fonte de corrente controlada por tensão. Com PID, o comando é calculado multiplicando o erro, a integral do erro, e a derivada do erro por ganhos e somando o resultado. Os ganhos são a parte mais complicada. As outras partes complicadas são: certificar-se de suas unidades são consistentes, certificando-se de que o momento é apropriado, e a integração / cálculo correto derivado.

Em seu sistema, você tem muitas unidades: de erro é Amps, o comando é Volts, que se transforma em Amps, então o uso atual é Amps que é relatado como Volts que se transformou em um ou outro um inteiro assinado ou não assinado que tem de ser volta escalado em Amperes a tornar o erro adequada. Você vai ter muitas variáveis, certifique-se que você pode acompanhar o que unidade física se aplica a cada um.

O algoritmo de controle é difícil em tempo real e tem de correr a uma taxa dedicado. Eu recomendaria pelo menos 100Hz (cálculos a cada 10ms). circuitos eletrônicos se mover rapidamente - não como sistemas eletromecânicos. Você pode precisar de uma taxa mais elevada para se manter no topo das coisas. Mas tem que ser duro em tempo real - o que significa consistentes. Você pode até não ser capaz de fugir com temporizadores de software.

Integração e cálculos derivados são complicado, mas só há tantas maneiras de fazê-las. O algoritmo mais básico é a regra do retângulo - é idiota, mas ele provavelmente irá trabalho. Se você precisa ser regra uso trapezoidal mais preciso. Verifique os algoritmos fora aqui . Muito provavelmente você não vai usar o controle derivado - ele tende a fazer coisas instável e não é necessária na maioria dos sistemas. Você deve estar bem com o controle proporcional integral +.

Existem muitas armadilhas, mas isso deve começar. Se você já teve uma experiência em teoria de controle, em seguida, tudo deve voltar para você. Uma vez que o quadro está no lugar que você vai gastar um monte de tempo de sintonia os ganhos proporcional e integral - que é a carne do trabalho. Se isso ainda parece muito matemática para você, bem, desculpe - isso é tão simples quanto ele ganha para controles.

Outras dicas

Seria difícil controle software do sistema para desenhar corrente constante. Isto é melhor feito com hardware dedicado que pode responder imediatamente às mudanças actuais e realmente implementar o ciclo de feedback tiver problemas em entender.

Se você quiser fazê-lo com software, então você provavelmente deve implementar alguma forma de um " fuzzy- lógica " controlador. Seu problema é análogo a um ventilador usado para controle de temperatura. Você tem uma variável de entrada (tensão proporcional à corrente) e uma variável de saída (nível de tensão passada para DAC).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top