Início
/
Projetos Arduino
/
Robótica
/
Montagem Robô Móvel
/
M2 - Montagem base Kit 2WD usando ponte H L298N , 1 bateria 9V e Arduino
M2 - Montagem base Kit 2WD usando ponte H L298N , 1 bateria 9V e Arduino
Angelo Luis Ferreira | 25/10/2022
Acessos: 6.508
Robótica - Montagem 02
Como montar o kit chassi 2WD com driver ponte H L298N e 1 bateria 9V
Objetivo
O objetivo deste tutorial é mostrar passo a passo a montagem do chassi do robô Arduino móvel de duas rodas 2WD com o driver ponte "H" L298N e uma única bateria 9V. Essa montagem básica deixará pronto o seu robô móvel 2WD para a elaboração de projetos com Arduino que permitam esse formato.


Obs.: O kit 2WD possui dois motores DC (3 a 6V) com caixa de redução (1:48) e são conectados independentemente em cada roda, sobrando assim uma roda boba (universal) para dar sustentação ao chassi.
Referências
Antes de fazer a montagem do seu robô móvel 2WD usando o driver ponte H L298N, recomendamos que faça os seguintes projetos:
Aplicação
Para fins didáticos e projetos de robôs seguidores de linha, autônomos com sensores ultrassônico, movidos por controle remoto, smartphone, bluetooth, entre outros.
Componentes e ferramentas necessários
Referência
|
Componente
|
Quantidade
|
Imagem
|
Observação
|
Kit chassi 2WD montado
|
Kit chassi 2WD para Arduino montado |
1 |

|
Dimensões: – Chassi: 21,2 x 15,2cm – Roda: 7 x 7 x 2,6 cm
Montagem:
M1 - Montagem do kit chassi 2WD
|
Arduino UNO |
Arduino UNO R3 |
1 |
 |
Você poderá utilizar uma placa Arduino UNO original ou similar
|
Driver Motor Ponte H L298N |
Módulo Driver Motor Ponte H L298N |
1 |
 |
– Tensão de Operação: 4~35v – Tensão máxima de alimentação externa 7 - 35V – Chip: ST L298N (datasheet) – Controle de 2 motores DC ou 1 motor de passo – Corrente de Operação máxima:2A por canal ou 4A max – Tensão lógica: 5v – Corrente lógica por entrada: 0~36mA – Limites de Temperatura: -20 a +135°C – Potência Máxima: 25W
|
Parafusos |
Parafusos M3 |
2 |
 |
Rosca métrica 3mm
Comprimento: 12mm ou maior
Fenda ou Fenda Philips
|
Porcas |
Porcas M3
|
2 |
 |
Rosca métrica 3mm |
Amarrilho Aramado Revestido |
Amarrilho Aramado Revestido 80mm
|
2 |
 |
Comprimento: 8cm ou menor
Obs.: Fecho de arame revestido, muito utilizado para o lacre de pacotes de pão de forma. Usar de qualquer cor.
|
Jumpers |
Kit cabos ligação macho / macho
|
1 |
 |
|
Chave gangorra |
Chave gangorra 3A
(2 terminais)
|
1 |
 |
Usar chave gangorra (corrente máxima 3A ou maior)
Opcional: Se desejar, você poderá fazer a ligação direta do robô móvel sem a opção de uma chave liga e desliga.
|
Chave Philips |
Chave Philips M3
|
1 |
 |
Chave philips adequada para parafuso M3 |
Bateria 9V |
Bateria 9V recarregável |
1 |
 |
Utilize bateria 9V de preferência recarregável.
|
Suporte para bateria 9V |
Suporte para bateria 9V |
1 |
 |
Suporte para bateria 9V com plugue P4
Também poderá um case para suporte de bateria 9V (opcional)
|
Cabo USB para Arduino |
Cabo USB AB 30cm |
1 |
 |
Cabo USB para Arduino (min. 30cm) |
Ferro de Solda |
Ferro de Solda com Solda de Estanho 1mm |
1 |
 |
Utilizar solda de estanho de 1mm de diâmetro ou menor |
Pistola de cola quente |
Pistola de cola quente |
|

|
Potência Máxima: 40W
Diâmetro do bastão de cola: 11 ~ 12mm
|
Montagem do robô móvel 2WD base - L298N e 1 bateria 9V
1. Faça a montagem do chassi 2WD conforme tutorial: M1 - Montagem do kit chassi 2WD.


2. Com o chassi 2WD montado, vamos agora fixar a placa Arduino Uno. A fixação poderá ser com parafusos e porcas M3. Entretanto, se desejar, poderá fixar a placa Arduino com fita dupla face aplicada entre o acrílico e placa.
2.1. Fixação da placa Arduino no chassi 2WD usando 2 parafusos M3:

2.2. Os parafusos devem ser fixados e travados com a utilização de 2 porcas M3:
Atenção: Cuidado para não apertar muito os parafusos evitando-se trincas no acrílico do chassi.

3. Para controlar a velocidade e o sentido de rotação dos 2 motores do robô vamos usar o driver driver motor ponte H - L298N.
3.1. Posicione o módulo ponte H L298 sobre o chassi do robô e fixe-o usando 2 fechos aramados (amarrilhos usados para fechar pacote de pão). Obs.: Se desejar, você poderá utilizar outros elementos de fixação, como fita dupla face ou parafusos.


3.2. Veja abaixo como fica o posicionamento da ponte H L298N no suporte do chassi 2WD.


4. Agora que já posicionamos a ponte H L298N sobre o suporte do chassi 2WD, podemos conectá-la aos motores CC.
4.1. Veja abaixo um esquema macro para a conexão dos motores A e B.

4.2. Por padronização, vamos fazer a montagem mantendo-se o cabo vermelho e o preto do motor conectado conforme imagem abaixo:
Obs.: Caso ocorra alguma inversão na polaridade de ligação, não se preocupe, pois podemos corrigir a conexão com o teste final.


4.3. Da mesma maneira, faça a conexão da ponte H com o motor A, como mostra a imagem abaixo:


5. Conecte usando jumpers a ponte H L298N com o Arduino. Isso executara a comunicação e o controle de velocidade dos motores CC (corrente contínua) montados no chassi 2WD.
5.1. Veja na imagem abaixo deve ficar o esquema de montagem do nosso exemplo:



5.2. Entendendo a conexão dos motores A e B:
Obs.: Para entender como controlar de motores CC com Arduino e ponte H L298N leia o artigo: I07 - Como controlar motores DC com o Driver Ponte H - L298N e Arduino

5.2.1. Abaixo a tabela com as identificações dos pinos a serem conectados ao Arduino:
driver ponte H L298N |
motor |
microcontrolador Aruino |
IN1 |
A |
8 |
IN2 |
A |
7 |
IN3 |
B |
5 |
IN4 |
B |
4 |
5.2.2. Para fazer variar a velocidade dos eixos dos motores é necessário conectar os pinos ENA e ENB ao Arduino, conforme tabela abaixo:
Obs.: Se os jumpers Ativa MA e ativa MB do drive ponte H estiverem conectados, remova-os para você poder conectar os pinos abaixo:
Motor |
Entrada drive L298N |
Saída Arduino |
A |
ENA |
3 |
B |
ENB |
6 |
5.2.2.1. Veja a imagem abaixo a posição dos pinos de controle de velocidade:

5.3. Veja na foto abaixo como deverá ficar o nosso robô móvel após a conexão do Arduino com o driver motor ponte H - L298N:

6. Antes de fazer as conexões com o Vcc e o GND do driver motor ponte H - L298N, precisaremos preparar os cabos de ligação da chave gangorra (chave liga e desliga).
Obs.1: A utilização da chave liga e desliga é opcional. Se desejar, o robô móvel poderá ser desligado diretamente no plugue da fonte de energia do Arduino.
Obs2.: No projeto, a chave liga e desliga ativa ou desativa a ponte H que controla os motores. Portanto, mesmo desligada a chave, a placa Arduino permanecerá ligada.
6.1. Corte as extremidades de dois jumpers macho-macho, sendo o primeiro com 80mm (mínimo) e o segundo com 160mm (mínimo). Os dois cabos deverão estar desencapados em uma das pontas, como mostra a imagem abaixo:

6.2. Depois de preparados, solde os dois cabos nos terminais da chave gangorra (chave liga e desliga):
6.2.3. A posição dos cabos não tem muita importância, pois a chave 2 terminais apenas interrompem a passagem da corrente elétrica no circuito. De preferência, para facilitar a montagem do circuito, solde o cabo maior no terminal que fica na posição "0" e o cabo menor no terminal que fica na posição "1" da chave liga e desliga.


