Pages: [1]   Go Down
Author Topic: Robo nao consegue virar as rodas  (Read 834 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Fala galera, estou tentando fazer um robo mudar de direçao quando encontra um obstaculo, para isso, estou usando o IR Sharp.
Estou usando este chassi: http://produto.mercadolivre.com.br/MLB-219932176-kit-chassi-plataforma-p-robotica-basica-c-4-rodas-4x4-_JM
Ele possui dois motores, um controla as duas rodas do lado direito e o outro controla as duas do lado esquerdo.
Para controlar os motores, estou usando este shield: http://www.ladyada.net/make/mshield/index.html

Acontece que, quando ele detecta um obstaculo, ele muda a direcao do motor da esquerda, porem o mesmo nao esta funcionando, pois o robo parece nao ter força para fazer o movimento, as rodas param de girar e o robo fica parado.(Se eu seguro ele no ar, elas funcionam perfeitamente). Estou usando uma bateria de 9v ligada diretamente no arduino. Se o problema for alimentacao, o que voces me aconselham?

Segue abaixo o codigo que usei para faze-lo funcionar.
Code:
#include <AFMotor.h>

AF_DCMotor motorEsq(2, MOTOR12_64KHZ);
AF_DCMotor motorDir(1, MOTOR12_64KHZ);

int IRpin = 1;

void setup() {
  Serial.begin(9600);         
  Serial.println("Motor test!");
}

void loop() {
  motorDir.setSpeed(150);   
  motorEsq.setSpeed(150);
  float volts = analogRead(IRpin)*0.0048828125;
  float distance = 65*pow(volts, -1.10);         
  Serial.println(distance);                       
 
  if (distance > 30){
    motorDir.run(FORWARD);     
    motorEsq.run(FORWARD);
  }

  if (distance <= 30){
    motorDir.setSpeed(255);   
    motorEsq.setSpeed(255);   
    Serial.println("Obstaculo encontrado, virando a esquerda");
    motorDir.run(RELEASE);
    motorEsq.run(RELEASE);
    motorDir.run(FORWARD);
    motorEsq.run(BACKWARD);
    delay(1000);
  }
  delay(500);
}
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3099
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Baterias de 9V para fornecer corrente para motores não é grande ideia... talvez umas 5 ou isso em paralelo conseguissem fornecer a corrente que precisas.

Experimenta outro tipo de pilhas (AA em paralelo e série), vê o tipo de motor que tens... e a tensão de alimentacão que ele precisa para ter um comportamento decente e faz um conjunto de pilhas que consiga fornecer isso.

 
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Baterias de 9V para fornecer corrente para motores não é grande ideia... talvez umas 5 ou isso em paralelo conseguissem fornecer a corrente que precisas.

Experimenta outro tipo de pilhas (AA em paralelo e série), vê o tipo de motor que tens... e a tensão de alimentacão que ele precisa para ter um comportamento decente e faz um conjunto de pilhas que consiga fornecer isso.

 

Brigadão pelas dicas. Junto com o Chassi veio um alimentador AA em série para 3 pilhas. Coloquei 3 Eneloop 1.2v recarregáveis, mas mesmo assim não suportou, acredito que eu precise por mais pilhas em série, porém, vou sacrificar o peso, o que pode fazer com que ele continue sem força para girar.
Vou testar outra coisa hoje, se observares em meu programa, eu não faço um delay quando paro os motores(no momento que ele identifica um obstáculo), creio que eu esteja exigindo demais dos motores, pois ele encontra o obstaculo, pára, e sem delay nenhum já inverte a corrente. Acredito que eu precise por um delay antes de inverter a posição das rodas, de repente dar uma ré antes disso ainda. Vou testar hoje em casa e depois posto aqui o resultado.

Abraço
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3099
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

3 pilhas dessas fazem 3,6 Volt. O motor é para ser usado com quantos Volt? Já viste isso nos dados do motor?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

3 pilhas dessas fazem 3,6 Volt. O motor é para ser usado com quantos Volt? Já viste isso nos dados do motor?

Sim, estas são as especificações dos motores:
* Tensão de até 6 v dc
* Corrente : de 160 a 390 mA
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mudei o programa utilizando o delay logo após ele ter parado os motores, ele agora se comporta como deveria, mas continua sem força para virar as rodas. Vou tentar agora colocar 6v direto no shield dos motores(basta tirar um jumper para que ele entenda que deve pegar a força externa e não a do arduino). Assim que comprar as pilhas e testar, volto a postar.

Abraço
Logged

Curitiba PR, Brazil
Offline Offline
Full Member
***
Karma: 0
Posts: 234
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Amigo, tenta medir a tensão sobre o motor de alguma forma... Se quando você trava as rodas a tensão cai muito (mais de 0,5V), então o problema é alimentação realmente,
Se a tensão continua normal, infelizmente seu motor é muito fraco.
Se for o segundo caso você pode tentar aumentar o torque através de um caixa de redução ou uma relação com correias e pollias (ou substituí-lo).

Se precisar posso desenhar um circuitozinho aqui pra você medir a tensão sob o motor, mas não é nada complicado.

ATENÇÃO! No caso de "travar" o motor para verificar se há queda de tensão, não recomendo fazer isso por tempos muito longos, você pode queimar todo o seu circuito :s
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Amigo, tenta medir a tensão sobre o motor de alguma forma... Se quando você trava as rodas a tensão cai muito (mais de 0,5V), então o problema é alimentação realmente,
Se a tensão continua normal, infelizmente seu motor é muito fraco.
Se for o segundo caso você pode tentar aumentar o torque através de um caixa de redução ou uma relação com correias e pollias (ou substituí-lo).

Se precisar posso desenhar um circuitozinho aqui pra você medir a tensão sob o motor, mas não é nada complicado.

ATENÇÃO! No caso de "travar" o motor para verificar se há queda de tensão, não recomendo fazer isso por tempos muito longos, você pode queimar todo o seu circuito :s

Pois é Osias, eu medi a tensão dos motores com um multimetro e tive um retorno de 3v máximo... média de 1.6v, usando a bateria de 9v que alimena o arduino.
Por isso vou testar passando 6v(que é o aceito pelos motores, segundo especificação do fabricante) diretamente para o shield dos motores(deixando a bateria de 9v apenas para o arduino).
Ae vou ter certeza se o problema é alimentação, ou se são os motores. Pode tb ser o peso do chassi(o que seria uma tremenda sacanagem, pois ele só tem o arduino + shield + 2 motores e a bateria 9v.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Problema resolvido, era realmente alimentacao. Comprei 4 pilhas duracell 1.5v e agora ele ta girando que eh uma beleza.

Obrigado a todos, graças a ajuda de voces consegui criar meu primeiro robo. Segue abaixo o link para o youtube. Ele ainda precisa de uns ajustes, principalmente quanto a desviar os obstaculos, mas ja da pra brincar um pouco.

Abraço a todos

http://youtu.be/TX2bdNsoNsg
Logged

Pages: [1]   Go Up
Jump to: