Manutenção da posição no servoconversor: controle subordinado vs modo step


Depois que os artigos anteriores sobre controle vetorial de motores elétricos apareceram, surgiram muitas questões sobre o acionamento posicional - como elaborar uma determinada posição com um acionamento? Como um servoconversor funciona em máquinas modernas, como usar um sinal de um sensor de posição, como um acionamento por etapas difere de um servoconversor com regulação subordinada? Vamos mostrar tudo na forma de fotos e vídeos.

Então, o que é um servo com um loop de posição? Para começar, veja isso. Para ver os gráficos em segundo plano, aconselho a assistir no modo de tela cheia.


Estrutura de controle de três laços


O sistema de controle procura manter uma determinada posição do eixo do rotor. Faço um efeito perturbador, afasto o rotor da posição definida, mas depois de liberar o eixo, ele volta instantaneamente à tarefa. Mesmo se você girar algumas voltas, o sistema de controle desaparafusará algumas voltas e com uma dinâmica muito boa - de modo que o movimento nem sequer tenha tempo para entrar nos quadros do vídeo. Em segundo plano, a programação de operação do inversor é visível: a corrente do motor é mostrada em vermelho (proporcional ao momento), a posição atual do eixo do rotor é exibida em verde e a configuração da posição é amarela. O momento máximo permitido (corrente) do motor neste experimento foi limitado a três vezes o máximo, por completo, eu não seria capaz de segurá-lo com tanta facilidade.

Como esse sistema de controle funciona? Este é um sistema clássico de controle escravo de três laços com correção sequencial, mostrado na Fig. 1.


Figura 1. Sistema de três circuitos de regulação subordinada

Por que um subordinado? Porque cada circuito fechado é "subordinado" à tarefa do superior. Existem três circuitos no sistema, listo a partir do interior: circuitos de corrente (torque), circuito de velocidade (velocidade), loop de posição. Consequentemente, cada circuito com seu próprio regulador mantém seu valor em um determinado nível. Nesse caso, foram utilizados o controlador PI para correntes, o controlador P para velocidade e o controlador PID para posição. Nenhuma mágica como lógica difusa, controles linear-quadráticos e muito mais.

Por que exatamente três circuitos e exatamente isso? Vou tentar explicar, como sempre, "nos dedos". Se quisermos ajustar a posição, o melhor que podemos controlar é a velocidade (velocidade), porque é a velocidade que afeta diretamente a mudança de posição (a velocidade é uma derivada da posição) e todas as outras quantidades (corrente, tensão e outro) afetam a situação de uma maneira mais complexa, mais difícil de regular. Além disso, se agora queremos regular a velocidade, o melhor que podemos controlar é o momento do motor, já que o momento determina a aceleração do inversor e também é conectado à velocidade com a lei matemática mais simples. Como para um motor o momento é atual (para um motor CC, isso é verdade explicitamente,e para motores CA é válido para a corrente geradora de torque no controle vetorial), para controlar o momento em que é necessário controlar a tensão no inversor do conversor, porque a corrente e a tensão também são conectadas a uma primeira aproximação através de uma equação diferencial simples.

Se você omitir qualquer circuito interno, então ... a posição será regulada, mas será mal regulada, não com a mesma velocidade que em um sistema de três circuitos. Se você jogar fora, por exemplo, o circuito de corrente, forçando o controlador de velocidade a afetar diretamente a tensão do inversor, o momento do acionamento (corrente) permanecerá descontrolado - ele mudará conforme desejado, os transientes serão deixados ao acaso. Infelizmente, alguns arduinovides fazem a estrutura mostrada na Fig. 2.

Fig. 2. A maneira como você não precisa ajustar a posição da unidade.

Essa estrutura funciona nojenta (lentamente e oscila), embora de alguma forma funcione - o controlador PI fará tudo isso.

Corrente direta e alternada: qual a diferença para o loop de posição?


Qual é a diferença no controle de posição para motores de corrente contínua e motores de corrente alternada? No caminho de manter o momento. Em um motor CC, basta colocar um regulador de corrente que afeta a tensão do enrolamento da armadura - você obterá o controle de torque. Nos motores CA (por exemplo, uma máquina síncrona com ímã permanente e um motor assíncrono), o controle vetorial deverá ser aplicado. O que é e como funciona já foi discutido em detalhes nos artigos Controle vetorial nos dedos e Controle vetorial para um motor assíncrono nos dedos. Assim como para um motor CC, o controle vetorial permite ajustar o torque no motor. Além disso, os mesmos controladores de velocidade e posição são “suspensos” por cima. A operacionalidade final do loop de posição não depende do tipo de motor (apenas pequenas nuances mudam).

Modo passo


Para máquinas síncronas com ímãs permanentes, existe outra opção para resolver a situação - o chamado modo de operação em "etapas". Motores otimizados para isso, respectivamente, são chamados de stepper. Nem todos os motores de passo são máquinas síncronas com ímãs, mas a maioria é exatamente isso (ainda existem etapas do tipo indutor do tipo passo). Como isso funciona? O motor simplesmente fornece corrente contínua às fases necessárias. E é isso. O rotor sob a influência da "mola magnética" se eleva na posição correspondente à corrente. Se você precisar alterar a posição do eixo, o vetor atual deve ser girado - depende suave ou discretamente do "acionador" do motor de passo (com ou sem micro passo). Sobre como o motor síncrono funciona e onde há uma mola magnética já foi descrita no artigo .

O modo step é bom porque, além do loop de corrente, ele não precisa de nada - nem um sensor de posição, nem mesmo um microcontrolador. O sistema de controle para este modo é montado a partir de três microcircuitos e meio e é usado em todas as máquinas CNC do nível amador (e não é o caso). Quais são as desvantagens? A posição também é nojenta. Manter a posição nesse modo é o próprio motor - uma corrente constante é fornecida ao estator e o rotor tende a permanecer na posição correspondente. Pode-se imaginar dois ímãs retangulares em um eixo passando pelo meio (Fig. 3). Controlamos um ímã (corrente do estator) e o segundo - o rotor oscila por si só e tende a girar de acordo com o primeiro, paralelo a ele.

Fig. 3. Modo de operação passo a passo de uma máquina síncrona

O momento no rotor neste modo muda de acordo com a lei do seno do ângulo de incompatibilidade entre os dois ímãs. Na posição coordenada, o momento é zero (a carga não atua no rotor), a 90 graus (os ímãs são perpendiculares), o momento do motor é máximo e tende a girar o rotor para a posição coordenada. E a amplitude desse seno da mudança de momento depende da magnitude da corrente fornecida.

O número de pares de pólos


Para melhorar a precisão de manter a posição no modo passo, o número de pares de polos no motor é estruturalmente aumentado. Se houver um par de pólos, o motor corresponderá a esses dois ímãs na fig. 3 - o rotor pode pendurar até um quarto de revolução para frente e para trás a partir de uma determinada posição. Quando o número de pares de polos aumenta, o número de alternações norte-sul aumenta, tanto nos ímãs do rotor quanto nos enrolamentos do estator. Aqui está uma foto mostrando um motor com um par de pólos e dois:

Fig. 4. Um par de pólos vs dois pares de pólos.

Se você tentar acionar esse motor com dois pares de pólos com a corrente contínua fornecida em fases, o momento no rotor aumentará para um máximo não em um quarto de revolução (90 graus, como em um par de pólos), mas em um oitavo de revolução (45 graus mecânicos). O motor terá duas posições estáveis ​​do rotor em uma revolução mecânica. Para a conveniência de descrever os processos no motor, é introduzido o conceito de "revolução elétrica" ​​- quanto o rotor precisa ser girado para que os ímãs do rotor de um polo caiam no lugar do mesmo do outro polo, ou seja, dar um "passo". Dizem então que o rotor girou 360 graus e, para traduzir isso em mecânico, é necessário dividir pelo número de pares de pólos. Na revolução elétrica, o comportamento de todos os motores em termos de controle é o mesmo, independentemente do número de pares de polos.Um aumento no número de pares de pólos cria apenas um tipo de "caixa de velocidades elétrica" ​​- você pode pegar um carro com um par de pólos e usar uma engrenagem de redução quádrupla, ou você pode pegar um carro com quatro pares de pólos e obter, grosso modo, a mesma coisa.

vs :


Para motores de passo, o número de pares de polos é muito grande - 50, 100 ou mais. Nesse caso, a capacidade natural de manter a posição é muito boa - se você garantir que o momento da carga nunca exceda o torque máximo do motor, a posição sem nenhum sensor de posição será mantida com uma precisão de (± 360 / (número de pares de pólos * 4)) de graus mecânicos. É verdade que o preço disso é uma forte deterioração no desempenho do motor em termos de peso, tamanho e eficiência. Se compararmos a potência de um motor de passo com cem pares de pólos e o motor síncrono do mesmo tamanho com um pequeno número de pares de pólos, a potência admissível de um shagovik será várias vezes menor. E também por causa do aumento no número de pares de pólos, os shagoviks têm um problema em trabalhar em alta velocidade.A frequência da corrente neles deve ser fornecida com o número de pares de pólos tão grande quanto em uma máquina síncrona "normal", que fornece frequências de corrente da ordem de kilohertz ou mais - há enormes perdas na inversão de magnetização do ferro, e nem todo sistema de controle pode.

Além disso, o shagoviki não fornece boas dinâmicas de aceleração e frenagem, pois durante a aceleração o motor deve superar dois pontos: o momento da carga, bem como o momento dinâmico para acelerar a massa do volante e o corpo de trabalho. E se a soma de todos os momentos exceder o torque máximo do motor, ele pulará uma etapa, o que é inaceitável para o CNC. Portanto, as minhocas aceleram e freiam necessariamente suavemente, com uma grande margem entre o momento total no eixo e o torque máximo do motor, para não pular etapas.
Também é importante notar que, no modo passo a passo, quando uma carga é aplicada ao rotor, ela sempre cede e se desvia da posição definida por um determinado ângulo, qualquer que seja a corrente fornecida ao motor. Além disso, com uma perda acentuada de carga, são possíveis flutuações - o rotor em uma mola magnética oscila para frente e para trás. Se a carga não tiver sorte e for pulsada, ela poderá coincidir com a frequência interna do rotor, girá-la e, depois disso, o rotor sairá da sincronicidade - o motor “pulará um passo”.

O que fazer se, para resolver o problema, você precisar manter uma boa posição e obter uma condução dinâmica e de alta velocidade? Não use stephops! E use uma máquina síncrona “regular” com um pequeno número de pares de pólos como servomotor, instale um sensor de posição e construa um sistema de controle de três laços. Não há "etapas" no sistema de controle de vetores - não há nada a perder. No modo passo, sempre é necessária uma corrente grande para passar pelo motor e, no modo vetorial com uma estrutura de controle de três voltas, a corrente flui somente quando uma carga é aplicada ao eixo. A precisão de manter a posição no sistema de regulação subordinada é geralmente determinada pela precisão do sensor de posição do rotor. Quanto mais preciso o sensor, melhor o trabalho do loop de posição.E os sensores de posição modernos são muito precisos - centenas de milhares de tags por revolução mecânica. Essa é uma ordem de magnitude melhor do que os motores de passo com a etapa de britagem mais forte.

Modo passo vs regulação subordinada: prática


E agora vamos ver na prática todas as opções acima. É necessário descrever a posição com a qual trabalho. Há muita informação técnica, vou escondê-la embaixo do spoiler.
Banco de ensaio
VectorCARD 192101, , , .

. 5. VectorCARD 192101

– Leadshine ACM601V36-1000. 100, 4 , 36, 4, 11. – 1000 (, , 4000 () A B ).
– DRV8301-HC-EVM Texas Instruments.
– VectorCARD 192101 192101 «» (ARM Cortex-M4F, 100).
, , . 6.

. 6. : (), , .

- , , « ». . 1.
20, ( ) – 10. – , . , .


Modo passo vs controle escravo: comparação no modo estático


Primeiro, comparamos o modo de operação passo a passo e o sistema de regulação subordinada de três ciclos com o controle vetorial "em estática". Definimos a mesma posição do rotor e aumentamos gradualmente o momento de carga no eixo. No modo de operação passo a passo, fornecemos uma corrente nominal de 4A e, no modo vetorial de operação, definimos uma limitação de corrente de 4A. O que esperamos ver?

No modo de operação passo a passo, a corrente será constante tanto em fase quanto em amplitude, e a posição do rotor deve "dobrar" a mola magnética sob carga. Como o número de pares de polos é 4, o torque máximo deve ser alcançado com um desvio de 360/4/4 = 22,5 graus mecânicos da posição original acordada.

O que acontecerá no sistema de controle de três circuitos? O controlador de posição neste experimento é o PID (proporcional - integral - diferencial). A letra principal aqui é "AND" - ela tem um componente integral. Isso significa que, desde que haja pelo menos alguma incompatibilidade entre a posição especificada e a atual, o integrador do regulador integrará e aumentará sua saída até que o erro chegue a zero. Isso significa que, se você carregar o eixo lentamente, para que o integrador tenha tempo para integrar e compensar o erro (ou seja, no modo estático), o eixo permanecerá na mesma posição "morta". Mas quando a margem de corrente (torque) do inversor estiver esgotada (a referência atual atingirá o limite de 4A), o inversor imediatamente sucumbirá e se desviará da referência (no entanto, ele puxará com o torque máximo em direção à referência o tempo todo).

Para rastrear a posição atual do eixo do rotor, é conveniente observar o sinal de erro do sensor de posição (a diferença entre a referência e a posição atual), bem como a corrente do estator. Durante o experimento, um oscilograma com esses dados será visível em segundo plano. Para observar o momento atual da carga no experimento, foi utilizado um dinamômetro especializado de alta precisão, que tirei da gaveta da mesa da cozinha. Aqui, de fato, a própria experiência (para tornar algo visível - tela cheia!):

O vídeo confirma o que foi dito. No sistema de controle vetorial de três laços, o rotor permaneceu imóvel até eu "selecionar" a corrente 4A disponível e, em seguida, o rotor começou a se desviar. Em uma estrutura aberta em corrente contínua com corrente contínua, o rotor sucumbiu facilmente a um momento externo. Como o número de pares de polos deste motor é 4, o rotor se desvia mais de 20 graus da referência.

vs :


Tudo se torna mais interessante na dinâmica. E se uma carga de choque pulsada for aplicada? Isso resulta em uma competição entre dois sistemas fundamentalmente diferentes. Em um sistema de controle vetorial, a velocidade depende diretamente da velocidade da estrutura de controle de três laços. Quanto mais rigidamente os reguladores são ajustados, mais rápida é a frequência de cálculo da estrutura, mais precisos e mais rápidos são os sensores, melhor a resposta à perturbação na dinâmica. No modo de operação passo a passo, o sistema de controle "descansa". Ela criou um vetor atual - é tudo o que precisa. Toda a reação à perturbação é fornecida pelo próprio motor. O momento no eixo em que o eixo do rotor é desviado ocorre "instantaneamente", pois essa é, de fato, a interação de dois ímãs. Mas o momento aumenta em proporção ao seno do ângulo de deflexão elétrica, o que significa que esse sistema terá uma certa rigidez.Em geral, essa é uma "mola magnética" comum. A comparação em dinâmica é uma experiência demonstrativa muito boa para um sistema de controle de três circuitos. Se estiver lento, não poderá mostrar um resultado melhor do que uma estrutura aberta. Sim, na estatística, a estrutura de três circuitos pode escolher um erro posicionando para zerar a parte integrante do regulador, mas na dinâmica também pode "ceder" mais do que o modo de operação passo a passo usual. Confira?

Para realizar esse experimento, usei uma carga medida, que encontrei em meu gabinete com ferramentas, além de uma rosca amarrada a uma haste, que possui uma montagem em consola no acoplamento do motor. Ao baixar a carga de uma altura fixa, obtemos uma carga de impulso de impacto no eixo do rotor. Você pode observar o quanto o eixo do rotor se desvia do trabalho no momento do impacto. Aqui está um vídeo do experimento:


Inicialmente, um modo de operação em etapas com um vetor de corrente fixo é ativado. Mostro como o rotor se dobra sob a influência do momento da carga, como, após dominar o momento da carga, você pode pular para outra posição fixa. Depois, conduzo um experimento para despejar a carga. Além disso, o mesmo para a estrutura de controle de três laços. Você notou quanto menos o eixo do rotor se desvia no vídeo no sistema de controle de três laços? Ou talvez mais? Eu não

Se um vídeo semelhante fosse filmado pelo Discovery Channel, eles certamente teriam instalado uma câmera de alta velocidade para obter belas imagens comparativas. No entanto, temos uma ferramenta mais precisa - um sensor de posição do rotor e um microcontrolador. Você só precisa remover o erro da forma de onda, calculando a posição no momento da aplicação da carga de pulso. Como isso é feito é descrito em detalhes no artigo.Métodos para depurar software de microcontrolador em uma unidade elétrica . Em resumo, o microcontrolador registra os pontos da forma de onda em uma matriz para um evento específico e, em seguida, a forma de onda é baixada no computador e exibida. No software do controlador, defino o gatilho para bater a forma de onda quando o erro de posição for maior que uma determinada configuração, inserindo algumas linhas de código C para isso. Então, no computador, obtive um oscilograma para o modo de operação em etapas com uma corrente de 5A:


. 7. «» – . ( 4), , – . 21 .

Adicionei três variáveis ​​do sistema de controle ao osciloscópio: erro de posição, corrente do estator, velocidade do eixo. O oscilograma mostra que a corrente do estator permaneceu constante e igual a 5A, a carga de choque introduziu apenas uma pequena perturbação (devido à EMF de um motor em rotação). Mas a situação saltou fortemente. O desvio máximo da posição do eixo em relação à referência foi de 36 graus elétricos (ou 9 mecânicos). Existe um modo oscilatório amortecido do rotor após o impacto. Realizei várias experiências, certificando-se de repetibilidade. Todos os oscilogramas se mostraram semelhantes - é bom que, se você tiver as ferramentas necessárias, o tempo para realizar um experimento e obter um oscilograma (conforme inserido no artigo) seja de 5 a 10 segundos.

