Proyecto 6 orugas de makeblock-shield L293D

Saludos, estoy empezando con arduino y mientras hago proyectos con una placa uno, estoy ya montando una placa: " Mega2560 R3 ATmega2560-16AU" en un chasis de 6 orugas de makeblock modificado para que sea mucho mas ancho, mi problema es que aunque he encontrado la documentación de la shield de motores "en ingles" no estoy seguro de montarla correctamente en la plaga mega, deduciendo un poco he echo coincidir las dos perforaciones de la shield L293D con las de la placa mega, quedándome dos pines libres a cada lado, a la idquierda un pin sin nombre y otro llamado IOREF, a la derecha dos pines sin nombre siendo el 4 el GND que coincide con el GND de la shield L293D, si esto esta bien montado solo tengo la duda de si es mejor hacerlo así o montarlo por separado para no tapar los pines del JP5 y el ISPC.
Ahora si me podéis pasar un enlace con un código para esta shield L293D os lo agradeciera un montón, espero haberme explicado bien, gracias.

para manejar las orugas tengo: modulos rf, bluetooth y un mando IR

Kit de control remoto Módulo receptor inalámbrico de infrarrojos IR para Arduino
Junta de Control Mega2560 R3 ATmega2560-16AU Con Cable USB para Arduino
Motor Drive Escudo L293D para Arduino Duemilanove mega / UNO
Módulo principal transceptor RF HC-06 Bluetooth Wireless Serial
Transmisor RF 433Mhz con el receptor Kit para Arduino ARM MCU inalámbrico

hay librerías y ejemplos de motores para el L293 por cientos en Google.

Lo que te sobró en el mega esta bien, asi quedan las placas. Tu haz coincidir GND 5V 3.3V etc con lo que dicen ambas placas y no habra problema alguno.

Gracias, lo tenia todo bien puesto, el problema es que no hay potencia para mover los motores, si levanto el chasis una de las orugas se mueve.

Pero no puedes alimentar con los 5V del arduino. Dime que no estas haciendo eso no?
Tienes que usar una fuente externa para los motores. Aunque sea la misma que alimenta arduino y motores, lo que no puedes hacer es usar la salida 5V para alimentar motores que no sabes lo que consumen.
Por eso uno funciona cuando le das el comando y el otro no puede moverse.
Pero esto es como yo supongo que esta conectado.

Pues he probado de todo ya el arduino lo cargaba por usb y los motores con el puente quitado con una pila de 9v luego use el cargador del arduino y los motores les conecte con una fuente de 6 pilas, en cualquier caso no consigo que se mueva nada mas que un motor y si levanto las orugas, los motores son estos de makeblock:
Rated Voltage: 6V (Voltage Range: 4V-12V)

Rated Speed: 185 rpm

Rated Current: 0.65 A

Rated Torque: 1.5 kg.cm
he leído por hay que había que conectar las dos masas, la del arduino y la de la alimentación de los motores, de momento sigo peleándome con esto del procesing
, porque según el arduino y la versión de la shield valen o no las librerias y debería mover los dos motores aunque fuera levantando el cacharro, ¿me recomiendas comprar me una batería de 12v lipo?.
Muchas gracias por tu tiempo

PD: despues volber a comprovar que la placa esta bien montada, he comprobado que la pila que uso de 9v, o se desgasta muy rápido o no tiene suficiente fuerza para molerlos, sin embargo la cajita con 6 pilas conectada directamente a un motor es mas que suficiente para molerlos, ademas mi placa es la v1 yo pensaba que era la v2 porque solo los codigos de la v2 me mobieron un servo una vez y ortra vez un motor dc,,,, luego ¿donde esta el problema si tengo todo bien conectado y las pilas tienen potencia de sobra, ¿en el puente doble en H ?, este codigo es el que consigue que se mueva el motor conectado a M1:

#include <Makeblock.h>

#include <AFMotor.h>

AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Motor test!");

motor.setSpeed(200); // set the speed to 200/255
}

