2018/04/06

Arduino Robot v09 Tupperbot (II)

Esta entrada está dedicada a la construcción y electrónica del robot. En este momento solo están hechas las conexiones de los motores y las pilas a la placa Arduino a través de un circuito integrado L298N.


Con este proyecto he prendido que el robot sea muy fácil de construir y muy fácil de desmontar, manteniendo independientes la parte de abajo, donde van los motores y las pilas, y la parte de arriba donde va toda la electrónica. Ambas partes se comunican con cuatro conectores jack 2,1mm x 5,5mm que "suben" la alimentación a la placa Arduino y la breadboard y "bajan" la señal a los cuatro motores.


El control de los cuatro motores se hace un doble puente H: el IC L293N que aparece en la foto.


Para evitar el exceso de temperatura en estos circuitos integrados, añadimos un disipador de calor.


Este es el esquema de pines del doble puente H.


Los dos motores de la derecha están conectados entre sí y a los pines 13 y 14 del IC L298N (OUTPUT 3 y OUTPUT 4). El sentido de giro de estos dos motores de la derecha se controla desde salidas digitales 4 y 5 de la Arduino UNO que están conectadas a los pines 10 y 12 del L298N (INPUT 3 y INPUT 4). La velocidad de giro de estos dos motores de la derecha se controla desde la salida analógica 10 de la Arduino UNO que está conectada al pin 6 del L298N (ENABLE A).

De manera similar, los dos motores de la izquierda están conectados entre sí y a los pines 2 y 3 del IC L298N (OUTPUT 1 y OUTPUT 2). El sentido de giro de estos dos motores de la izquierda se controla desde salidas digitales 6 y 7 de la Arduino UNO que están conectadas a los pines 5 y 7 del L298N (INPUT 1 y INPUT 2). La velocidad de giro de estos dos motores de la izquierda se controla desde la salida analógica 11 de la Arduino UNO que está conectada al pin 11 del L298N (ENABLE B).

El IC L298N se alimenta desde la placa Arduino, con 5v, a través del pin 9 y con el voltaje que necesiten los motores a través del pin 4. En este caso, los motores se alimentan con 9v a pesar de que en el esquema siguiente solo se representan 4 pilas de 1,5v.

Por último, los pines 1, 8 y 15 del L298N van conectados entre sí y a tierra (GND) de la placa Arduino y de la alimentación de los motores.

Todo esto puede verse mejor en el siguiente esquema:


Con este sencillo código conseguimos que los cuatro motores del robot giren en el mismo sentido (si las conexiones están bien) y a la máxima velocidad que les puede proporcionar la fuente de alimentación:
void setup() {
  pinMode(10, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  
  pinMode(11, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  
  analogWrite(10, 0);
  analogWrite(11, 0);
  }

void loop() {
  analogWrite(10, 255);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  analogWrite(11, 255);
  digitalWrite(6, LOW);
  digitalWrite(7, HIGH);
  delay(100);
}