Go Down

Topic: Problema Servomotores Brazo 6 Giros De Libertad (Read 702 times) previous topic - next topic

23ft_

Hola! Me llamo Felipe soy de Colombia!

Les comento.. Tengo un proyecto de un brazo robotico de 6 giros de libertad, estoy usando unos servos FUTABA S3003 junto con arduino NANO, estos servos estan a espejo con unos potenciometros de 10K, el problema esta en que al conectarlos en la protoboard con una fuente externa de 5V a 1A los servos no hacen mas que vibrar y como trabarse, los GND estan todos al arduino incluido el de la fuente y los POTS, aveces tambien gira el servo de la base pero hace como salticos y se traba totalmente, quiziera ver quien me puede ayudar con esto soy nuevo en el mundo de ARDUINO.


Gracias!

Aca les adjunto el codigo!


Servomotores: FUTABA S3003
Arduino: NANO
Fuente Externa: 5V 1A
Problema: Servos vibran y nos e mueven


Code: [Select]
#include <Servo.h>

Servo servobase;
Servo servobrazo;
Servo servoantebrazo;
Servo servomuneca;
Servo servoantededo;
Servo servodedo;


int pot1 = A0;
int pot2 = A1;
int pot3 = A2;
int pot4 = A3;
int pot5 = A4;
int pot6 = A5;
int servo1;
int servo2;
int servo3;
int servo4;
int servo5;
int servo6;

void setup()
{
  servobase.attach(3);
  servobrazo.attach(5);
  servoantebrazo.attach(6);
  servomuneca.attach(9);
  servoantededo.attach(10);
  servodedo.attach(11);
}

void loop()
{
servo1=analogRead(pot1);
  servo1=map(servo1, 0, 1024, 0, 180);
    servobase.write(servo1);
      delay(15);

servo2=analogRead(pot2);
  servo2=map(servo2, 0, 1024, 0, 180);
    servobrazo.write(servo2);
      delay(15);
 
servo3=analogRead(pot3);
  servo3=map(servo3, 0, 1024, 0, 180);
    servoantebrazo.write(servo3);
      delay(15);
   
servo4=analogRead(pot4);
  servo4=map(servo4, 0, 1024, 0, 180);
    servomuneca.write(servo4);
      delay(15); 

servo5=analogRead(pot5);
  servo5=map(servo5, 0, 1024, 0, 180);
    servoantededo.write(servo5);
      delay(15);
   
servo6=analogRead(pot6);
  servo6=map(servo6, 0, 1024, 0, 180);
    servodedo.write(servo6);
      delay(15);           




Luiz_3110

Parece que esta todo bien en el programa, pero seria mejor si subieras el diagrama de tu conexion, posiblemente algo estes conectado mal.

23ft_

Parece que esta todo bien en el programa, pero seria mejor si subieras el diagrama de tu conexion, posiblemente algo estes conectado mal.
Claro hermano, la fuente es de 5V a 2A los servos siguen sin moverse y quedan totalmente trabados, vibrando y si se mueve es un poco nada mas, los estube probando con el ejemplo Sweep y la verdad no consigo nada (En el esquema tengo el solo un servo pero la mayoria estan conectados de esa manera)


Luiz_3110

#3
May 16, 2020, 06:59 am Last Edit: May 18, 2020, 04:20 pm by Luiz_3110
Simule tu programa en Tinkercad con los 6 servos y 6 potenciometros, todo funcionó sin problema.

Exactamente sube tu diagrama de como es que están conectados tus potenciometros y como alimentas tu arduino para poder ayudarte, ese diagrama estaría incompleto sin eso.

23ft_

Single tu programa en fritzing con los 6 servos y 6 potenciometros, todo funcionó sin problema.

Exactamente sube tu diagrama de como es que están conectados tus potenciometros y como alimentas tu arduino para poder ayudarte, ese diagrama estaría incompleto sin eso.


Hice unos cambios y solo ahora uso 3 servos FUTABA los otros son servos SG90 esos si me sirven con la misma configuracion, trate de hacerlo de manera ordenada en el Fritzing espero se entienda! gracias!

Luiz_3110

#5
May 18, 2020, 04:28 pm Last Edit: May 18, 2020, 04:29 pm by Luiz_3110
Ok, actualice mi comentario anterior ya que vi que lo escribí mal, además lo simule en Tinkercad.

con lo que pusiste se ve todo bien.
alimenta tu arduino con una fuente de 7v a 12v el consumo de la placa misma más todas tus salidas debe estar causando el problema.


surbyte

Mira esto acerca de tu servo FUTABA
En reposo consume 250 mA cada uno Asi que 6 servos son 1.5A solo sin moverse. luego mira los consumos con carga:

Quote
> To date the testing we have done tends to indicate STANDARD servos (42 to 50
> ounce inch range) stall at about 250 to 270 ma. It is reasonable to assume
> that higher torque servos draw more power.

All of this tells me that servo ratings should be taken with a large
grain of salt. The S3003 is rated at 57 in-oz of torque, with .16sec /
60deg. That means that if it did a full circle, it'd take about 1
sec. For a one-inch arm, that'd be a distance of pi inches. And
pulling 57 ounces, we'd get...

57 pi oz-in/sec

Using my favorite units-conversion program, that's a power of
about 7.6 Watts. At 6V, that should take about 1.3 amps, *assuming no
losses*. So if the thing is stalling out at 250ma, it's clearly not
managing to produce the rated torque. As for current going as high as
3-4 amps, that'd mean that the power losses were about a factor of 3,
and that the servo would be putting out as much heat as a 15W bulb,
more or less. Those (the ones for sewing machines, for instance) are
about the same size as a servo, and they get pretty toasty; I have a
hard time believing that a servo could get that warm without melting
something inside.

So: stall at 250ma => at most 1/4 of rated torque is being produced
actually draw 4A => huge inefficiency and LOTS of heat

If I had to bet one way or the other, I'd believe the 250ma
estimate. Then again, if I were betting my plane, I might want to up
that to 1.5 amperes just to be a little more on the safe side.
Traducido  A 6V, debería ser 1.3 Amper por Servo sin suponemos que no hay perdidas.

Go Up