Brazo Robotico 5 servos

Hola a todos! Soy nueva con el arduino y necesito unos consejos... Tengo que hacer un brazo robotico de 5gdl. Sería recomendable que se pudieran mover varios servos a la vez. Lo que quiero es hacer varias secuencias de movimientos que se queden grabados, es decir, no manejarlo con un mando o algo asi. Estoy utilizando una Mega 2560 y fuente alimentacion externa (metiendole entre 7 y 12 V) y una protoboard para hacer las conexiones. A los servos no les he conectado el cable para comprobar su posicion (me refiero al que hay que conectar abriendo el servo y todo eso) porque me dijo mi profesor que no hacia falta aunque no estoy del todo segura... se supone que tengo que conseguir que haga unos movimientos determinados y según él no hace falta sacar el cable... Por otro lado uno de los servos es de rotación continua aunque por lo que he leido al manejarse por velocidad y no por posicion creo que no me es muy conveniente....

Alguien me puede echarme un cable? Gracias!!!

Hola Mac26 yo tambien estoy en un proyecto de brazo robotico , Pero yo uso mandos !

Bueno , conrespecto al voltaje externo , Te explico para que no te vuelvas loca.

El servo tiene 3 cables

Positivo
Negativo
Señal

Desde Arduino sacas tambien 3 Cables

Positivo 5v o 3,5v
Negativo
PWN ( Señal servo )

Para que el servo Funcione con la corriente externa tenes que conectar

LOS POSITIVOS DEL SERVO Y EL DE LA FUENTE EXTERNA JUNTOS.

y el negativo del ARDUINO , NEGATIVO DE LA FUENTE y LOS NEGATIVOS DE LOS SERVOS JUNTOS.

Sino no te va a funcionar. , Simplemente Los negativos de la fuente y Arduino van juntos.

Otra cosa a tener en cuenta es el PESO del brazo , El servo ej: consume 500 Miliampers , pero si hace fuerza puede llegar a consumir 1 Ampers, Es muy complicado

Yo te paso Fotos y mi sketch para que tengas idea masomenos.

Te dejo tambien el sketch de guia que use:

#include <Servo.h>

const int servo1 = 4;       // Servo 1
const int servo2 = 5;       // Servo 2
const int servo2 = 6;       // Servo 3
const int servo2 = 7;       // Servo 4
const int joyH = 3;        // Joystick 1
const int joyV = 4;        // Joystick 2
const int joyX = 5;        // Joystick 3
const int joyZ = 6;        // Joystick 4

int servoVal;           // valor para servos

Servo myservo1;  // Creando Servors
Servo myservo2;
Servo myservo3;
Servo myservo4;



void setup() {

  // Servo  
  myservo1.attach(servo1);  // Asignamos Servos a pin
  myservo2.attach(servo2); 
  myservo2.attach(servo3); 
  myservo2.attach(servo4); 

  Serial.begin(9600);
}


void loop(){

    //Mostramos valores Joysticks
    outputJoystick();

    // Leemos el Valor del Joystick y Hacemos un MAPEO de valores , luego lo enviamos al servo

    servoVal = analogRead(joyX);          
    servoVal = map(servoVal, 0, 1023, 0, 180);   

    myservo4.write(servoVal);          

    servoVal = analogRead(joyZ);          
    servoVal = map(servoVal, 0, 1023, 0, 180);   

    myservo3.write(servoVal);          

    servoVal = analogRead(joyH);          
    servoVal = map(servoVal, 0, 1023, 0, 180);   

    myservo2.write(servoVal);                       


    servoVal = analogRead(joyV);           
    servoVal = map(servoVal, 0, 1023,0, 180);    

    myservo1.write(servoVal);                           

    delay(15);                                      

}


/**
* Display joystick values
*/
void outputJoystick(){

    Serial.print(analogRead(joyH));
    Serial.print ("---"); 
    Serial.print(analogRead(joyV));
    Serial.print ("---"); 
    Serial.print(analogRead(joyX));
    Serial.print ("---"); 
    Serial.print(analogRead(joyZ));
    Serial.println ("----------------");
}

Suerte !

2014-07-14 22.35.17.jpg
2014-07-21 16.07.13.jpg
2014-07-21 16.07.16.jpg
2014-07-21 16.08.19.jpg

hola saludos yo tambien soy nuevo en esto del arduino pero viejo en algo de robotica simple! y efectivamente como dice kevin debes de ver el peso de la mano entre mas pese mas corriente va a consumir! solo falta saber como vas a alimentar tu arduino directamente del ueb o de una fuente externa lo mas recomendable es que uses una buena fuente de alimentacion de x lo menos 1A para q trabaje sin problemas ya que al faltar corriente tiende a fallar el arduino x la misma falta de la misma aparte asi obtendras en mayor desempeño de tus servos del arduino solo sacarias la señal pwm y la corriente directa de la fuente deberias hacer un block de distribucion de corriente para todos los servos y el arduino peor la corriente directa desde la fuente simplificando el arduino solo usalo como señal! pero no usesdos fuentes de poder distintas sino no funcionara!

Primero, gracias por contestar.
A ver, cuando yo decia que me sugerían sacar un cable del servo me referia al cable que hay que soldar que da la señal del robot para luego utilizar ese valor como quieras. Porque según lo que entiendo si no no puedes comprobar en que posicion está.
Creo que ese cable lo conectaria al arduino como serñal analógica pondria este codigo
servoVal = analogRead(X);
servoVal = map(servoVal, 0, 1023, 0, 180);

myservo4.write(servoVal);

donde entiendo que la funcion map te convierte la tension que recibe en valores de angulos.

En cuanto al peso como puedo calcula la tension que le tengo que meter?

Y por último gracias por lo de conectar los negativos porque yo al negativo del arduino no lo estaba conectando aunque si funcionada.

Gracias!

Os pongo una foto para que veais el robot

DSC_0261.jpg

¿Alguna ayuda con la programacion?

Te puedo pedir si puedes enviar mas fotografias.

¿Que tipo de servo has instalado? ¿Como controlas el brazo por software o por hardware(joystick o por mandos?

Gracias

Alguno de ustedes me podria proporcionar la medidas que usaron para realizar el brazo por favor sino seria mucha molestia

Hilo cerrado No respondas o hagas peticiones en hilos de mas de 120 dias sin movimientos. Lee las normas del foro Crea un hilo nuevo y observa cuidadósamente en qué sección lo harás!!

A post was split to a new topic: Carro con Brazo robótico