LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: luisjustin em 10 de Julho de 2012, 23:05

Título: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 10 de Julho de 2012, 23:05
Estou com um problema, segui o tutorial do SmallUino 1.5http://lusorobotica.com/index.php?topic=575.0 (http://lusorobotica.com/index.php?topic=575.0) e o robo no inicio ele obedecia o que o código mas depois ele parece que tem algum sensor que não botei por que ele só volta para traz e gira quando alguém tranca ele com o pé.
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 10 de Julho de 2012, 23:40
Alguém pode me ajudar por favor  :'(
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: LoneWolf em 10 de Julho de 2012, 23:44
Boas, sim a malta gosta bastante de ajudar ;)  mas também para poderem fazer isso tem de deixar mais informação se não é impossível poder fazer seja o que for ;)

....haaa e já agora, se fez tudo o que esta no link que postou não tem o porque de não funcionar ;) mas ainda assim se poder meter fotos e o código era óptimo.

Abraço
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 11 de Julho de 2012, 00:04
O código usei este:

Código: [Seleccione]
int motor1Pin1 = 5;    // Ponte H
int motor1Pin2 = 6;    // Ponte H
int motor2Pin1 = 10;   // Ponte H
int motor2Pin2 = 11;   // Ponte H

void setup() {

  // Definir os pinos outputs:
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  pinMode(motor2Pin1, OUTPUT);
  pinMode(motor2Pin2, OUTPUT);
}


void loop() {
  //Vamos testar o gajo :)

    digitalWrite(motor1Pin1, HIGH);  // Este pino HIGH, em conjunto com o de baixo LOW
    digitalWrite(motor1Pin2, LOW);   // Fazem com que o motor da direita ande em frente
   
    digitalWrite(motor2Pin1, LOW);   // Este pino LOW, em conjunto com o de baixo HIGH
    digitalWrite(motor2Pin2, HIGH);  // Fazem com que o motor da esquerda ande em frente
    delay (1500);                    // Tempo que vai ficar a fazer esta função
   
    //Agora é inventar....fazer como quiserem...
    //O ideal seria utilizar a funçao AnalogWrite para controlar a velocidade por PWM
    //Mas o digitalWrite torna as coisas mais simples
    //O inconveniente, é que anda sempre á velocidade máxima
    //O resto do código vai fazer o Smalluino Mexer :D
    //Dúvidas: [url=http://www.lusorobotica.com]www.lusorobotica.com[/url]
 
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
   
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
    delay (1500);
   

    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
   
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
    delay (1500);


    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
   
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
    delay (1500);
 
 }
Não modifiquei nada fotos vou tentar pegar uma e vou colocar daqui uns 5 minutos.
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: senso em 11 de Julho de 2012, 00:15
Se ele faz isso quando lhe prendes os motores provavelmente é a voltagem a descer e o micro a fazer reset.
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 11 de Julho de 2012, 00:33
Está com 7.5V
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: Marvin em 11 de Julho de 2012, 00:41
Está com 7.5V

Input Voltage (recommended)   7-12V
Input Voltage (limits)   6-20V

seguindo a ideia do Senso o que pode estar a acontecer é que qnd os motores puxam corrente (amperes), a voltagem caia abaixo dos 6V e o micro faça reset.

Que tipo de bateria esta a usar? Nimh? nicd? lipo? Pilhas alcalinas?

edit: as vezes o ruido eletrico dos motores é suficiente para fazer reset ao arduino (been there)
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 11 de Julho de 2012, 01:14
No momento estou usando pilhas normais panasonic
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: tiagogala em 11 de Julho de 2012, 01:24
Condensadores na alimentação podem ajudar a resolver esse problema, há um post aqui no fórum sobre isso. Para teres uma ideia, experimenta ligar um LED (com a devida resistência) a um pino do arduino (no código tens que configurá-lo como saída e metê-lo a HIGH) e depois vê o que acontece quando travas o robot, se o LED se apagar e voltar logo a ligar é porque a tensão das pilhas está a baixar e está a provocar resets no microcontrolador. Nem sempre se vê o LED a apagar, é uma coisa muito rápida, mas se apagar, já ficas com noção do que é.
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 11 de Julho de 2012, 15:12
Comprei 2 capacitares de 47nano de ceramica e 2 de 47Uf X 16 e 2 de 2200uf X 16v, os de cerâmicas eu não sei se comprei certo para diminuir os ruidos do motores mas mesmo assim não adiantou e coloquei o de 2200Uf X 16V na alimentação que está ligada na protoboard e não adianta ele só anda para traz e faz tudo que deve fazer quando ele é trancado por 1 segundo dai ele volta pra traz e gira dai ele executa a ação correta mas se ligar ele e deixar ele sai ando pra frente infinitamente os motores que uso são de 6.5V ou 6V se não me engano com uma caixa de redução de 1:120 por favor preciso de ajuda vou postar uma foto dele junto aqui como anexo.
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: luisjustin em 11 de Julho de 2012, 16:04
Aqui vai algumas especificações do motor + a base a que eu comprei.
Especificação:
Dimensões: 170mm de diâmetro de base
Peso: 400g
Corpo em alumínio resistente com furos de montagem
Velocidade: 70cm / s
Diâmetro da roda: 65mm
Moldura e todos os acessórios de montagem, variedade de sensores podem ser adicionados
Dois unidade diferencial

Motor Tipo 130
Relação de engrenagem 1:120
Motores: 10000rpm, 4.5V-6V
Torque (6V): 1.92Kgcm
Tamanho: 55mm x 48,3 milímetros x 23 milímetros
Peso: 45g
o link de onde eu comprei:  http://produto.mercadolivre.com.br/MLB-430252601-arduino-chassi-2-rodas-e-caixas-de-reduco-_JM (http://produto.mercadolivre.com.br/MLB-430252601-arduino-chassi-2-rodas-e-caixas-de-reduco-_JM)
Título: Re: Preciso de ajuda com um robo que estou a fazer
Enviado por: Marvin em 11 de Julho de 2012, 22:30
Testa so este codigo e depois diz o q acontece:

Código: [Seleccione]
int motor1Pin1 = 5;    // Ponte H
int motor1Pin2 = 6;    // Ponte H
int motor2Pin1 = 10;   // Ponte H
int motor2Pin2 = 11;   // Ponte H

void setup() {

  // Definir os pinos outputs:
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  pinMode(motor2Pin1, OUTPUT);
  pinMode(motor2Pin2, OUTPUT);
}


void loop() {
 

    digitalWrite(motor1Pin1, HIGH);  // Este pino HIGH, em conjunto com o de baixo LOW
    digitalWrite(motor1Pin2, LOW);   // Fazem com que o motor da direita ande em frente
   
    digitalWrite(motor2Pin1, LOW);   // Este pino LOW, em conjunto com o de baixo HIGH
    digitalWrite(motor2Pin2, HIGH);  // Fazem com que o motor da esquerda ande em frente
    delay (1500);                    // Tempo que vai ficar a fazer esta função
   
   
 }

Se puderes depois mete um video do que ele faz, porque de facto não estou sequer a perceber o que o robot faz. Ele arranca e depois para? Ele repete sempre as mesmas acções?