FAVORITAR
FecharPlease login

Implementação de um modulador trifásico com a placa NUCLEO-H743ZI

Neste artigo é apresentado a configuração da placa NUCLEO-H743ZI para acionar um módulo de conversor trifásico de SiC, testando as frequências de chaveamento de 18kHz a 30kHz para síntese de corrente senoidal. Algumas considerações para implementação quanto ao PWM e amostragem são apresentadas e o código-fonte do projeto é disponibilizado.

Introdução

Os STM32H7 é a linha mais poderosa da popular família STM32 de microcontroladores de 32 bits baseados em núcleos ARM Cortex-M da STMicroelectronics, estando no topo da categoria de Alto Desempenho. Possui versões single-core (Cortex M7 de 480 MHz ) e dual-core (Cortex M7 de 480 MHz + Cortex M4 de 240 MHz).

Neste artigo é apresentado a implementação de um modulador PWM trifásico, em um inversor com tecnologia SiC, de forma a demonstrar a versatilidade deste microcontrolador em topologias clássicas de conversores de potência em alta frequência de chaveamento (na ordem de centenas de kHz). Com a utilização do CubeIDE, a configuração do microcontrolador é feita de forma rápida e simples permitindo dedicar esforço ao que realmente importa neste tipo de aplicação: o controle digital.

Configuração do modulador e amostragem

Utilizando o conversor buck (apenas para explicação), figura 1, na implementação digital do controlador, comumente utiliza-se o PWM simétrico, onde a portadora é uma onda triangular simétrica, e amostragem realizada com o dobro da frequência do PWM e sincronizada com a base e o topo da moduladora, figura 2. Desta forma consegue-se obter o valor médio do sinal (tensão ou corrente) e a mitigação de ruídos oriundos da comutação do transistor, uma vez que o trigger para acionamento do conversor analógico digital (ADC) ocorra no meio do pulso, isto é, fora do tempo de comutação da chave, conforme a Figura 2.

No dia 25 de Junho de 2024, ocorrerá o “Seminário de Sistemas Embarcados e IoT 2024“, no Holiday Inn Anhembi — Parque Anhembi, São Paulo–SP.

Garanta seu ingresso

conversor trifásico
Figura 1 – Conversor buck.

conversor trifásico
Figura 2 – Formas de onda do modulador PWM, corrente no indutor e sinal de trigger do ADC.

Na Figura 3 é apresentado a topologia do conversor trifásico no qual será implementado o PWM. Neste tipo de topologia, outra observação importante é a configuração dos pulsos complementares do PWM. Os pulsos das chaves pares possuem a lógica invertida dos seus respectivos pulsos ímpares. Todavia, faz-se necessário a adição de um tempo morto (dead-time) entre a comutação das chaves ímpares e as respectivas pares. Esse intervalo de tempo é necessário para garantir que durante o acionamento da chave, a sua respectiva chave complementar já tenha sido bloqueada, evitando um curto-circuito momentâneo no barramento c.c. Esse tempo morto é informado no datasheet do fabricante dos transistores.

conversor trifásico
Figura 3 – Topologia do conversor trifásico com carga indutiva.

Configuração do microcontrolador no CubeIDE

Conforme apresentado anteriormente as premissas necessárias para operação do microcontrolador, agora é a vez de realizar essas configurações nos módulos através do CubeIDE. Serão utilizados os seguintes periféricos/módulos do microcontrolador:

  1. TIM1 para o modulador PWM e fonte do trigger para o ADC;
  2. ADC1 para a amostragem dos sinais de corrente e tensão;
  3. DMA1 para maior performance e automatização do envio dos valores analógicos convertidos para a memória.

 Foram utilizados os seguintes GPIOs para as respetivas funções:

  • PE8 e PE9 canal 1N e 1 do TIM1 para acionamento das chaves 2 e 1; 
  • PE10 e PE11 canal 2N e 2 do TIM1 para acionamento das chaves 3 e 4; 
  • PE12 e PE13 canal 3N e 3 do TIM1 para acionamento das chaves 5 e 6;
  • PF11, PA6 e PB1 entradas analógicas para as correntes de fase;
  • PF12, PA3, PC0 e PA0 entradas analógicas para as tensões de fase e do barramento c.c. (nesta aplicação estão apenas disponíveis e implementadas, mas não foram usadas no código).