7. Após o botão liga e desliga ser soldado,vamos agora fazer a conexão dos cabos Vcc e GND do driver ponte H, conforme figura abaixo:

7.1. Posicione a chave gangorra (chave liga-desliga) na base do chassi do robô móvel e conecte o cabo maior no GND do Arduino e o cabo menor no GND do driver móvel Ponte H - L298N. Depois, fixe a chave liga-desliga na parte de baixo base do robô com cola quente. Isto ajudará também a isolar os terminais do componente.


7.2. Conecte agora o cabo Vcc no pino +12V da ponte H - L298N e no pino Vin do Arduino:


7.2.1. Observe que usamos o pino Vin do Arduino como fonte de energia para os motores. Isto é muito útil em protótipos de robótica, pois a mesma bateria poderá alimentar o Arduino e os motores de corrente contínua através do driver ponte H.

8. Finalmente, vamos conectar a bateria de 9V no nosso robô móvel. Para isso, utilizamos um suporte para bateria com um plugue tipo P4 (Jack).

Atenção: A tensão de alimentação feita através do conector Jack deverá estar entre os limites de 7 a 12V. Abaixo de 7V a tensão de funcionamento da placa Arduino poderá ficar instável e acima de 12V o regulador de tensão integrado da placa poderá sobreaquecer.
8.1. Fixe a bateria com fita dupla face ou cola quente na parte inferior do chassi do robô móvel.


8.2. O plugue P4 da fonte de energia deve ficar posicionado de forma que você poderá conectá-lo no Arduino posteriormente.


Testando o robô móvel - Chassi 2WD (1 bateria 9V)
Agora que já temos o nosso robô móvel montado, vamos fazer os testes de funcionamento. Para isso, vamos conectar a placa Arduino do robô no computador usando o cabo USB. A bateria 9V nesse momento poderá permanecer desconectada.

Teste 01 - Robô móvel rodando para frente
No primeiro teste vamos fazer o robô se mover para frente. O robô deverá se movimentar para frente, conforme a imagem anterior, parando 500ms a cada 2 segundos.
Usando o cabo USB, conecte o Arduino do robô móvel no computador para fazer o upload do scketch abaixo:
/*******************************************************************************
Teste 1 - Teste do robô móvel - andando para frente
Autor: Angelo Luis Ferreira
Data: 01/11/2022
http://squids.com.br/arduino
*******************************************************************************/
//motor A
const byte IN1 = 8 ;
const byte IN2 = 7 ;
//motor B
const byte IN3 = 5;
const byte IN4 = 4;
//pinos utilizados para controlar a velocidade de rotacao
const int ENA = 6;
const int ENB = 3;
void setup(){
// configuração dos pinos como saída do Arduino
pinMode(IN1,OUTPUT); // motor A
pinMode(IN2,OUTPUT); // motor A
pinMode(IN3,OUTPUT); // motor B
pinMode(IN4,OUTPUT); // motor B
pinMode(ENA,OUTPUT); // controle velocidade motor A
pinMode(ENB,OUTPUT); // controle velocidade motor B
// inicia com os motores desligados
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4,LOW);
// incia com velocidade 0
digitalWrite(ENA, LOW);
digitalWrite(ENB,LOW);
}
void loop() {
forward(); // ir para frente
delay(2000); // aguarde 500ms
stopCar(); // parar robô
delay(500); // aguarde 100 ms
}
// forward - robô anda para frente
void forward() {
// 1-0-1-0 - configura o mesmo sentido de rotaçao para os dois motores (frente)
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4,LOW);
// define velocidade do robô
analogWrite(ENA, 80);
analogWrite(ENB, 80);
}
// 0-0-0-0 - stopCar - parar robô
void stopCar() {
// motores desligados
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4,LOW);
}
Depois de subir o skecth no IDE, desconecte o cabo USB do Arduino do robô e do computador. Conecte o cabo da bateria (Plugue P4) no Arduino.
Para iniciar o teste, acione o botão (chave liga-desliga) para iniciar o movimento do robô. Veja o vídeo abaixo:
Observações:
1. Verifique se as duas rodas estão girando no mesmo sentido. O robô deverá estar se movimentando para frente.
1.1. Caso as rodas esteja girando em sentidos opostos ou o robô esteja se movendo para trás, inverta a polaridade na conexão dos motores com o drive ponte H.

1.2. Repita o teste novamente, onde o robô móvel deverá se movimentar para frente.
2. Em função da construção do chassi 2WD, montagem das rodas, balanceamento e da carga da bateria, é bem difícil fazer o robô móvel se movimentar perfeitamente em linha reta. Entretanto, isto não afetará nos projetos que podem ser aplicados a este robô com chassi 2WD. Porém, podemos melhorar um pouco este alinhamento, alterando no programa (sketch) o valor da velocidade de um dos motores, a fim de manter as rodas do robô girando na mesma velocidade real.
2.1. Se o carrinho tende a girar para a direita, significa que o motor B esta girando, de modo real, um pouco mais que o motor A. Portanto, podemos reduzir um pouco a velocidade (teórica) do motor B no programa. Isso deve ser feito de forma experimental até encontrar o melhor valor. Mesmo assim, dificilmente o robô móvel irá manter um alinhamento perfeito. Veja o exemplo abaixo:

2.2. O mesmo deve ser feito se o robô móvel tender para a esquerda. Desta forma, reduza o valor do motor A.
3. Com o robô móvel se movimentando para frente, podemos ir para o próximo teste a seguir.
Teste 02 - Robô móvel rodando para frente e para trás
Neste teste vamos fazer o robô móvel se movimentar para frente durante 2 segundos, para por 500ms e se movimenta para trás por 2 minutos, sucessivamente,
Da mesma forma que no primeiro teste, use o cabo USB para conectar o Arduino do robô móvel no computador para fazer o upload do scketch abaixo:
/*******************************************************************************
Teste 2 - Teste do robô móvel - rodando para frente e para trás
Autor: Angelo Luis Ferreira
Data: 05/11/2022
http://squids.com.br/arduino
*******************************************************************************/
//motor A
const byte IN1 = 8 ;
const byte IN2 = 7 ;
//motor B
const byte IN3 = 5;
const byte IN4 = 4;
//pinos utilizados para controlar a velocidade de rotacao
const int ENA = 6;
const int ENB = 3;
void setup(){
// configuração dos pinos como saída do Arduino
pinMode(IN1,OUTPUT); // motor A
pinMode(IN2,OUTPUT); // motor A
pinMode(IN3,OUTPUT); // motor B
pinMode(IN4,OUTPUT); // motor B
pinMode(ENA,OUTPUT); // controle velocidade motor A
pinMode(ENB,OUTPUT); // controle velocidade motor B
// inicia com os motores desligados
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4,LOW);
// incia com velocidade 0
digitalWrite(ENA, LOW);
digitalWrite(ENB,LOW);
}
void loop() {
forward(); // ir para frente
delay(2000); // aguarde 500ms
stopCar(); // parar robô
delay(100); // aguarde 100 ms
back(); // ir para trás
delay(2000); // aguarde 500ms
}
// forward - robô anda para frente
void forward() {
// 1-0-1-0 - configura o mesmo sentido de rotaçao para os dois motores (frente)
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4,LOW);
// velocidade do robô
analogWrite(ENA, 80);
analogWrite(ENB, 80);
}
// stopCar - parar robô
void stopCar() {
// 0-0-0-0 - motores desligados
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4,LOW);
}
// back - robô anda para trás
void back() {
// 0-1-0-1 - configura o mesmo sentido de rotaçao para os dois motores (para trás)
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4,HIGH);
// velocidade do robô
analogWrite(ENA, 80);
analogWrite(ENB, 80);
}
Desconecte o cabo USB do Arduino do robô móvel e do computador. Conecte o cabo da bateria (Plugue P4) no Arduino.
Acione o botão (chave liga-desliga) para iniciar o movimento do robô. Veja o vídeo abaixo:
Observações:
1- Para melhorar o alinhamento do robô móvel, proceda conforme o teste 1, alterando as velocidades dos motores no programa, tanto para forward() como para back().
2. Se desejar aumentar ou diminuir a velocidade do robô, altere esses valores também, sempre de forma igual tanto para o motor A quanto para o motor B. Os valores que definem a velocidade podem variar de 0 a 255 (velocidade máxima).
O anúncio abaixo ajuda a manter o Squids Arduino funcionando
Comentários