Agora vamos ver o que a estrutura de controle de três circuitos mostrará (Fig. 8). Anteriormente, coloquei todos os reguladores para ela em velocidade média.

Fig. 8. O oscilograma da reação a um surto de carga pulsada com um sistema de três ciclos de regulação subordinada. Violeta mostra o desvio do rotor da posição definida em graus elétricos (dividido por 4 para mudar para mecânico), azul mostra a corrente do estator de corrente ao longo do eixo q (corrente de momento), azul indica sua tarefa e vermelho indica a frequência de rotação atual. Em uma célula, o eixo do tempo é de 21 milissegundos.

O processo é mais interessante aqui. Além da situação, de fato, adicionei ao osciloscópio todo tipo de quantidade, que mostra o trabalho de regulação subordinada. No momento inicial, ainda é zero: o erro é zero, velocidade, corrente do estator e sua tarefa. Nenhuma força atua no rotor; ele repousa devido à sua força de atrito. Mas a fita elétrica naquele momento já está inexoravelmente voando, a corda está desenrolando ... Em um determinado momento, o comprimento da rosca é selecionado, a carga atinge o eixo, a posição começa a mudar, o erro (feedback do controlador de posição) dispara, juntamente com a velocidade do eixo. Em resposta a isso, o sistema de três circuitos aumenta drasticamente o momento no inversor, tentando devolvê-lo à sua posição original. Cinco milissegundos após o impacto, o momento no motor atinge o máximo permitido (corrente 5A),após o que a posição relutantemente começa a mudar na direção oposta, a velocidade muda de sinal. Tendo sobrevoado o ponto zero e efetuado algumas oscilações, o sistema chega à tarefa.

Pode-se ver como a tarefa da corrente do estator (azul) está um pouco à frente do valor atual (azul), mas o atraso é menor que um milissegundo, o que indica uma alta velocidade do loop de corrente. No entanto, algumas “fluffiness” e “agulhas” são visíveis na tarefa atual, especialmente no final do processo de transição. O que é e de onde é? Vejamos o que o controlador de posição fornece nesse processo - a saída de seus componentes proporcionais, integrais e diferenciais. Largo a fita novamente, aqui estão elas:


. 9. . ( 4), – , – , – . 21 .

Veja como as três partes do controlador PID calculam o transiente. A forma de onda é como em um livro didático, mas este é ao vivo, real e atual, apenas a partir do mecanismo. A saída da parte proporcional é diretamente proporcional ao erro. A parte integral é a integral do erro, veja como ela se integrou "para baixo" desde a primeira grande flutuação e depois, com relutância, chega a zero. A parte diferencial é uma derivada de um erro. Porém, como o sensor de posição é incremental e tem apenas 1000 marcas, uma alteração em cada marca é um evento. Portanto, a posição do sistema de controle muda discretamente, irregularmente, o que significa que o derivado dessa alteração será "parecido com uma agulha". Ou mesmo impulso, retangular, barulhento - o que vemos.

Mas espere ... A derivada da posição é a mesma velocidade! Role para cima até a fig. 8 e compare esse gráfico de velocidade com o gráfico da parte diferencial da Fig. 9. A mesma coisa, mas sem barulho! Como a velocidade de rotação do módulo de processamento incremental do codificador é determinada com mais competência - o hardware do microcontrolador, que rastreia o tempo entre as marcas do sensor. A mesma "derivada" da posição, mas mais corretamente medida.

Qual é a moral? Nem todos os componentes do controlador são igualmente úteis. O que o componente diferencial do controlador de posição faz é, teoricamente, ser feito pelo loop de velocidade a jusante. Como eu precisava dele para uma melhor sintonia, isso significa apenas que não ajustei o loop de velocidade intermediária.

Ah sim. Por onde começamos por aí? Com erro de posição. No modo de operação em malha aberta, o erro foi de 36 graus elétricos (9 mecânicos) e, em um sistema de três regulações subordinadas com essa configuração de reguladores, são 21 graus elétricos (5,2 mecânicas). Melhor sim. É ainda melhor? Vamos pegar outros coeficientes do controlador de posição. Eu aumento tudo - Kp, Ki, Kd vezes uma vez e meia. Nós olhamos:


Fig. 10. O oscilograma da reação a um surto de carga pulsada com um sistema de três ciclos de regulação subordinada. Os coeficientes do controlador de posição são aumentados uma vez e meia.

O erro diminuiu, sim ... 18 graus elétricos. Mas o que vemos? O sistema de controle quase imediatamente se deparou com a limitação atual. Ela gostaria de aplicar uma corrente maior que 5A, mas eu defini o limite para 5. Por que? Para comparar honestamente com um sistema de controle aberto, que também tinha uma corrente de 5A. Mas foi desonesto: o sistema de controle vetorial cria corrente apenas quando é necessário (quando é necessário realizar o momento), e um sistema aberto sempre aciona a corrente definida. Do ponto de vista de aquecimento e perdas, o sistema de controle vetorial é muito mais preferível para o motor.

Deixe o sistema vetorial "desistir" da corrente? Pelo menos por um curto período de tempo. De acordo com o passaporte, o motor permite 11A. Resolva 7A para avaliar o resultado.


Fig. 11. O oscilograma da reação a um surto de carga pulsada com um sistema de três subordinados de regulação subordinada. Limite de corrente aumentado de 5A para 7A.

O erro é de apenas 15 graus elétricos! Isso é 2,5 vezes menor do que no sistema de controle de malha aberta. Mas veja, o que há no final do cronograma? "Agulhas" na tarefa da corrente ... e eles continuam e continuam, o que eu ouço acusticamente - o motor "toca". Isso se chama auto-oscilação - puxou demais os coeficientes do regulador.

Circuitos fechados e seu ruído


Então, chegamos à questão específica da qualidade de qualquer sistema de controle, que às vezes não é menos importante que a precisão de manter o próprio parâmetro ajustável - o ruído. É permitido que o motor "faça barulho" em um sistema de controle de circuito fechado? Depende de quanto faz barulho e o que faz. Eu preparei um vídeo que mostra os vários ruídos que podem nascer em vários contornos do sistema de regulação subordinado. Para fazer isso, fixei o microfone em contato direto com o motor - a uma distância do motor, o som é quase inaudível. Embora dependa do mecanismo, diferentes mecanismos “soam” de maneira diferente.

No início do vídeo, o ruído do loop atual é mostrado. Somente o loop de corrente com dois reguladores de corrente foi ativado. Um barulho apareceu no motor, que meu colega comparou com o barulho de um cano através do qual a água flui. Parece um ruído "branco". Esse ruído é gerado devido ao ruído das medições de corrente de fase. Devido ao componente proporcional relativamente grande (necessário para a velocidade requerida), os reguladores de corrente captam todas as pequenas flutuações na medição de corrente e as amplificam, transmitindo a tensão do inversor para a tarefa. I.e. Inicialmente, a corrente no motor é suave e não produz ruído, mas sua medição é barulhenta, os reguladores de corrente tentam compensá-lo, "puxam" a tensão do inversor, fazendo com que a corrente real no motor realmente "faça ruído". Na forma de onda, você pode vê-lo assim:


Fig. 12. Oscilograma do transitório do salto na tarefa (1A) dos reguladores de corrente e seu subsequente “ruído”. O feedback sobre os reguladores de corrente (sinal do ADC) e a saída dos reguladores alimentados no inversor são mostrados. Em uma célula ao longo do eixo do tempo 4.2ms.

O oscilograma mostra não apenas o ruído, mas também o processo transitório dos reguladores de corrente quando ligado. A corrente é calculada em menos de 1ms, e o transitório está próximo de ser ajustado para um ótimo técnico. O ruído na medição de corrente na ordem de + -0,02A leva a uma alteração na tensão de saída em 20% da corrente, que é ouvida como ruído. Se você diminuir a velocidade dos reguladores 10 vezes, poderá obter a seguinte imagem:


Fig. 13. O oscilograma do processo transitório do salto na tarefa (1A) dos reguladores de corrente com 10 Kp e Ki subestimados em relação à configuração técnica ideal. Em uma célula ao longo do eixo do tempo 4.2ms.

Os controladores atuais ficaram macios e silenciosos, como o algodão, e não estão absolutamente interessados ​​em responder a algum ruído no canal analógico - bem como em suas próprias tarefas ...

Além disso, o vídeo mostra vários sons do controlador de posição. Existem muitas experiências lá, mostrarei o último caso - auto-oscilações com um controlador de posição Kp excessivamente alto. Como o sensor de posição é incremental, com um KP grande, uma mudança de posição em apenas uma marca deixa o controlador "louco" muito nervoso, jogando a tarefa no loop de velocidade e, consequentemente, na corrente. Algo assim:


Fig. 14. Auto-oscilações do contorno da posição com Kp excessivamente alto. Violeta e vermelho indicam a corrente do estator em formação de momento (referência e atual), azul - posição do codificador em marcas (incrementos), azul - saída do controlador de posição (referência ao loop de velocidade).

Pode-se observar que, ao alterar a posição por apenas uma marca (uma “marca” do sensor de posição), o sistema de controle lança a referência atual em 0,3A. Este é um ponto considerável, dada a classificação do motor de 5A, que leva ao início do movimento e, consequentemente, a flutuações. O vídeo mostra como soam as oscilações “assustadoras”, embora a posição salte uma marca inofensiva para frente e para trás.

Nesse sentido, surge uma questão filosófica: quais vibrações e ruídos são terríveis e quais não valem a pena prestar atenção? Tudo depende do objeto - onde o servo é usado. Se esta é uma máquina de três coordenadas com uma caixa de marchas e folgas, um braço manipulador para soldagem ou um servo acionamento de alta velocidade de algum mecanismo de direção, então o “toque” não é tão terrível lá. Nessas aplicações, é apenas o ruído acústico que pode causar insatisfação, mas quase nada mostrado no vídeo afetará o processo técnico. Mas se for um acionamento direto para posicionar qualquer substrato em uma fábrica de silício ou se for um acionamento direto para um microscópio, não haverá ruído da palavra. Não apenas os rangidos do loop de posição do codificador, mas mesmo esse ruído quase inaudível do loop atual já pode ser um problema.Porque tudo isso é transmitido ao corpo de trabalho e levará a uma violação da tecnologia do processo.

Sim, devo dizer que todos os sons mostrados no vídeo não são apenas sons. Se você agarrar o eixo, todos sentirão e muito bem. Os dedos humanos são muito sensíveis - muito melhores do que muitos sensores. Mesmo esse ruído de "água corrente" dos reguladores atuais é sentido. Assim como em um cano de água. Portanto, para tarefas servo que interagem com seres humanos, ruídos e vibrações também são indesejáveis. Imagine um simulador de avião com um cockpit inclinado, onde as unidades embaixo dele esmagam e gemem.

Como lidar com o barulho? Bem, com o contorno da posição mais ou menos claro - você precisa colocar um sensor mais preciso. O codificador dessas experiências com 1000 tags é o sensor "galinhas para rir" no campo de servo de alta precisão. Se eles colocarem um codificador, então cerca de cem mil marcas. E, mais frequentemente, eles colocam um sensor de posição analógico, que fornece um sinal seno / cosseno. Usando um bom ADC e superamostragem (medindo com muito mais frequência do que o necessário e, em seguida, calculando a média do resultado), você pode obter uma ordem de magnitude de precisão maior que o codificador.

O que fazer com o ruído ADC no loop atual? Primeiro, procure uma fonte de ruído. Neste inversor, foi encontrada uma fonte de ruído - isto é DC / DC, tornando o instrumento 5V a partir da fonte de alimentação de entrada e montado na placa do inversor. A fiação da placa não é totalmente bem-sucedida e o DC / DC "fonit" para todas as faixas da placa que passam. O ADC do microcontrolador em si é muito menos barulhento que o ruído deste DC / DC. Em segundo lugar, a mesma superamostra pode ser usada se o desempenho do ADC permitir isso. Em terceiro lugar, você precisa escolher a faixa de medição correta. Trabalhei com um motor 5A a partir de um conversor 60A. Consequentemente, toda a gama do ADC para medir corrente também é próxima de 60A. Se o alcance fosse 20A, o mesmo ruído no canal analógico após a conversão para ampères seria três vezes menor.

Mas o barulho do ADC não é tudo. Não mostrei no vídeo um dos ruídos principais que não é audível - o ruído do PWM. A frequência do PWM nessas experiências foi definida como igual a 20 kHz - na fronteira da audibilidade. Mas isso não significa que essas vibrações não sejam transmitidas ao eixo do rotor. É necessário medir a ondulação da corrente no motor causada por uma determinada frequência PWM, recalculá-la no momento e, em seguida, já é possível avaliar se ela “passará” para o eixo ou não. A Figura 15 mostra a corrente de ondulação na fase do motor, medida por um sensor externo e um osciloscópio.


Fig. 15. Ondulação de corrente na fase do motor a uma frequência PWM de 20 kHz. A magnitude da ondulação é de 0,3A.

A ondulação atual em 0.3A é bastante significativa. Em vez disso, seria significativo se posicionássemos substratos de silício na fábrica da Intel com esta unidade. Felizmente, isso não brilha especificamente para esses tipos de motores e você pode esquecer o problema. Mas e se você precisar fazer um passeio mais sério? Para iniciantes, você pode aumentar a frequência do PWM. Os transistores modernos de efeito de campo de potência podem fornecer uma frequência de comutação de até 500 kHz. No entanto, existem ... três problemas.

O primeiro problema é que, com o aumento da frequência PWM, a influência do chamado “tempo morto” aumenta (alguns chamam de pausa do tempo morto, mas isso está errado - a corrente flui para lá). Este é o momento em que o transistor inferior do inversor já foi desligado e o superior ainda não foi ligado (e vice-versa). Esse tempo é o mesmo para um tipo de transistor e, como porcentagem do período PWM, torna-se cada vez mais com o aumento da frequência do PWM. O tempo morto distorce a tensão de saída do inversor, adicionando não linearidade aos reguladores de corrente do inversor.

O segundo problema é que, com o aumento da frequência PWM, fica cada vez mais difícil gerar esse mesmo microcontrolador PWM. O microcontrolador faz o PWM usando um timer de hardware que marca por unidade a cada ciclo de clock do microcontrolador. Ao definir a comparação com o timer, o programador escolhe a que horas abrir a tecla. O que acontecerá em um sistema com um microcontrolador a 100 MHz e uma frequência PWM de 500 kHz? Dividimos um pelo outro, obtemos 200 quanta (discretos) de definir o ponto definido. As configurações de 200 voltagens para o PWM não são adequadas "da palavra". Um servo precisa de pelo menos duas ordens de magnitude a mais. Para isso, alguns fabricantes de microcontroladores integram o chamado PWM de alta resolução em seus produtos - eles permitem contar o tempo de abertura principal com uma resolução de tempo várias vezes melhor do que um único ciclo de relógio de microcontrolador.Existe essa possibilidade neste microcontrolador, no entanto, o terceiro problema impede a inclusão de PWM de alta resolução.

O terceiro problema são os sensores de corrente. No inversor utilizado, são do tipo shunt e estão em série com as teclas inferiores do inversor. E isso significa que é possível medir a corrente em fase apenas no momento em que a tecla inferior estiver aberta. E isso significa que a inicialização do ADC deve ser sincronizada com a operação do PWM e a medição deve ser realizada exatamente no momento em que a tecla inferior é aberta. O problema é que os transientes nos circuitos analógicos não têm tempo para terminar, se a frequência PWM for muito alta - a corrente começa a ser medida com um erro. Em geral, tudo é complicado ...

Existe uma maneira fundamentalmente diferente - alguns fabricantes de servoconversores geralmente recusam o PWM e fazem um loop de corrente de hardware no FPGA ou em amplificadores operacionais operando no modo linear e dissipando todo o excesso de energia que o PWM foi projetado para economizar. Mas esta é uma história muito, muito diferente.

Conclusões


Os requisitos para os servos são muito diferentes - alguém precisa de um modo de controle passo a passo para uma simples máquina CNC lenta (o preço de emissão é de motorista + motor alguns milhares de rublos), alguém precisa de tal qualidade para manter a posição que até o ruído do circuito atual se torna um problema. Este artigo “no topo” fala sobre alguns aspectos do trabalho do sistema de regulação subordinada e a qualidade do trabalho do loop de posição, a fim de apresentar ao leitor algo diferente dos conhecidos “stepmen”. A qualidade do servoconversor mostrada nessas experiências é, de fato, muito medíocre, principalmente devido à baixa resolução do sensor de posição do rotor. Ao usar um sensor com boa resolução, a qualidade da regulação aumenta acentuadamente.

Publicidade


Essas experiências foram realizadas no kit de depuração VectorCARD K1921BK01T da NPF Vektor LLC, construído com base no microcontrolador doméstico K1921BK01T do NIIET OJSC (ARM Cortex-M4F, 100 MHz) . O kit de depuração inclui todo o equipamento mostrado no artigo em vídeo, incluindo o software do microcontrolador nos códigos-fonte com este sistema de regulação subordinada de três ciclos, bem como o software para observação de oscilogramas de quaisquer variáveis ​​do sistema de controle.

Links relacionados aos meus outros artigos


Controle vetorial do motor elétrico “on finger”
Métodos para depuração de software de microcontroladores em uma unidade elétrica
Novo microcontrolador doméstico de controle de motor K1921VK01T do OJSC “NIIET”

Vídeo bônus
:

Source: https://habr.com/ru/post/pt392837/


All Articles