Manual Técnico Módulo Ponte H Dupla
Introdução Módulo de Ponte H dupla para controlar dois motores DC ou um motor de passo bipolar. Com este módulo é possível controlar o sentido de rotação de motores DC de 3V a 30V. Também é possível controlar um motor de passo de duas fases de até 2 ampéres por fase. O driver L298N é responsável pelo acionamento dos motores e fornece uma saída auxiliar de 5V para circuitos lógicos. Este circuito integrado consegue lidar com 20W de potência e conta com um dissipador de calor. Este módulo também conta com jumpers de configuração e acionamento independente, podendo ser utilizado sem a necessidade de um microcontrolador, bastando configurar os jumpers IN1, IN2, IN3 e IN4 para selecionar o sentido de rotação dos motores. Além disso, existem dois jumpers sensores de corrente, caso seja necessário controlar a corrente por um circuito externo. Características Alimentação VMS de 6V a 30V; Corrente máxima de 2A por motor; Potência máxima de 20W; Dimensões reduzidas da placa: 65mm x 55mm x 25mm; Furação para fixação; LED's para indicação de alimentação e acionamento das fases; Regulador de tensão de 5V para alimentação de circuito lógico; Dissipador de calor; Jumpers para acionamento dos motores sem necessidade de microcontrolador; Pinos para sensores de corrente externos; Jumper de ativação do circuito de 5V.
Descrição dos Conectores e Jumpers Alimentação dos Motores VMS 6V a 30V Conector MOTOR A Saída da Alimentação Lógica 5V Conector MOTOR B Sensor corrente Motor B Sensor corrente Motor A JP2 Jumper de ativação da alimentação lógica 5V Controle Manual das fases da Ponte H Saída da Alimentação Lógica 5V Enable do MOTOR A Enable do MOTOR B IN1, IN2, IN3 e IN4 são os pinos das fases da Ponte H
Tabelas de Conexão A tabela de conexão abaixo mostra um exemplo de conexão com o Arduino, que são as porta utilizadas no exemplo de código mais abaixo. Outras portas digitais do Arduino podem ser usadas. Pino do Módulo Descrição Pino do Arduino Descrição ENA ENABLE do Motor A 6 Porta digital 6 ENB ENABLE do Motor B 7 Porta digital 7 IN1 INPUT 1 8 Porta digital 8 IN2 INPUT 2 9 Porta digital 9 IN3 INPUT 3 10 Porta digital 10 IN4 INPUT 4 11 Porta digital 11 Os bornes parafusáveis devem ser ligados conforme a tabela abaixo: Conexão Descrição Dispositivo MOTOR A Borne de conexão do Motor A Motor 1 MOTOR B Borne de conexão do Motor B Motor 2 VMS GND Positivo da entrada de alimentação dos motores Negativo da entrada de alimentação dos motores +5V Saída de 5V para alimentação de circuito lógico externo (Arduino, PIC etc.) Fonte de Alimentação 6V a 30V Fonte de Alimentação 6V a 30V Microcontrolador 5V Os motores DC não tem sentido certo de ligação, mas a ordem dos fios determinarão o sentido de rotação dos motores.
Esquema de Ligação de Motores DC Saída 5V Depende desse jumper Jumpers ENA, ENB e IN1..IN4 Controlam a Ponte H Saída 5V CSA e CSB Jumpers UR1..UR4 controlam sentido dos motores Saída 5V Notas: O JP2 é responsável pela saída de 5V para alimentação de circuito lógico externo. Remova a capa do jumper para desligar essa saída. Jumpers UR1 até UR4 podem ser configurados para determinar o sentido de rotação dos motores quando o módulo é utilizado sem conexão com microcontrolador (vide tabela de jumpers, abaixo). Jumpers ENA e ENB ativam as Pontes-H A e B, respectivamente. IN1 e IN2 controlam a ponte A. IN3 e IN4, controlam a ponte B (vide tabela de entradas, abaixo). CSA e CSB são os pinos sensores de corrente (SENSE) para a ponte A e ponte B, respectivamente, e podem ser usados como sensores de corrente dos motores. Quando não for usar esses pinos, deixar a capa sobre eles para ligá-los ao terra (GND).
Tabela de Jumpers Os jumpers UR1 até UR4 configuram as pontes A e B para acionar os motores, de forma fixa, sem a necessidade de um microcontrolador. As configurações desse modo de operação são fixas e não consideram a utilização dos pinos de ativação ENA e ENB, que são ligados por padrão nos 5V, através de um resistor de elevação. Ou seja, não existe a necessidade de ligar os pinos ENA e ENB para utilizar o módulo nesse modo. Ponte H Motor A UR1 UR2 Ação ON ON Freio do motor OFF OFF Freio do motor ON OFF Motor ligado para frente OFF ON Motor ligado para trás Ponte H Motor B UR3 UR4 Ação ON ON Freio do motor OFF OFF Freio do motor ON OFF Motor ligado para frente OFF ON Motor ligado para trás Legenda: ON = Jumper com capa (ou seja, ligado) OFF = Jumper sem capa (ou seja, desligado)
Tabela de Entradas Os pinos IN1 até IN4 controlam as pontes A e B, através de sinais lógicos de 5V, vindos de um microcontrolador, como Arduino ou PIC. Os pinos ENA e ENB não precisam ser conectados pois são ligados no 5V por padrão. Mas podem ser utilizados para desligar os motores das pontes A e B, respectivamente, sem utilizar o freio motor, ou seja, apenas desligando a energia das pontes, fazendo o motor parar naturalmente. Ponte H Motor A IN1 IN2 ENA Ação ON ON ON Freio do motor OFF OFF ON Freio do motor X X OFF Parada natural do motor ON OFF ON Motor ligado para frente OFF ON ON Motor ligado para trás Ponte H Motor B IN3 IN4 ENB Ação ON ON ON Freio do motor OFF OFF ON Freio do motor X X OFF Parada natural do motor ON OFF ON Motor ligado para frente OFF ON ON Motor ligado para trás Legenda: ON = Sinal alto vindo do microcontrolador (5V) OFF = Sinal baixo vindo do microcontrolador (0V) X = Não importa o sinal
Programação do Arduino A programação abaixo é baseada nas conexões sugeridas na Tabela de Conexões deste documento. É apenas um exemplo de acionamento de dois motores DC, que faz os motores girarem em um sentido, espera um segundo e inverte o sentido. Essa inversão de sentido acontece para sempre, enquanto o circuito estiver ligado, em intervalos de um segundo. int pinena = 6; int pinenb = 7; int pinin1 = 8; int pinin2 = 9; int pinin3 = 10; int pinin4 = 11; void setup() { for (int i = 6; i <= 11; i++) { pinmode(i, OUTPUT); digitalwrite(i, LOW); } digitalwrite(pinena, HIGH); digitalwrite(pinenb, HIGH); } void loop() { digitalwrite(pinin1, HIGH); digitalwrite(pinin2, LOW); digitalwrite(pinin3, HIGH); digitalwrite(pinin4, LOW); delay(1000); digitalwrite(pinin1, LOW); digitalwrite(pinin2, HIGH); digitalwrite(pinin3, LOW); digitalwrite(pinin4, HIGH); delay(1000); }
Esquema Elétrico