A configuração do TIM1 é apresentada na Figura 4, tendo em destaque o Counter Mode para geração da portadora triangular simétrica, o Counter Period para configurar o período do PWM, sendo utilizado a relação: Frequência do clock do contador / ( 2 * Frequência do PWM), Trigger Event Selection responsável por disparar o trigger para o ADC, o Dead Time sendo o tempo definido como X / Frequência do clock do contador e os Idle States dos pulsos quando o canal estiver desabilitado.

conversor trifásico STM32
Figura 4– Configuração do TIM1.

A configuração do ADC é apresentada na Figura 5, tendo em destaque o Scan Conversion para a conversão de uma sequência de canais, End Of Conversion Selection para acionamento do DMA depois da conversão do último canal, Conversion Data Manager para o DMA manipular os dados e a a origem do trigger do ADC em External Trigger Conversion. Na Figura 6 é apresentado a configuração do DMA e o vetor de interrupções do módulo ADC.

Figura 5– Configuração do ADC.

Figura 6– Configuração do DMA e NVIC no módulo ADC.

Códigos desenvolvidos para tratar a interrupção do DMA

No arquivo stm32h7xx_it.c foi adicionado código na função de interrupção do DMA ( DMA1_Stream0_IRQHandler) para verificar se a chamada veio na stream 0 e se foi originada pelo ADC. Depois limpa os flag, chama a função que trata dos valores analógicos no arquivo main.c e seta uma flag para o loop infinito, a fim de informar que há uma amostragem nova e que pode executar o passo de controle.

Os códigos do projeto foram desenvolvidos de forma híbrida: parte em HAL (Hardware Abstract Layer) e a outra em LL (Low Level). As rotinas que demandam maior performance e são executadas com mais frequência (por exemplo, a configuração dos duty cycle dos PWMs) foram realizadas em LL. O código-fonte do projeto todo está disponibilizado neste link.

Resultados

A Figura 7 apresenta o hardware completo utilizado, esta mesma plataforma já foi utilizada e explicada neste vídeo onde foi implementado o mesmo código no microcontrolador TMS320F28379D da Texas Instruments.

conversor trifásico STM32
Figura 7– Setup experimental.

A Figura 8 apresenta as formas de onda da corrente de fase A e B na carga indutiva. Neste ensaio foi utilizada uma frequência de chaveamento de 30 kHz. Frequência na faixa de centenas de kHz utilizando a placa NUCLEO-H743ZI precisaria de otimização nas funções trigonométricas ou a utilização de lookup table, uma vez que a função cosf e sinf demanda da biblioteca math.h demando um recurso considerável.

Figura 8– Formas de onda da corrente na carga indutiva.

Outra funcionalidade que foi adicionada no projeto e que não está aqui representada, mas está no código, é a utilização do DAC para fazer o redirecionamento dos sinais de interesse para fora do microcontrolador (através das saídas analógicas). Isto permite, com a ajuda do osciloscópio, a analisar as resposta do controlador que está sendo implementado.

Conclusões/Considerações Finais

Neste artigo apresentou-se a implementação do PWM trifásico sem controle (em malha aberta) através da placa NUCLEO-H743ZI, sendo possível verificar a disponibilidade dos recursos de hardware do microcontrolador necessários para implementação do modulador, bem como o mecanismo de amostragem para a implementação do controle digital.

Foi demonstrado que através do CubeIDE é possível configurar de forma rápida e fácil os módulos necessários, isto facilita o trabalho do desenvolvedor permitindo que o mesmo se concentre no código do controle. Além disso, através da interface gráfica com os menus listando as opções de configurações para determinados registradores, fica mais prático testar os módulos do microcontrolador.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
Inline Feedbacks
View all comments
Home » Hardware » Implementação de um modulador trifásico com a placa NUCLEO-H743ZI

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link