• Welcome to LusoRobótica - Robótica em Português.
 

Ajuda - Problemas com motores no arduino

Started by Antonio Marques, 21 de March de 2015, 17:04

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Antonio Marques

Boas, estou a construir um robot com o arduino uno, 4 motores dc(6v) tenho uma ponte H e tudo corre bem enquanto estou a testar com o cabo usb ligado ao pc, o problema chega quando testo mas com as baterias lipo 3s 2200mah, mas com um regulador de tensao 7806, o arduino nao responde da mesma forma, qual sera o problema?

Njay

Tens que fazer um diagrama das ligações, o que é que está ligado a quê e como.

Antonio Marques

Tenho o Arduino Motor Shield L293D que tem 4 saidas para motores dc, neste caso de 6v, para alimentar o circuito tenho uma bateria de 11,1v lipo 3s 2200mah ligado a um 7806 para baixar a tensao para os 6v 1A que me parece ser suficiente, pino 1 ligado ao + da bateria, pino 2 - comum entre a bateria e saida para o adaptador para ligar arduino, pino 3 liga + adaptador para ligar arduino.
As ligações dos motores é o normal, motor1 + e -, etc...
O que se passa é:
- anda para a frente
- espera 10 sec
- anda para traz
- espera 10 sec
Com o cabo usb ligado nao ha problema, com a alimentaçao ligada nao tem o comportamento esperado.

Njay

#3
Tens que fazer um diagrama António, isso é muito texto e nem sei o que é o pino 1 do 7806. As pessoas raciocinam 10x ou mais melhor quando estão a olhar para um diagrama/esquema, em electrónica os designs transmitem-se graficamente e não em texto.

E tens também que descrever o problema em detalhe, "não tem o comportamento esperado" não é nada. Quando vais médico o que é que lhe dizes, "estou doente"? Tens que descrever os sintomas!

Nunito

Quote from: Antonio Marques on 21 de March de 2015, 18:35
Tenho o Arduino Motor Shield L293D que tem 4 saidas para motores dc, neste caso de 6v, para alimentar o circuito tenho uma bateria de 11,1v lipo 3s 2200mah ligado a um 7806 para baixar a tensao para os 6v 1A que me parece ser suficiente, pino 1 ligado ao + da bateria, pino 2 - comum entre a bateria e saida para o adaptador para ligar arduino, pino 3 liga + adaptador para ligar arduino.
As ligações dos motores é o normal, motor1 + e -, etc...
O que se passa é:
- anda para a frente
- espera 10 sec
- anda para traz
- espera 10 sec
Com o cabo usb ligado nao ha problema, com a alimentaçao ligada nao tem o comportamento esperado.
Faz um desenho nem que seja no paint.

Antonio Marques


Antonio Marques

O codigo que estou a testar é este:
#include <AFMotor.h>

// Define o motor1 ligado a conexao 1
AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(2,MOTOR12_1KHZ);
// Define o motor2 ligado a conexao 4
AF_DCMotor motor3(3,MOTOR34_1KHZ);
AF_DCMotor motor4(4,MOTOR34_1KHZ);
int i=0;

void setup()
{
  // Define a velocidade maxima para os motores 1 e 2
  motor1.setSpeed(255);
  motor2.setSpeed(255);
  motor3.setSpeed(255);
  motor4.setSpeed(255);

}



void loop ()
{
  motor1.run(FORWARD);
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  motor4.run(FORWARD);
  delay(10000);
 
  motor1.run(RELEASE);
  motor2.run(RELEASE);
  motor3.run(RELEASE);
  motor4.run(RELEASE);
  delay(2000);
 
  motor1.run(BACKWARD);
  motor2.run(BACKWARD);
  motor3.run(BACKWARD);
  motor4.run(BACKWARD);
  delay(10000);
 
  motor1.run(RELEASE);
  motor2.run(RELEASE);
  motor3.run(RELEASE);
  motor4.run(RELEASE);
  delay(2000);
}

Normalmente ele deveria andar para a frente 10 sec, parar 2 sec, andar para traz 10 sec, parar 2 sec e voltar a fazer o ciclo, certo?

Nunito

Quote from: Antonio Marques on 21 de March de 2015, 19:17
Nao esta grande coisa.
Onde ligas a alimentação dos motores?
Porque não ligas a lipo directa ao arduino, esquece esse 7806...

Antonio Marques

O arduino faz alimentacao dos motores.
Os motores sao de 6v, se alimento o arduino a 12v os motores nao vao aguentar muito tempo, certo?

dropes

Minha net está a 128kbps mas não interessa a ninguém, por isso nem vou procurar a datasheet do arduino.
Mínima tensão de alimentação = 5V + Dropout Voltage (2V)= 7V
Com 6V não funciona... e colocar reguladores lineares em série para baixar o consumo é... esquece

ps: não é assim que se liga um regulador 780x
ps2: ao postar existe um símbolo # que ajuda a inserir código aqui

Antonio Marques

Sim, es capaz de ter alguma razao, mas eu sou iniciante e preciso é de solucoes, claro que se vai desperdicar metade da potencia, mas volto a dizer estou so a testar, ja experimentei alimentar os motores externamente, sem ser pelo arduino, o problema persiste, nao me parece ser por ai, solução????

Njay

#11
Quote from: Antonio Marques on 21 de March de 2015, 19:17
Nao esta grande coisa.
Ahh, tá bom, mto melhor! Agora já qualquer um sabe do que estás a falar.

Experimenta ligar o arduino directamente à bateria (~12V) e a saída do 7806 liga ao shield (acho que o shield dá para fazer isso, não verifiquei; podes ter que mudar algum jumper, tens que ver na documentação do shield).

Se o 7806 escaldar ao toque tens que meter um dissipador. Ele não avaria por ficar muito quente, mas começa a desligar e a ligar muito rápido o que resulta num comportamento "estranho".

Também podes baixar a velocidade dos motores, tens isso no máximo.

Antonio Marques

Sim ja experimentei isso, vai dar ao mesmo, será que é o arduino uno que nao tem capacidade de processamento?

Njay

Ainda não explicaste quais são os sintomas do problema.

Não é falta de capacidade de processamento, isso que queres fazer não usa nem 0.5% do CPU do arduino.

Antonio Marques

Olhando para o codigo que postei em cima, ele deveria andar para a frente durante 10 sec, parar durante 2 sec, recuar durante 10 sec e parar durante 2 sec, e repetir o ciclo, certo?
O problema é esse ele anda para a frente ai uns 3 sec depois fica parado ai uns 10 sec anda para traz un pouco e pára, é este o ciclo que executa.