Ponte H com bootstrap para acionamento de motores DC

ponte h

Introdução

Neste artigo vamos abordar alguns tópicos sobre acionamento de motores DC utilizando ponte H. Parte deste artigo, bem como o circuito e códigos exemplo, foram desenvolvidos pelos alunos Luigi, Luiz e Cristiano da Unifei que estão também com um projeto de desenvolvimento de uma placa dedicada utilizando drivers de acionamento em topologia bootstrap. Eles colocaram o projeto no cartase em busca de financiamento para dar continuidade nesta ideia. Vale a pena conferir os detalhes do projeto.

Ponte H

A ponte H é um arranjo, em forma de “H”, de chaves que serve para inverter a polaridade de uma carga sem a necessidade de utilizar uma fonte simétrica. Tal arranjo é muito utilizado para acionamento de motores DC de modo bastante simples.

Figura 1 - Ponte H: Arranjo de chaves em H

O funcionamento da ponte H é bastante simples: fechando-se as chaves S1 e S4 tem-se o motor rodando em um sentido. Já com as chaves S3 e S2 acionadas, o sentido do fluxo da corrente sobre o motor é invertido, fazendo com que a rotação do motor também se inverta. Estes são os acionamentos convencionais.

Além destes dois acionamentos, há alguns estados bastante úteis: ligando-se S1 e S3 ou S2 e S4 pode-se gerar o efeito de freio motor, que permite reduzir o tempo de frenagem do motor sem necessidade de utilização de freios mecânicos convencionais.

Dentre todas as combinações de acionamentos, algumas não devem ser efetuadas, mais especificamente o acionamento das chaves S1 e S2, S3 e S4 ou até as quatro chaves ao mesmo tempo. Nestes acionamentos ocorre o efeito de shoot-trough, que na maioria dos casos leva o circuito à sua destruição devido ao curto entre VCC e GND.

Acionamento correto da ponte H

Uma solução para prevenir o acionamento indesejado é utilizar um circuito dedicado que contenha proteção para estas situações. Os circuitos de acionamento são chamados de drivers, alguns já possuindo a função de prevenção contra shoot-trough. Um modelo interessante é o IRS2184. Ele é um driver para FETs ou IGBTs que faz a proteção contra o acionamento de ambas as chaves de um mesmo ramo, evitando o surto de corrente e a possível queima do circuito.

O funcionamento das saídas do driver que acionam as chaves é regido pelas entradas IN (input) e SD (shutdown), sendo que a última possui lógica invertida. Os estados lógicos do driver são apresentados na tabela:

Tabela 1 - Tabela verdade do IRS2184
Tabela 1 - Tabela verdade do IRS2184

O IRS2184 opera com uma topologia de bootstrap. Um modo de utilizar o driver quando em pares, empregado principalmente no acionamento de motores DC, é o capacitor carregar-se através da chave inferior do lado oposto da ponte em que o driver está conectado.

No primeiro estágio desse modo, quando a chave inferior oposta está fechada e a superior aberta, uma corrente circula da alimentação, através do diodo e da chave inferior oposta carregando o capacitor. No segundo estágio, para a chave superior ser fechada, o capacitor é conectado em paralelo ao o gate e source. Isto faz com que em qualquer situação a tensão no gate da chave seja sempre VCC-Vd Volts maior que a tensão no source, o que garante que a tensão Vgs seja suficiente para acionar o FET.

Figura 2 - Sentido de correntes no capacitor no circuito de bootstrap
Figura 2 - Sentido de correntes no capacitor no circuito de bootstrap

O problema com essa topologia é que não é possível manter o transistor superior ligado por tempo indefinido por causa do descarregamento do capacitor. Para operar, portanto, é necessário manter o estado da chave superior alternando entre ligado e desligado. Opta-se como solução utilizar uma saída PWM para o SD, que além de manter o funcionamento do circuito bootstrap, também permite o controle de velocidade.

Utilizando um par de drivers, para a ponte completa e levando em conta que para o circuito de bootstrap funcionar deve ser aplicado um acionamento PWM nos transistores superiores, obtém-se a seguinte tabela de acionamento:

Tabela 2 - Estados do motor em relação às entradas do IRS2184
Tabela 2 - Estados do motor em relação às entradas do IRS2184

Nota-se pela tabela que não existe estado que leve o sistema a estados inseguros.

Código de exemplo

Para exemplificar o uso correto da ponte empregando o controle PWM foi desenvolvido um código exemplo para o PIC18F1330 com o compilador XC8. Um dos drivers foi conectado aos pinos 17 (IN) e 10 (SD). O segundo driver foi conectado ao pinos 18 (IN) e 11 (SD). Para facilitar o acesso foi criada uma função para acionar os pinos.

void bridge_side_set(unsigned char side);

void main(void){
    unsigned char delay_aux;
    OSCCON |= 0x73; // oscilador interno em 8MHz
    TRISB = 0x00;   // PORTB como saída
    PORTB = 0x00;
    pwm_init();  
    pwm_duty_set(8192);  // configura o duty-cicle para 50%
    for(;;){
        bridge_side_set(0);  // muda para a direção 0
        for(delay_aux = 0; delay_aux < 20; delay_aux++) __delay_ms(49);
        bridge_side_set(1);  // muda para a direção 1
        for(delay_aux = 0; delay_aux < 20; delay_aux++) __delay_ms(49);
    }
}

void bridge_side_set(unsigned char side){ //ponte H
    if(!side) { //sentido "0"
        POUT2 = 1; // valor de override da entrada do driver esquerdo
        POVD2 = 0; // desativa o PWM no driver esquerdo
        RB2 = 0;   // liga o MOSFET inferior

        POVD3 = 1;
        RB3 = 1;   // liga o PWM no MOSFET superior do driver direito
    }else {   //sentido "1"
        POUT3 = 1;
        POVD3 = 0;
        RB3 = 0;

        POVD2 = 1;
        RB2 = 1;
    }
}

Conclusão

A utilização de um driver dedicado para acionar uma ponte H contribui para simplicidade do circuito e também da segurança no acionamento, visto que este impede as condições de shoot-through que poderiam causar danos à placa.

Referências

http://www.irf.com/technical-info/appnotes/an-1123.pdf
https://www.fairchildsemi.com/application-notes/AN/AN-6076.pdf
http://www.irf.com/product-info/datasheets/data/irfs7430-7ppbf.pdf

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

3
Deixe um comentário

avatar
 
2 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Luigi Sica NeryBruno AlbrechtGerando PWM com Raspberry PI Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
trackback

[…] artigo [1] de Fabio Souza [2] foi abordado o controle de saídas PWM em um Arduino, e no artigo [3] de Rodrigo Almeida [4], com a colaboração de seus alunos, foi estudado o controle de motores […]

Bruno Albrecht
Visitante
Bruno L. Albrecht

Outro CI pra isso é o IR2108 (usei no meu TCC do MBA e me atendeu sem restrições)

Luigi Sica Nery
Visitante
Luigi Sica Nery

São bem parecidos, mas há grande diferença na capacidade de corrente.