void loop() {
Serial.print("tick");

motor.run(FORWARD); // turn it on going forward
delay(1000);

Serial.print("tock");
motor.run(BACKWARD); // the other way
delay(1000);

Serial.print("tack");
motor.run(RELEASE); // stopped
delay(1000);
}

Bueno bueno bueno.

Primero olvida de usar pilas de 9V. No tienes la energía suficiente. Usas alguna bateria de GEL o una LiPO o bien fuente externa DC.

La masa del arduino siempre debe unirse a la masa del SHIELD MOTOR o L293. Sino no hay forma que el controlador del motor tenga referencia para los comandos.
Entonces Arduino se alimenta con una fuente, y otra fuente (adecuada para el motor que no se de que valor) alimenta el motor.

Mira bien las conexciones. GND del Arduino y del controlador UNIDAS.

LECCION APRENDIDA: no usar baterías de 9V para mover motores. SOlo gastamos dinero y luego hay que reponer la batería que seguramente sacaste de algun elemento de la casa o de tu multímetro.

gracias surbyte me as sido de mucha ayuda, ya he dado con un código para mover el motor que elija, he conectado una fuente de una vídeo cámara que me da 11v y un motor se mueve, el otro motor no lo hace pero me he dado cuenta que esta muy duro, así que debe ser cosa de mirar si algo esta mal en el montaje, lo que no entiendo como esta gente de makeblock con la caja de las pilas alimenta el arduino y los motores y yo no puedo hacerlo con su portapilas

¿que batería me recomiendas o tienda?
porque me veo gastando un pastón para volver a lo mismo,
muchas gracias tío

PD:he caído en la cuenta de una cosa, si conectando los motores al porta-pilas , consigo molerles bastante bien, ¿porque no se mueven con el mismo porta-pilas conectado a la shield? luego el problema radica en la shield ¿ o no? si consumen 0.65 amperios y la shield esta limitada a 0.6a, es posible que ese sea el error.
adjunto enlaces de especificaciónes:

y la shield que venden ellos para manejar el motor dc :
Controlador del motor: canales TB6612FNG Motor: 1 Tensión mínima: 6 V Tensión máxima de funcionamiento: 12 V Corriente de salida continua por canal: 1 A Corriente de salida pico por canal: 2 A Dimensiones: 2.4cm x 4.8cm

anda que como sea ese el problema llevo días rompiéndome la cabeza, pues tendre que buscar otra shield o comprar a makeblock los dos módulos necesarios para cada motor, 20 pavos los dos

Tranquilo y comprar mas cosas no soluciona nada. Hay que entender lo que se compra y eso lleva tiempo y la electrónica es asi. Y siempre caes en la respuesta que uno es un ignorante, tu y yo y a todos nos pasa.
Asi que calmate, dejalo un dia y luego lo encaras de nuevo con nuevos ojos. Repasas todo, miras que no hayas cometido algun error. Mira que los cables tengan continuidad y no hayas supuesto que si y resulta que esta cortado... etc, etc.
Muchas cosas.

Si tu placa esta fija en 0.6 y el motor consume 0.65 pues el motor funcionara al 95% por decir algo, que no he hecho la cuenta pero funcionará. O como crees que se consigue que un motor vaya lento o rápido? Pues variando la tesion media con el ancho de pulso de la tensión que le llega al motor.

Ahora mira todo, repasa tu información.
Tu motor es 6V. Pregunta tonta. Con alguna fuente de 6V o 5V lo probaste? Gira bien?
Eso es básico.

Segundo.
Tu placa es un motor shield V1. mas común que la ruda (planta tipo plaga que existe en Argentina).
Dos millones de códigos y tutoriales que lo usan. No encontraste ninguno?

probaste este

// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

AF_DCMotor motor(4);

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Motor test!");

  // turn on motor
  motor.setSpeed(200);
 
  motor.run(RELEASE);
}

void loop() {
  uint8_t i;
  
  Serial.print("tick");
  
  motor.run(FORWARD);
  for (i=0; i<255; i++) {
    motor.setSpeed(i);  
    delay(10);
 }
 
  for (i=255; i!=0; i--) {
    motor.setSpeed(i);  
    delay(10);
 }
  
  Serial.print("tock");

  motor.run(BACKWARD);
  for (i=0; i<255; i++) {
    motor.setSpeed(i);  
    delay(10);
 }
 
  for (i=255; i!=0; i--) {
    motor.setSpeed(i);  
    delay(10);
 }
  

  Serial.print("tech");
  motor.run(RELEASE);
  delay(1000);
}

Hola de nuevo, te hice caso y me tome un par de días de reposo pero de poco sirvió , tengo dos alimentaciones, el cargador del arduino que es de 9v 100mA y la caja de las pilas que es de 9V "6 pilas", el código que uso es exactamente ese que as pegado, el robot funciona perfectamente si lo levanto del suelo, pero si lo poso en el suelo hace amago de moverse y suena un pitido en los motores. ya no se me ocurre nada para solucionarlo

Fuente de 9V 100mA es algo pobre, pero alcanza para el arduino, por otro lado una caja de pilas? Bien, pero no se nada de tus motores.
Porque no miras a ver si tiene alguna especificación.
Supongamos que fueran 6V 250mA por decir algo. Tus pilas claro... sin fricción, sin peso, en el aire o sea en vacío, giran bien, pero cuando tienen que mover todo, no pueden porque les falta corriente que no pueden entregar las pilas.
Yo buscaría una fuente 9V 1A para los motores y si no la tengo voy y la compro, pero esto si los motores sumados consumen menos de 1A.

perdón 100 no, son 1000ma, los datos de los motores te les pegue mas arriba
Rated Voltage: 6V
(Voltage Range: 4V-12V)
Rated Speed: 185 rpm
Rated Current: 0.65 A

Como imaginaba desde el principio creo que el problema es la shield, no entrega amperios suficientes, eso dicen aqui "en ingles", por lo que tendré que buscar una shield para motores basada en otro chip,

The setup worked for a short while, but after adding a bit more load on the vehicle the current of one (!) dc motor gets up to 1.6A. I tested this by putting 3 9V blocks in parallel which can supply up to 2.1A in total and attach them directly to the dc motor. So the batteries can supply the motor with enough current to run even with a higher torque applied to it. But the L293D can’t. As per spec sheet the L293D can cope with a maximum of 1.2A which is insufficient for the dc motors. In addition I read here that H-Bridge drivers are not energy efficient. The voltage drop is much higher than with MOSFET-drivers. Because the L293D is insufficient, I will look for a new driver. I will check these articles (comparison of motor drivers and dc motor calculations) and then choose a new one. I will post a new blog entry aftery buying and testing the new one. Stay tuned! ]]

To put it in a nutshell the voltage and the current of the dc motor, the L293D and the 9V battery are compatible to each other.

So now we get away from theory to connect everything physically:

en esta pagina de makeblock hacen una revisión de shield para motores dc y no mencionan la shield l293d, pero hablan de L298N, TB6612FNG y LV8406T, con lo cual estoy mas convencido de ello.

PD: he localizado varias shels que podría comprar sin problemas
la primera es esta de los de bricogeek basada en el chip chip L298 , un poco cara28,92€
la segunda opcion mucho mas barata es esta basada en el chip L298N 4,00 EUR
y la tercera es esta Módulo 1A TB6612FNG tambien muy barata
3.56 €
otra opción seria una que acaban de sacar los de makeblock aqui pero a no ser que makeblock me responda lo contrario cuando me contesten, esta shield tiene la pinta de funcionar solo con el arduino de makeblock, para mi precisamente ese es el problema, es todo muy plug and play y no le veo merito ninguno . pero si me dicen que funciona con un arduino mega clonado, esta seria la opción mas lógica, porque los motores que quiero controlar son los suyos
¿Me recomendáis alguna en concreto?

la segunda opcion mucho mas barata es esta basada en el chip L298N 4,00 EUR

Yo compraria este L298N barato y 2A por motor. Te da margen para trabajar.

gracias por tu ayuda surbyte, cuando me lleguen los cacharritos posteare los resultados, saludos

NO compres nada en bricogeek, busca lo que necesites en ebay y asegurate de el que te lo vende viva en españa.