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.
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:
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.
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:
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
https://www.irf.com/technical-info/appnotes/an-1123.pdf
https://www.fairchildsemi.com/application-notes/AN/AN-6076.pdf
https://www.irf.com/product-info/datasheets/data/irfs7430-7ppbf.pdf










Bom dia,
Eu tenho o driver FAN7080, RECOMENDADO PELO PROF. RENÉ DE FORTALEZA posso aplicar ao seu exemplo de comandar 2 motores em vez do dricer IRS2184?
ME MANDE O CODIGO DE PROGRAMAÇÃO NO ARDUINO, SE FAZ FAVOR PARA O FAN 7080, QUAL A FREQUENCIA DO OSCIOLADOR.
ESPERO SUA AJUDA
O MESTRE JOSÉ ARMANDO
Outro CI pra isso é o IR2108 (usei no meu TCC do MBA e me atendeu sem restrições)
São bem parecidos, mas há grande diferença na capacidade de corrente.