collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Ajuda em motores  (Lida 4458 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Silvio Severino

  • Mini Robot
  • *
  • Mensagens: 76
Ajuda em motores
« em: 30 de Setembro de 2011, 20:23 »
ola pessoal realizei um robô aonde utilizei 6 motores http://www.pololu.com/catalog/product/1102, que são controlados por 3 drives http://www.ptrobotics.com/product.php?id_product=828.
Para alimentar os motores usei 2 baterias http://www.ptrobotics.com/product.php?id_product=584, mas os motores não têm grande potencia, mal meto o dedo numa roda a travar  o seu movimento o motor para.

Que devo fazer????

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Ajuda em motores
« Responder #1 em: 30 de Setembro de 2011, 20:31 »
São 6 motores, e os motores dizem isto:
Key specs at 12 V: 500 RPM and 300 mA free-run, 84 oz-in (5 kg-cm) and 5 A stall.
Isso dá no pior caso 5*6 = 30A de corrente.
As tuas pontes H dizem isto:
Output current: Iout=1.2A(average) / 3.2A (peak)
E por fim tens duas baterias, que se forem ligadas em paralelo tens supostamente 5200mAh.

Assim tudo junto diria que as tuas pontes H não têm capacidade para fornecer a corrente que os motores precisam e as tuas baterias muito provavelmente baixam a voltagem quando lhe pedes muita corrente.

Já agora, isso acontece se ligares o motor directo á bateria?
Avr fanboy

Offline Silvio Severino

  • Mini Robot
  • *
  • Mensagens: 76
Re: Ajuda em motores
« Responder #2 em: 30 de Setembro de 2011, 21:23 »
São 6 motores, e os motores dizem isto:
Key specs at 12 V: 500 RPM and 300 mA free-run, 84 oz-in (5 kg-cm) and 5 A stall.
Isso dá no pior caso 5*6 = 30A de corrente.
As tuas pontes H dizem isto:
Output current: Iout=1.2A(average) / 3.2A (peak)
E por fim tens duas baterias, que se forem ligadas em paralelo tens supostamente 5200mAh.

Assim tudo junto diria que as tuas pontes H não têm capacidade para fornecer a corrente que os motores precisam e as tuas baterias muito provavelmente baixam a voltagem quando lhe pedes muita corrente.

Já agora, isso acontece se ligares o motor directo á bateria?

Ainda não experimentei ligado as baterias visto que montei tudo e depois e que testei tudo ligado.

Que recomendas!!!
Mudar para pontes H convencionais com uma maior capacidade para fornecer corrente?
E meter mais uma bateria em paralelo?
 

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Ajuda em motores
« Responder #3 em: 30 de Setembro de 2011, 21:34 »
Então e testas-te com o pwm a fundo?
Avr fanboy

Offline Silvio Severino

  • Mini Robot
  • *
  • Mensagens: 76
Re: Ajuda em motores
« Responder #4 em: 30 de Setembro de 2011, 23:26 »
Então e testas-te com o pwm a fundo?

Sim testei com o PWM a fundo mas não se nota alteração....

Que sugeres!!

Offline andre_f_carvalho

  • Mini Robot
  • *
  • Mensagens: 1.469
    • Pro - andrefcarvalho
Re: Ajuda em motores
« Responder #5 em: 30 de Setembro de 2011, 23:34 »
uma coisa estas a usar as duas baterias em paralelo? para alimentar os motores certo?



Offline Silvio Severino

  • Mini Robot
  • *
  • Mensagens: 76
Re: Ajuda em motores
« Responder #6 em: 01 de Outubro de 2011, 01:19 »
uma coisa estas a usar as duas baterias em paralelo? para alimentar os motores certo?

Sim as duas baterias estão em paralelo.
Acho estranho como os motores têm caixa de redução, ao reduzir a sua velocidade com a relação de transmissão deviam ter mais potencia de tracção.

Que sugerem!!!

Mudar de Pontes H??

Offline andre_f_carvalho

  • Mini Robot
  • *
  • Mensagens: 1.469
    • Pro - andrefcarvalho
Re: Ajuda em motores
« Responder #7 em: 01 de Outubro de 2011, 03:51 »
testa so com um motor em funcionamento

Offline Silvio Severino

  • Mini Robot
  • *
  • Mensagens: 76
Re: Ajuda em motores
« Responder #8 em: 01 de Outubro de 2011, 11:48 »
O programa que estou a usar é este:
Código: [Seleccione]
#define LED 1
  int PWMA = 6;
  int AIN1 = 13;
  int AIN2 = 12;
 
  int BIN1 = 10;
  int BIN2 = 8;
  int PWMB = 9;
 
  int STBY = 11;
 
  int speed_val=255;
 
  #include <Servo.h>
  Servo servo1;
  int GRAUS = 0;
 
//--- so se realiza ao iniciar o programa-----
  void setup()
  {
    pinMode(PWMA,OUTPUT);
    pinMode(AIN1,OUTPUT);
    pinMode(AIN2,OUTPUT);
   
    pinMode(PWMB,OUTPUT);
    pinMode(BIN1,OUTPUT);
    pinMode(BIN2,OUTPUT);
   
    pinMode(STBY,OUTPUT);
   
    pinMode(LED,OUTPUT);
   
    Serial.begin(9600);
    Serial.println('x', BYTE);
   
    speed_val = 255;
    M1_stop() ;
    M2_stop() ;
    GRAUS=0;
     
  }
//----------------------------------------
  void loop()
  {
     if(Serial.available()>0)
       {
       long A=Serial.read();
       digitalWrite(LED,HIGH);
       
          if (A== 'n') // se cicar na tecla 'n' incrementa 10 uindades a velocidade
          {
          speed_val = speed_val + 10;
          test_speed();
          }
         
          if (A=='m') // se cicar na tecla 'm'retira 10 uindades a velocidade
         {
         speed_val = speed_val - 10;
         test_speed();
         }
       
         if (A=='8') // se cicar na tecla '8' o robo anda em frente
         {
         M1_forward(speed_val);
         M2_forward(speed_val);
         delay(80);
         }
     
         if (A=='2') // se cicar na tecla '2' o robo anda para traz
         {
         M1_reverse(speed_val);
         M2_reverse(speed_val);
         delay(100);
         }
       
         if (A=='4')// se cicar na tecla '4' o robo vira para a direita
        {
         M1_reverse(speed_val);
         M2_forward(speed_val);
         delay(100);
         }
       
         if (A=='6')// se cicar na tecla '6' o robo vira para a esquerda
        {
        M1_forward(speed_val);
        M2_reverse(speed_val);
        delay(100);
        }

        else if (A=='i')// se cicar na tecla 'i' sobes a camara 10 unidades
       {
       GRAUS= GRAUS + 10;
       test_GRAUS();
       servo1.write(GRAUS);
       delay(100);
       }

      if (A=='k') // se cicar na tecla 'k' desces a camara 10 unidades
      {
      GRAUS= GRAUS - 10;
      test_GRAUS();
      servo1.write(GRAUS);
      delay(100);
      }
   
      else
      {
      M1_stop();
      M2_stop();
      digitalWrite(LED, LOW);
      delay(100);
      }

     
       }
  }
//------ teste da velocidade------------------
 
  void test_speed()
  {
    if (speed_val > 250)
    {
     speed_val = 255;
    }
   
    if (speed_val < 0)
    {
     speed_val = 0;
    }
  }
//-----teste da posição da camara-----------
 
  void test_GRAUS()
  {
 
    if (GRAUS > 180)
    {
     GRAUS = 180;
    }
   
    if (GRAUS < 0)
    {
    GRAUS = 0;
    }
  }
//-----Funções de Movimento---------------------------------
 
  void M1_reverse(int x)
  {
  digitalWrite(STBY,HIGH);
  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, HIGH);
  analogWrite(PWMB, x);
  }
 
  void M1_forward(int x)
  {
  digitalWrite(STBY,HIGH);
  digitalWrite(BIN2, LOW);
  digitalWrite(BIN1, HIGH);
  analogWrite(PWMB, x);
  }
 
  void M1_stop()
  {
  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, LOW);
  digitalWrite(PWMB, LOW);
  }
 
  void M2_forward(int y)
  {
  digitalWrite(STBY,HIGH);
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, y);
  }
 
  void M2_reverse(int y)
  {
  digitalWrite(STBY,HIGH);
  digitalWrite(AIN2, LOW);
  digitalWrite(AIN1, HIGH);
  analogWrite(PWMA, y);
  }
 
  void M2_stop()
  {
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  digitalWrite(PWMA, LOW);
  }
//--- Fim ---------------------------------

Significa se carregar-mos na tecla:
8 o robô anda para a frente,
2 anda para traz,
4 vira para a esquerda,
6 vira para a direita

n aumenta a velocidade
m diminui a velocidade

i roda o servomotor para cima
k roda o servomotor para baixo

Gostava que dessem uma olhada e proponham melhorias...

Cumps,

Sílvio Severino


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Ajuda em motores
« Responder #9 em: 01 de Outubro de 2011, 12:14 »
Mete simplesmente um sketch que mete os motores a rodar com pwm a fundo, e testa, e testa com os motores directos á bateria sem a ponte H.
Avr fanboy

Offline Silvio Severino

  • Mini Robot
  • *
  • Mensagens: 76
Re: Ajuda em motores
« Responder #10 em: 01 de Outubro de 2011, 17:46 »
Mete simplesmente um sketch que mete os motores a rodar com pwm a fundo, e testa, e testa com os motores directos á bateria sem a ponte H.

Qual a ponte h que recomendas para este tipo de motores ???