minhas informações de contato
Correspondência[email protected]
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Seção anterior , através da derivação do SVPWM, ganhamos a capacidade de controlar qualquer força no rotor do motor. Nesta seção, escolhemos a forma SVPWM de desacoplamento do eixo dq do rotor obtida na seção anterior para controlar razoavelmente a força do rotor e atingir o objetivo final do controle do motor FOC: controle de posição, velocidade e corrente.
As pessoas que lêem esta seção provavelmente entendem o controle PID (proporção proporcional, integral integral, diferencial derivado), que também é limitado pela minha capacidade. Não darei uma explicação completa aqui, nem envolverei métodos de controle avançados.
Quer se trate da posição, velocidade ou corrente do motor, todos podem ser considerados parâmetros controlados.
De uma perspectiva intuitiva, quando o valor em tempo real de um parâmetro controlado é menor que o valor alvo, é necessário aplicar uma força externa para aumentar o parâmetro controlado. Se a força externa aplicada for muito grande, o parâmetro controlado será ultrapassado, fazendo com que a amplitude de oscilação do parâmetro controlado próximo ao valor alvo se torne cada vez maior; se a força externa aplicada for muito pequena, o parâmetro atingirá o valor alvo; muito lentamente. Portanto, é necessário obter uma força externa adequada para que os parâmetros controlados não oscilem cada vez mais violentamente e a velocidade de ajuste não seja muito lenta. Dessa ideia de controle intuitiva vem o P no PID. Ao usar simplesmente o controle P, defina o tamanho da força externa = a diferença entre o parâmetro controlado e o valor alvo * Coeficiente P. É muito intuitivo dizer que quanto maior a diferença, maior será a força externa exercida. Se o coeficiente P for definido como relativamente pequeno, embora o parâmetro controlado não oscile o tempo todo e possa estabilizar lentamente até o valor alvo, a velocidade de ajuste é muito lenta. Neste momento, o controle D do PID pode ser adicionado para fazer o ajuste. parâmetro controlado oscila originalmente.
Vamos pensar no controle D de uma perspectiva intuitiva Quando o parâmetro controlado se aproxima ou passa do valor alvo sob controle P puro, uma força de correção na direção oposta à velocidade ajuda o parâmetro controlado a frear próximo ao valor alvo, permitindo que o parâmetro controlado se mova. freio. Encolher para o valor alvo mais rapidamente. Esta força de correção na direção oposta à velocidade é o controle D. Depois de adicionar o controle D, o tamanho da força externa de controle = a diferença entre o parâmetro controlado e o valor alvo * Coeficiente P velocidade do parâmetro controlado * Coeficiente D. Ao usar o controle D puro, como a velocidade do parâmetro controlado é 0 no estado inicial, o parâmetro controlado não receberá força externa. Também pode ser visto que o controle P fornece força externa e o controle D restringe a força externa. Se o coeficiente D for escolhido muito grande, uma pequena velocidade pode causar uma enorme força externa; se o coeficiente D for escolhido muito pequeno, não será suficiente para restringir a força externa da produção de controle P, e os parâmetros controlados serão lentos; estabilizar.
Vamos pensar no controle I de uma perspectiva intuitiva. Quando há uma carga no parâmetro controlado, a força externa fornecida pelo controle P simples pode não ser suficiente para suportar a carga. o parâmetro controlado e o valor alvo ao longo do tempo, a potência necessária para o parâmetro controlado atingir o valor alvo quando há uma carga pode ser obtida. Este mecanismo é eu controle. Depois de adicionar o controle I, o tamanho da força externa de controle = a diferença entre o parâmetro controlado e o valor alvo * Coeficiente P, a velocidade do parâmetro controlado * Coeficiente D, a diferença entre o parâmetro controlado e o valor alvo acumula ao longo do tempo * I coeficiente.
Ao controlar o motor, sem circunstâncias especiais, uma vez que o eixo d não contribui para a rotação do motor, o controle pid só pode controlar a força do eixo q, e o eixo d pode ser controlado ou a saída pode ser definido diretamente como 0.
No controle de velocidade e controle de corrente, limitado pela precisão e frequência da amostragem, a velocidade e a corrente são instáveis e mudam rapidamente. Por exemplo, a figura a seguir é um valor calculado diretamente da velocidade do motor. Existem muitos dentes de serra e flutuam em torno do valor real. . Se tal valor for usado diretamente, a saída do PID flutuará bastante.
A imagem abaixo mostra que após a filtragem fica mais próximo do valor real: Existem muitos métodos de filtragem, como filtragem passa-baixa e filtragem de Kalman. A essência é estimar um valor próximo ao valor real em dados misturados com ruído. Como a filtragem é um tópico muito extenso, o princípio não será explicado nesta seção. Você pode visualizar o código diretamente na parte prática subsequente. Apenas lembramos que os cálculos de filtragem precisam ser realizados antes de inserir o controlador PID.
A posição refere-se ao ângulo. Deve-se notar que existem dois ângulos físicos, um é o ângulo do motor e o outro é o ângulo do rotor. O codificador do motor é instalado na carcaça do rotor, de modo que o codificador obtém o ângulo da carcaça do rotor, e o rotor fica localizado dentro. Como a carcaça do rotor e o rotor são fixos um ao outro, há um deslocamento fixo entre os dois ângulos. Ao instalar, o codificador O grau zero do dispositivo não pode estar exatamente voltado para o ímã permanente do rotor. O ângulo do codificador é fornecido pelo codificador e o ângulo do rotor também pode ser conhecido. Como obter este deslocamento fixo será explicado na parte prática subsequente. Nesta seção, você só precisa completar a parte teórica do cálculo. O vetor magnético resultante atua sobre o ímã permanente do rotor, portanto o cálculo teórico é baseado no ângulo do rotor.
Existem dois métodos para obter o controle da posição do rotor:
método pid:
A ideia intuitiva é usar o eixo q do rotor para puxar continuamente o rotor para a esquerda e para a direita. Quando o rotor se desviar da posição alvo, aplique uma força reversa no eixo q para puxar. a força de tração e o rotor retorna à posição alvo.
Vantagens: O eixo q pode fornecer maior força e o controle de posição é mais rápido e poderoso.
Desvantagens: Como o eixo q é 90 graus diferente do vetor magnético do ímã permanente do rotor, a posição (ângulo) do rotor em tempo real precisa ser conhecida.
Como a posição do rotor em tempo real é fácil de obter com um encoder, o pid é usado para controlar a posição na maioria dos casos.
O diagrama de blocos de controle FOC de um local separado é mostrado abaixo. O que a imagem significa é inserir uma posição alvo, calcular a diferença com o ângulo calculado pelo codificador e, em seguida, inserir o controlador pid para controlar apenas a intensidade do eixo q do rotor, a intensidade do eixo d é definida diretamente como 0 e finalmente, a intensidade do eixo dq (0 ~ 1) é inserida na função SVPWM derivada anteriormente e a saída é o ciclo de trabalho pwm do braço da ponte uvw.O que deve ser observado aqui é a posição alvo de entrada θ em theta_{in}θemPode ser o ângulo do rotor ou o ângulo do encoder ou o ângulo multivoltas, desde que esteja relacionado ao feedback θ tetaθBasta manter o mesmo ângulo.
Arraste forçado do eixo D:
A ideia central é controlar artificialmente a bobina para gerar um vetor magnético da bobina alvo, e o eixo d do ímã permanente será atraído para a posição alvo. Observe que este método atrai o eixo d para a posição alvo.
Vantagens: Como a posição alvo é gerada, não há necessidade de conhecer o ângulo do rotor, o rotor será naturalmente atraído por ela.
Desvantagens: O componente da força tangencial é pequeno e uma leve força externa tangencial pode fazer com que o rotor saia obviamente da posição.
Não é apropriado usar o método de arrasto do eixo d para controle de velocidade, porque o objetivo do arrasto do eixo d não é usar um codificador. Sem os dados do codificador, é difícil calcular a velocidade. O controle de velocidade pode usar o método de controle pid, mas como o valor da velocidade muda relativamente instável durante a rotação do motor e o controle D é proporcional à mudança do parâmetro controlado, geralmente apenas o controle PI é usado.
O método de cálculo da velocidade é muito simples, ou seja Ângulo atual - Último ângulo registrado Δ t frac{Ângulo atual - Último ângulo registrado}{Delta{t}}Δparaângulo atual−Último ângulo registrado。
O controle de velocidade pode ser alcançado inserindo a diferença entre a velocidade alvo e a velocidade em tempo real no controle PI.
O diagrama de blocos de controle FOC de velocidade individual é mostrado abaixo.
A corrente do motor representa o torque. Após a força do rotor ser desacoplada do eixo dq, verifica-se que apenas o eixo q contribui para a rotação do motor, e apenas o eixo q gera torque. Portanto, apenas a corrente do eixo q precisa ser controlada para. controlar o torque do motor. Se a corrente do eixo d também for controlada, a taxa de utilização da corrente do motor pode ser melhorada, a geração de calor pode ser reduzida e a saída máxima de torque do motor pode ser aumentada.
Obtenha a corrente do motor:
O eixo dq do rotor é um conceito abstrato, que é usado para facilitar o desacoplamento da força do rotor. A corrente do eixo dq não pode ser detectada diretamente. A corrente que pode ser detectada diretamente é a corrente no circuito da linha de fase do motor. a corrente pode ser calculada com base na corrente da linha de fase obtida.
Existem muitas maneiras de detectar a corrente da linha de fase. Os dois métodos mais comuns são: 1. A detecção de corrente é colocada entre os tubos de alimentação do braço superior e inferior da ponte, o que é chamado de detecção online. 2. A detecção de corrente é colocada entre o antebraço e o GND, o que é chamado de detecção do lado inferior.
devido a um nó流出电流 流入电流=0
, portanto, apenas duas unidades de detecção de corrente são necessárias para linhas trifásicas. No entanto, é melhor usar três unidades de detecção de corrente para detecção do lado inferior, porque quando o ciclo de trabalho pwm de um determinado braço da ponte for 1 ou próximo de 1, não haverá corrente passando pelo braço inferior da ponte ou a corrente irá será instável e as linhas trifásicas apenas A unidade de detecção de corrente restante pode coletar corrente normalmente. Depois de haver três unidades de detecção de corrente, todas as três unidades de detecção de corrente podem ser selecionadas de acordo com o dever. ciclo, e o outro é calculado assumindo que a soma das correntes é 0. A detecção online não apresenta esse problema, pois não importa se o braço inferior da ponte está fechado ou não, sempre há corrente fluindo pela linha de fase. Como a tensão na posição de detecção on-line é relativamente grande, a unidade de detecção de corrente para detecção on-line precisa ser capaz de suportar uma tensão grande e é relativamente cara.
Depois de obter as correntes de linha trifásicas, encontre uma maneira de convertê-las em correntes no eixo dq.A corrente da linha de fase pode ser projetada no eixo dq, de modo que a corrente do eixo dq possa ser obtida diretamente. No entanto, o método principal da corrente é primeiro projetar o eixo dq no eixo dq. α alfaαEixo e β betaβeixo (esta etapa é chamada de transformação de Clark) e, em seguida, α alfaαEixo e β betaβA corrente do eixo é projetada no eixo dq (esta etapa é chamada de transformação de parque), pois será utilizada em posição mais avançada sem sensor FOC α alfaαEixo e β betaβcorrente do eixo.
transformação de Clark:
A corrente trifásica Eu u, eu v, eu w Eu_u,eu_v,eu_wEUvocê,EUvocêocêocêocêocê,EUcProjeto para Eu α , Eu β Eu_alfa,Eu_betaEUα,EUβComo pode ser visto pela relação geométrica na figura abaixo, a expressão de projeção é:
{ Eu α = Eu u − Eu v ∗ cos 6 0 ° − Eu w ∗ cos 6 0 ° Eu β = Eu v ∗ cos 3 0 ° − Eu w ∗ cos 3 0 °{EUα=EUvocê−EUvocêocêocêocêocê∗porque60grau−EUc∗porque60grauEUβ=EUvocêocêocêocêocê∗porque30grau−EUc∗porque30grau
{EUα=EUvocê−EUvocêocêocêocêocê∗porque60°−EUc∗porque60°EUβ=EUvocêocêocêocêocê∗porque30°−EUc∗porque30°
transformação do parque:
Vai Eu α , Eu β Eu_alfa,Eu_betaEUα,EUβO eixo é projetado no eixo dq (na verdade multiplicado por uma matriz de rotação). Como pode ser visto na relação geométrica na figura abaixo, a expressão de projeção é:
{ Eu d = Eu α ∗ cos θ Eu β ∗ sin θ Eu q = − Eu α ∗ sin θ Eu β ∗ cos θ{EUe=EUα∗porqueθ EUβ∗pecadoθEUq=−EUα∗pecadoθ EUβ∗porqueθ
{EUe=EUα∗porqueθ EUβ∗pecadoθEUq=−EUα∗pecadoθ EUβ∗porqueθ
O gráfico de controle FOC de uma única corrente é mostrado abaixo. Como a mudança de corrente é relativamente instável, o controle D relacionado à velocidade de mudança do parâmetro controlado geralmente não é usado aqui, apenas o controle PI é usado.
Se houver tal requisito: ao controlar a posição, especifique a velocidade máxima e a corrente máxima quando o motor retornar à posição ou ao controlar a velocidade, especifique a corrente máxima quando o motor atingir a velocidade alvo, então você precisa usar; o controle de nível de string de posição-velocidade-corrente. O controle em cascata aqui não controla o motor para atingir um determinado valor de corrente ou valor de velocidade, mas exige que o motor atinja o valor máximo de corrente ou valor máximo de velocidade durante o processo de controle, pois é impossível manter o motor em uma posição. Existe velocidade ou existe corrente.
Controle em cascata significa que a entrada da malha de controle de corrente é a saída da malha de controle anterior. Tomando como exemplo o controle de posição em cascata, o diagrama de blocos de controle é:
A parte teórica acabou. Obtivemos o método de cálculo do SVPWM e o processo de controle de posição, velocidade e corrente. Porém, encontraremos vários problemas na prática, como a sequência de linhas de fase e. Dever pwm Em comparação com a forma de implementação, tempo de amostragem atual, configuração de periféricos, etc., a seguinte parte prática usa o rei ultra-comum de chip único e econômico: ferramentas smt32f103c8t6 e stm32cube, sem usar a biblioteca de motores, para alcançar a conclusão. Controle FOC do zero.