3.3 Controle Vetorial
3.3.4 Modulações para Controle Vetorial
3.3.4.1 Senoidal
Para resolver o problema da comutação abrupta com o controle trapezoidal, pode-se utilizar a modulação senoidal PWM com portadora triangular, a qual faz nas três fases do motor comparações entre ondas senoidais e triangulares para gerar sinais PWM, como pode ser visto para uma fase na figura abaixo.
Figura 17. Modulação Senoidal (GUPTA 2017) Em que,
V, U e W são tensões de fase,
U+, V+ e W+ são os interruptores superiores do inversor.
Figura 18. Tensão de Barramento referenciada em espaço de vetores (TEXAS INSTRUMENTS, 1998)
Porém ao se analisar a Figura 18. Tensão de Barramento referenciada em espaço de vetores, em que cada aresta do hexágono representa um vetor de tensão e na qual o círculo mais interior representa a tensão que pode ser utilizada com a modulação Senoidal, percebe-se que esta não explora todo o potencial do barramento. Ao analisar a Figura 19, pode-se ver que é preciso utilizar menos o barramento, pois para um determinado ângulo em que o barramento é completamente utilizado, como na imagem da esquerda, na da direita, 𝑉𝑎 ficaria maior que a tensão de barramento para
um próximo ângulo de rotação. Como isso não é factível, os módulos das tensões de fase têm que ser todos diminuídos para que a fonte possa aplicar todos os vetores em todos os ângulos dentro de seus limites.
Figura 19. Vetores de Tensão de Fase com Neutro constante
Então, apesar de reduzir as harmônicas, diminuindo as perdas no ferro do motor, para algumas aplicações ela não é satisfatória pelo fato de não utilizar toda a tensão disponível (GUPTA, 2002).
3.3.4.2 Space Vector Modulation
Diferentemente da modulação Senoidal, a SVM não tenta controlar os sinais trifásicos no referencial estacionário em variáveis naturais (U, V, W), mas sim no bifásico (α, β). Igual a modulação Senoidal, existem oito vetores de posições definidas, visto que sempre há três interruptores conduzindo nesta estratégia, diferentemente do controle Trapezoidal, no qual só existem seis posições definidas para os interruptores. As tensões nas três fases serão, então, consequência da combinação de vetores utilizados e o período conduzindo de cada interruptor (KRISHNAN, 2010). Por exemplo, para se reproduzir o vetor 𝑉̅̅̅̅̅ da Figura 20, deve-𝑟𝑒𝑓
se aplicar os vetores 𝑉̅̅̅̅ 𝑉0, ̅̅̅̅, 𝑉1 ̅̅̅ e 𝑉2 ̅̅̅ cada um por um determinado valor 7
Figura 20. Diagrama de Vetores Espaciais e sequência de comutação por setor. Os vetores para esta modulação e com as respectivas tensões de fase que serão produzidas por cada vetor podem ser vistos na Tabela 3.
Vetor Sw 1 Sw 2 Sw 3 Sw 4 Sw 5 Sw 6 Fase A Fase B Fase C 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 2𝑉𝑑𝑐 3 − 𝑉𝑑𝑐 3 − 𝑉𝑑𝑐 3 2 1 0 1 0 0 1 𝑉𝑑𝑐 3 − 2𝑉𝑑𝑐 3 𝑉𝑑𝑐 3 3 0 1 1 0 0 1 −𝑉𝑑𝑐 3 − 𝑉𝑑𝑐 3 2𝑉𝑑𝑐 3 4 0 0 1 0 1 0 −2𝑉𝑑𝑐 3 𝑉𝑑𝑐 3 𝑉𝑑𝑐 3 5 0 1 0 1 1 0 −𝑉𝑑𝑐 3 2𝑉𝑑𝑐 3 − 𝑉𝑑𝑐 3
Vetor Sw 1 Sw 2 Sw 3 Sw 4 Sw 5 Sw 6 Fase A Fase B Fase C 6 1 0 0 1 1 0 𝑉𝑑𝑐 3 𝑉𝑑𝑐 3 − 2𝑉𝑑𝑐 3 7 1 1 1 1 1 1 0 0 0
Tabela 3. Vetores para acionamento com Space Vector Modulation O valor de referência, 𝑉̅̅̅̅̅, é consequência das ações de controle 𝑟𝑒𝑓
provindas dos controladores, ou seja, após 𝑉𝑑 e 𝑉𝑞 serem calculados. Eles
são posteriormente transformados em 𝑉𝛼 e 𝑉𝛽 pela transformada inversa
de Park e, então, |𝑉̅̅̅̅̅| pode ser calculado como: 𝑟𝑒𝑓
|𝑉̅̅̅̅̅| = √𝑉𝑟𝑒𝑓 𝛼2+ 𝑉𝛽2 (24)
Já o ângulo para definir qual o setor e o tempo de atuação de cada vetor é adquirido por um Encoder ou por um observador. Neste trabalho, foi utilizado somente aquisição de posição por Encoder Incremental. De tal maneira que os tempos de cada vetor podem ser definidos como:
𝑟1= √3 ∙ |𝑉̅̅̅̅̅| ∙ sin(60° − 𝜃𝑟𝑒𝑓 𝑟) (25) 𝑟2= √3 ∙ |𝑉̅̅̅̅̅| ∙ sin (𝜃𝑟𝑒𝑓 𝑟) (26) 𝑟0= 1 − 𝑡1− 𝑡2 (27) 𝑡1= 𝑟1∙ 𝑇𝑠𝑤 (28) 𝑡2= 𝑟2∙ 𝑇𝑠𝑤 (29) 𝑡0= 𝑟0∙ 𝑇𝑠𝑤 (30) Nos quais:
𝑇𝑠𝑤 corresponde ao período de comutação;
𝜃𝑟 é a posição do rotor;
𝑡1 o período em que o vetor ativo 𝑉̅ é aplicado; 1
𝑡2 o período em que o vetor ativo 𝑉̅̅̅ é aplicado; 2
𝑡0 o período em que 𝑉̅̅̅ e/ou 𝑉0 ̅̅̅ são aplicados, nos quais estes são 7
os vetores nulos, ou seja, que nenhuma tensão é aplicada no motor, seja porque todas os interruptores superiores do inversor estão abertos (𝑉̅̅̅) ou 0
conduzindo (𝑉̅̅̅). 7
Para os outros setores as equações devem sofrer algumas variações referentes à alguns sinais. A sequência de acionamento dos interruptores
superiores de um inversor para o setor ilustrado anteriormente está representada na Figura 21.
Figura 21. Sequência de acionamento para Setor 1. Adaptado de Krishnan (2010).
Além das propriedades citadas anteriormente, esta modulação pode utilizar melhor o barramento, sendo representado na Figura 18 pelo círculo exterior. Essa propriedade é alcançada pelo fato de se aproveitar a falta de acesso ao neutro do motor para considerar que ele não é constante, mas sim flutua, de tal forma que a tensão do neutro seja aumentada ou diminuída, como por exemplo na Figura 22.
Figura 22. Flutuação do Ponto Neutro para utilização de SVM.
O resultado dessa flutuação do neutro nas três tensões de fase para um ciclo inteiro pode ser observado na figura abaixo.
Figura 23. Tensões de Fase resultantes para SVM. 3.3.5 Perdas no Controle Vetorial
Como no Controle Vetorial sempre haverá três interruptores conduzindo e somente dois são comutados por vez, em modo complementar, as perdas por condução são descritas como:
𝑃𝑐𝑜𝑛𝑑= 3 ∙ 𝑃𝑐𝑜𝑛𝑑𝑀𝑂𝑆𝐹𝐸𝑇 (31)
Já as perdas por comutação são para a modulação, para senoidal: 𝑃𝑐𝑜𝑚= 6 ∙ 𝑃𝑐𝑜𝑚𝑀𝑂𝑆𝐹𝐸𝑇 (32)
E para o SVM:
4 MODELO MATLAB
A fim de se modelar e comprovar que os controladores desenvolvidos funcionam antes de utilizá-los na prática, foram implementadas em MATLAB dois modelos distintos do motor e seu controle para o Controle Trapezoidal e Vetorial. Estas implementações e suas condições de contorno serão explicadas nas próximas subseções.
Os controladores utilizados neste trabalho são todos do tipo PI e podem ser representados pela Equação 34:
𝐶(𝑠) = 𝐾𝑝+ 𝐾𝑖
𝑠 (34)
Em que,
𝐾𝑝 corresponde ao ganho proporcional;
𝐾𝑖 corresponde ao ganho integral.
4.1 Controle Trapezoidal 4.1.1 Condições de Contorno
Para esta metodologia de controle, o modelo do motor foi implementado com embasamento no sistema de referência trifásico e estacionário descrito na Equação 2 para ser resolvido numericamente pelo método de Runge-Kutta. Como no Controle Trapezoidal há sempre a extinção de corrente em uma das fases, idealmente ela deveria se extinguir instantaneamente, no entanto, como podemos ver no circuito da Figura 5, existe a indutância do motor, sem falar nas capacitâncias e indutâncias parasitas em um circuito real, as quais não permitem a extinção instantânea da corrente. De tal maneira que se uma fase que antes conduzia tiver o seu interruptor comandado a abrir, a corrente circulará pelo diodo anti-paralelo de outro interruptor do mesmo braço até que haja a extinção da corrente naquela fase para que a outra comece a conduzir. Este processo pode ser visto na Figura 24.
Figura 24. (a) Condução das Fases B e C. (b) Abertura da Fase C e condução pelo diodo anti-paralelo até extinção da corrente. (c) Entrada em condução das
Fases A e B.
Para simular este comportamento no MATLAB, os interruptores foram modelados como resistores que assumem dois valores distintos de acordo com a situação. Quando o interruptor conduz a resistência tem valor bem baixo e quando está aberta valor bem alto, na simulação foram considerados 10𝑚Ω e 5𝑀Ω, respectivamente. Porém, se o interruptor de cima e de baixo estiverem comandados a estarem abertos, o programa verificará se o diodo anti-paralelo está polarizado diretamente, se estiver, então o resistor correspondente a este interruptor será caracterizado como em condução até a extinção da corrente na fase para caracterizar a condução pelo diodo anti-paralelo.
Segundo Baratieri (2011), após aplicar a Lei de Kirchhoff das Tensões nas malhas RLE que representam o motor, as equações podem ser reorganizadas e agrupadas em vetores de estado para resolver o sistema numericamente, como em:
𝑑 𝑑𝑡[ 𝑖𝑎 𝑖𝑏 𝑖𝑐 ] = 3∙𝐿1 ∙ ([ −2(𝑘1+ 𝑅𝑠) 𝑘2+ 𝑅𝑠 𝑘3+ 𝑅𝑠 𝑘1+ 𝑅𝑠 −2(𝑘2+ 𝑅𝑠) 𝑘3+ 𝑅𝑠 𝑘1+ 𝑅𝑠 𝑘2+ 𝑅𝑠 −2(𝑘3+ 𝑅𝑠) ] ∙ [ 𝑖𝑎 𝑖𝑏 𝑖𝑐 ] + [ 2𝑘4− 𝑘5− 𝑘6 −2 −𝑘4+ 2𝑘5− 𝑘6 1 −𝑘4− 𝑘5+ 2𝑘6 1 1 1 −2 1 1 −2 ] ∙ [ 𝑉𝑑𝑐 𝐸𝑎 𝐸𝑏 𝐸𝑐 ]) (35)
𝑘1= 𝑟1𝑟2 𝑟1+𝑟2 (36) 𝑘2= 𝑟3𝑟4 𝑟3+𝑟4 (37) 𝑘3= 𝑟5𝑟6 𝑟5+𝑟6 (38) 𝑘4= 𝑟2 𝑟1+𝑟2 (39) 𝑘5= 𝑟4 𝑟3+𝑟4 (40) 𝑘6= 𝑟6 𝑟5+𝑟6 (41) Onde,
𝑟1 é a resistência do interruptor 1 (Sw 1) da Figura 5;
𝑟2 é a resistência do interruptor 2 (Sw 2) da Figura 5;
𝑟3 é a resistência do interruptor 3 (Sw 3) da Figura 5;
𝑟4 é a resistência do interruptor 4 (Sw 4) da Figura 5;
𝑟5 é a resistência do interruptor 5 (Sw 5) da Figura 5;
𝑟6 é a resistência do interruptor 6 (Sw 6) da Figura 5.
Lembrando que essas resistências podem assumir dois valores dependendo da condição de operação.
Ainda, foi considerado inicialmente nas simulações BEMFs ideais, porém após a validação do modelo, foram implementadas as BEMFs não ideais para se ter uma representação mais próxima a real do comportamento do motor.
Como é um motor síncrono, o motor partiu primeiro com controle escalar V/F até uma tensão de aproximadamente 10V e velocidade de 200 RPM por 4 segundos até a sincronização da corrente e após houve inicialização dos controladores e comutação para o controle em questão.
O código implementado no MATLAB pode ser visto no APÊNDICE B – Código MATLAB para Controle Trapezoidal
4.1.2 Cálculo do Controlador
O projeto do controlador visa ter tempo de resposta a 95% de dois segundos e erro nulo em regime permanente.
Como citado anteriormente, nesta topologia de controle, somente duas fases conduzem em um determinado instante de tempo, então para o cálculo do controlador, considerou-se que o motor em questão é um CC com escovas, de tal maneira que a resistência, indutância e BEMF deste motor são iguais ao dobro do motor BLDC. Um motor CC com escovas é caracterizado pelas seguintes equações:
𝐽𝑑𝜔𝑟
𝑑𝑡 + 𝐵𝜔𝑟= 𝑇𝑒= 𝑘𝑡𝑖 (42)
𝐿𝑑𝑖
𝑑𝑡+ 𝑅𝑖 + 𝐸 = 𝑉 (43)
Após efetuar as transformadas de Laplace e reorganizar Equação 42 e Equação 43, obtém-se a seguinte planta:
𝐺_𝑜𝑙(𝑠) =𝜔(𝑠)
𝑉(𝑠)=
𝑘𝑡
(𝐽𝑠+𝐵)(𝐿𝑠+𝑅)+𝑘𝑡2 (44)
Ao substituir os valores definidos na Tabela 1. Parâmetros do motor utilizado, lembrando que alguns fatores devem ser multiplicados por dois, tem-se o sistema em malha aberta como:
𝐺_𝑜𝑙(𝑠) =(1+0.03668𝑠)(1+0.025139𝑠)0.718 (45)
Para a malha fechada utilizando um controlador PI e o método de cancelamento de polos descrito em SILVA (2015) com o polo a ser cancelado igual à 0.03668 e considerando que 𝐾𝑖 =
𝐾𝑝 0.03668, tem-se: 𝐺_𝑐𝑙(𝑠) = 1 1+0.0368𝑠 0.718𝐾𝑝 + 0.0009243𝑠² 0.718𝐾𝑝 (46)
Comparando a Equação 46 com a forma canônica de um sistema de segunda ordem descrito na Equação 47.
1 +2𝜁 𝜔𝑛+ 1 𝜔𝑛2 (47) Tal que, 𝐾𝑝= 0.03668 0.025139∙0.718∙(2𝜁)² (48)
Tal qual 𝜁 é o coeficiente de amortecimento esperado e foi considerado com valor igual à 3.5 para que se tenha uma resposta ao degrau de até dois segundos, obteve-se o valor de 𝐾𝑝 = 0.04147 e 𝐾𝑖=
4.1.3 Simulações
Nesta subseção as diversas simulações referentes ao Controle Trapezoidal serão analisadas e comparadas com a resposta encontrada nos testes.
Como pode ser visto nas Figura 25 e Figura 27, a resposta à 95% para diferentes degraus foi menor do que 2 segundos, o que valida o controlador pela simulação com o modelo desenvolvido.
Ao ser dado um degrau de torque de 0.2 N.m, na simulação o sistema demorou 1.68 segundos para atingir o regime permanente, como pode ser visto na Figura 25, porém ao analisar a resposta ao mesmo degrau na prática, percebe-se pela Figura 26 que o tempo de resposta a 95% é de 7 segundos (começando em 17 segundos e terminando em 24 segundos).
Figura 26. Teste de resposta ao degrau de torque 0.2 N.m
O mesmo ocorre quando se analisa a resposta ao degrau de velocidade aplicado quando o motor estava a 400 RPM e indo até 1600 RPM, em que na simulação pela Figura 27, tem-se tempo de resposta de 1.889 segundos, enquanto que na prática pela Figura 28 tem-se 8 segundos aproximadamente.
Figura 27. Simulação da resposta ao degrau de velocidade de 400 RPM para 1600 RPM
Figura 28. Teste de resposta ao degrau de velocidade de 400 RPM para 1600 RPM
Esta variação é observada, pois apesar de o coeficiente de atrito ter sido calculado para o ponto de referência 1600 RPM com 0.2 N.m no dinamômetro, como pode ser visto no APÊNDICE A – Cálculo do Coeficiente de Atrito, o coeficiente de inércia não foi medido da mesma maneira, mas sim disponibilizado pelo desenvolvedor do motor, sem considerar a dinâmica do dinamômetro, causando, assim, uma variação do coeficiente utilizado no modelo implementado para o que se tem na prática, porém como o erro em regime permanente é nulo, manteve-se tal controlador.
Na Figura 29, as BEMFs de fase não ideais são representadas, possuindo defasamento menor do que 120º e possuindo um platô em zero por determinados intervalos de tempo.
Figura 29. BEMFs não ideais em regime permanente
Já na Figura 30, Figura 31 e Figura 32 pode-se concluir que o modelo implementado está correto e condizente quando se diz respeito as formas de onda das correntes, visto que elas possuem mesmo formato e aproximadamente valor máximo de 500 mA, visto que a escala do osciloscópio é 500 mA/div.
Figura 31. Correntes de Fase em regime permanente retiradas do Osciloscópio
Figura 32. Corrente de Fase retirada do Osciloscópio
Nas Figura 33 e Figura 34 é possível ver o padrão de comutação utilizado, denominado Standard, e mostrá-lo junto às BEMFs concluindo que eles estavam em fase e cada interruptor era acionado no momento certo.
Figura 34. Acionamento em fase com as BEMFs
Na Figura 35 é possível ver a oscilação causada no torque eletromagnético por causa das harmônicas injetadas pela extinção das correntes de fase.
Figura 35. Torque Eletromagnético para Controle Trapezoidal 4.2 Controle Vetorial
4.2.1 Condições de Contorno
Como dito anteriormente, diferentemente do Controle Trapezoidal, o Controle Vetorial, via de regra, possui sempre as três fases conduzindo,
evitando as extinções abruptas de corrente. Então, para facilitar a implementação do modelo deste tipo de controle, o inversor de frequência foi abstraído e as tensões de referência geradas pelos controladores foram aplicadas diretamente no modelo após serem realizadas as transformadas necessárias.
Devido à estrutura de controle utilizada, malha interna e malha externa, uma não deve interferir na operação da outra, de tal maneira que se define que a malha interna deve operar com dinâmica mais rápida do que a externa, sendo que a primeira foi definida para ter banda passante de aproximadamente 150 rad/s e a segunda foi definida para ser menor que 10 rad/s. Para o correto funcionamento dos controladores foi considerado para a simulação que o modelo do motor operasse com período de 1μs, os controladores das correntes de eixo em quadratura e direto em 200μs e o controlador de velocidade em 2ms.
Inicialmente para validar o modelo, foram consideradas BEMFs senoidais, as quais foram depois substituídas pelas trapezoidais não ideais. Nesta simulação foram consideradas a modulação senoidal e a SVM.
Como é um motor síncrono, o motor partiu primeiro com controle escalar V/F até uma tensão de aproximadamente 10 V e velocidade de 200 RPM por 4 segundos até a sincronização da corrente e após houve inicialização dos controladores e comutação para o controle em questão.
O código implementado no MATLAB pode ser visto no APÊNDICE B – Código MATLAB para Controle Trapezoidal