Bom dia, fiz meu primeiro seguidor de linha com a ponte H abaixo.

controladorpontehl293ddoismotoresarduinorobotica21611MLB20214966026...

só quando coloco para funcionar esta fraco não anda bem, estou usando fonte na energia e mesmo assim não esta aguentando. 

a ligação que fiz foi a seguinte:

Motor 1: A+ e A-

Motor 2: B+ e B-

VCC: 5V do Arduíno UNO.

GND: do Arduíno UNO

IN1: Saída digital 2

IN2: Saída digital 3

IN3: Saída digital 4

IN4: Saída digital 5

Os sensores de linha no 3,3V e GND e saída analógica A0 e A1.

dessa maneira ele começa a andar e perde força.

e tbm não sei o que são esses Jump na ponte H "EN1 e EN2"

Se alguém poder ajuda agradeço.

Código usado:

//quanto menor o valor, mais luz infravermelha chega ao sensor, portanto está no branco
//quanto maior o valor, menos luz infraverm. chega ao sensor, portanto está no preto

int sensorLinhaDir = A0;
int sensorLinhaEsq = A1;

int ValorCorte = 700;

int M1 = 2; //M1 Direction Control //motores da direita
int M2 = 3; //M1 Direction Control //motores da esquerda
int M3 = 4;
int M4 = 5;

const int velocidade = 200;

int valorLinhaEsq, valorLinhaDir, valorCantoEsq, valorCantoDir = 0; // variable to store the value coming from the sensor

void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
digitalWrite(M3,LOW);
digitalWrite(M4,LOW);
}

void loop() {

valorLinhaEsq = analogRead(sensorLinhaEsq);
valorLinhaDir = analogRead(sensorLinhaDir);

if((valorLinhaEsq > ValorCorte)&&(valorLinhaDir > ValorCorte)){

digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
digitalWrite(M3,HIGH);
digitalWrite(M4,LOW);
}

if((valorLinhaEsq < ValorCorte)&&(valorLinhaDir > ValorCorte)){

digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
digitalWrite(M3,HIGH);
digitalWrite(M4,LOW);

}
if((valorLinhaEsq > ValorCorte)&&(valorLinhaDir < ValorCorte)){

digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
digitalWrite(M3,LOW);
digitalWrite(M4,HIGH);
}


Serial.print(" Linha Esq: ");
Serial.print(valorLinhaEsq);
Serial.print(" Linha Dir: ");
Serial.print(valorLinhaDir);

delay(1000);

}

Exibições: 348

Responder esta

Respostas a este tópico

Daniel, bom dia,

post aqui  todo o esquema de ligaçoes que utilizou,

Facilita a identificação de problemas.

Rui

Aqui Rui da uma olhada nessa imagem que fiz.

Daniel,

o consumo de corrente do arduino pode estar muito alto, pois tem varios outros dispositivos

alimentados por ele.

Sensores, ponte H e os motores.

As minhas recomendações são:

Alimente a placa ponte H com outra fonte,

ou da mesmo a fonte que alimenta o Arduino, caso sua fonte

tenha pelo menos uns 2A de saída, 

Ai, voce usa um outro LM7805 só para alimentar a ponte H.

Rui

Não conheço esta ponte H, mas provavelmente as portas VIN e GND de cima são para alimentar os motores, procura mais informação sobre a ponte H

Esta ponte H suporta motores de no máximo 600mA. O ideal é utilizar alimentação externa para os motores.
Os pinos Vin e GND ao lado da saídas para os motores são para isso.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço