Olá Pessoal,

Estou montando um carrinho autônomo seguidor de linha usando: Arduino UNO, Kit Chassi 2WD, sensor de linha IR e a Ponte H L9110(HG7881) (imagem anexa)

Estou usando a própria alimentação do Arduino e tudo funciona. Ele segue linha e é bem rápido.

Só que precisei controlar a velocidade do motor, pois ele tava muito rápido e se perdia na linha. Aí está o problema. Segundo o datasheet da ponte H, para controlar a velocidade do motor só pode ser feito por PWM.

Fiz um Teste só com os motores com o código em anexo usando PWM. Porém a velocidade do motor não diminuiu, quando alterei speed para 127, por exemplo.

Fiz outro teste com a Biblioteca DualMotor com o exemplo que vem junto e configurando os pinos de acordo com o que está descrito nela.

Ficou assim os pinos ligados nas portas:

B-IA -> 5

B-IB -> 8

A--IA -> 6

A-IB -> 7

A velocidade também não diminuiu quando alterei de 255 para 127. E usando a DualMotor, o carro ao invés de andar para trás, ele parava. As demais funções executou normal.

Alguém poderia dizer qual o problema que não consigo controlar a velocidade, pois não estou conseguindo identificar. Já revisei a ligação dos fios e pinos, e não vi problemas.

Grato,

Exibições: 1288

Anexos

Responder esta

Respostas a este tópico

Boa noite RS,

existem alguns erros no seu sketch: 

1.  Falta um ponto e virgula no fina da linha 6, Como está dará erro de compilação.

2. No UNO o port 4 não é um port de PWM .

      PWM     Uno, Nano, Mini         3, 5, 6, 9, 10, 11      490 Hz (pins 5 and 6: 980 Hz).

3. Vc está usando o valor 255 para o analogWrite(0, este valor é nível continuo, não havendo pulsos.

 A frequência de ports PWM do UNO são diferentes nos ports 5 e 6.

RV

Olá Mineirin,

Não entendi o item 3. Eu teria que tratar como?

Ademais, essa questão dos Hz. Como controlo isso? porque só passo um valor para a velocidade, exemplo, 100.

Bom dia  José Gustavo Abreu Murta,

observando o documento no link que vc postou, percebe-se que o sketch do RS, foi extraído 

daí, pois neste sketch tem todos erros que citei acima, caso seja usado o arduno UNO.

RV

Bom dia Rui, 

É Vero amigo. Nem percebi a péssima qualidade do manual. 

Achei que poderia ser útil. 

Esse link tem um código melhor, mas não usa PWM:

http://robojax.com/learn/arduino/?vid=robojax_L9110_DC_motor

Esse link parece ser uma boa referência:

https://www.bananarobotics.com/shop/How-to-use-the-HG7881-(L9110)-D...

Exato!

Usei esse exemplo do tutorial.

A falta de ponto e vírgula foi corrigida quando envie para a Placa. Não tive nenhum erro de compilação. Apenas a questão da velocidade não ser alterada.

Também havia trocado da porta 4.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço