Estou utilizando um módulo ponte H para o projeto de um robô. O problema é o seguinte para o controle da direção dos motores eu uso dois pinos digitais e a velocidade eu controlo com pwm, porém quando eu seto a direção como HIGH a potência máxima do motor passa a ser igual a zero e quando a direção é LOW a potência máxima é 255. As funções abaixo funcionam porém acho estranho essa inversão de valores.
void frente(){
digitalWrite(dir1Pin,HIGH);
analogWrite(pot1Pin,0);
}
void tras(){
digitalWrite(dir1Pin,LOW);
analogWrite(pot1Pin,255);
}
void parar(){
digitalWrite(dir1Pin,HIGH);
analogWrite(pot1Pin,255);
}
Tags:
As respostas para este tópico estão encerradas.
Por acaso não tem algum jumper? parece que a lógica ai tá PNP e não NPN.
Envie um link de referência desse shield.
Diagrama, sketch, etc
O problema é que em vez de usar 3 pinos, você está usando apenas dois.
Você precisa usar o ENA + os IN1 e IN2
Quando colocar IN1 para HIGH coloca o IN2 para LOW e ele avança
Quando colocar IN1 para LOW e colocar o IN2 para HIGH ele retrocede
Mudando o PWM apenas em um PINO você está apenas indo ou parando, não controlando se vai para frente ou para trás
No meu caso os pinos ENA ENB são controlados através de jumpers eles já estão ativados por pardrão. O problema e que quando o motor gira para frente(HIGH) a velocidade máxima é o 0 com pwm.
Mas quantas conexões tem no seu esquema? Coloca uma foto da montagem.
As fotos que enviou são diferentes,
Afinal qual é esse driver?
Tem o link dele?
O driver é o da primeira foto, a única diferença é que o segundo possui os os pinos que ativam e desativam o motor.
amigo, a questao eh q esta sendo usado apenas um pino de PWM para controlar a velocidade, colocando LOW de um lado e 0-255 do outro, aumenta a velocidade, e colocando HIGH de um lado e 0-255 do outro, diminui a velocidade, o fato q vc disse q esta invertido pela sua logica, sao apenas os fios do motor...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por