¡GO-Tank, Go! - Controla un Robot Tanque con tu ODROID-GO

Usar un sistema de juegos portátil ODROID-GO para controlar un par de pequeños motores DC ubicado dentro de un robot tanque es más fácil de lo que piensas. Esta tarea es aún más llamativa cuando te das cuenta que solo es necesario utilizar dos de los pines de entrada/salida de propósito general (GPIO) del GO.

Figura 1. Echa a andar a tu ODROID-GO por la calle con este robot tanque.

En términos generales, la "típica" interfaz de control para un motor DC consta de cinco líneas separadas e independientes: las líneas de alimentación/control obvias, como es 5V o GND, y tres entradas lógicas para controlar el robot (por ejemplo, una entrada para avanzar, una entrada para retroceder y una línea lógica final para controlar la velocidad del motor). Sin embargo, los lectores más perspicaces se percatarán de que únicamente se conectan realmente al motor dos líneas. Las otras tres líneas configuran un controlador de motor para "manejar" estas dos líneas de alimentación conectadas (es decir, cambian la polaridad y controlan una serie de pulsos al motor a través de una señal de modulación de ancho de pulso (PWM)). ¿Cómo es esto posible?

El "ingrediente secreto" para que todo funcione es un pequeño circuito que reside entre el controlador del robot y el motor DC. Este circuito puede denominarse de varias formas como son un "controlador de motor", "Puente H" o "regulador de motor", aunque su función es manejar el motor de acuerdo con los comandos enviados desde el controlador del robot.

En nuestro caso, el ODROID-GO es el controlador del robot. Una plataforma móvil en forma de tanque DFRobot es nuestro robot tanque. Un pequeño circuito transistor es nuestro controlador de motor. Éste, sin embargo, NO es un circuito H-Bridge, sino un simple interruptor de alimentación. Por otro lado, solo usaremos dos pines GPIO para controlar nuestro robot tanque: GPIO #4 y GPIO #15. Sin embargo, también necesitaremos usar el pin GND #1 y el pin #6 3.3V de la interfaz del cabezal GPIO del ODROID-GO. Estos pines de alimentación NO controlan el robot. Sino más bien se utilizan para ayudar al ODROID-GO a "comunicarse" con el circuito del controlador de motor basado en un transistor.

Figura 2. Desliza hacia la izquierda - gira a la derecha.

Figura 3. Desliza hacia la derecha - gira a la izquierda.

Figura 4. Ahora cha-cha-chá por todos lados, conduce hacia adelante.

Y lo mejor de GO-Tank es que tu dispositivo inteligente con WiFi será utilizado para controlar el robot tanque.

Componentes

Paso a paso

1. De serie, el tanque Devastator no parecía el apropiado. De modo que fabrique un de par paneles laterales para la carcasa inferior. Estos nuevos paneles me permitieron mover las ruedas dentadas y los motores a la parte trasera del robot.

Figura 5. Este es el aspecto que debería tener el tanque adecuado – movimiento de la rueda trasera.

2. Sigue el diseño del circuito de la wiki ODROID Ultrasonic Distance Meter. Esta disposición permitirá que los pines GPIO de 3.3V en el ODROID-GO dirijan los controles del motor del interruptor transistor con alimentación de 5V. En este caso, el Step Up es utilizado para alimentar el Level Shifter y NO para alimentar los motores.

Figura 6. El circuito del el level shifting para manejar los interruptores de potencia del motor y NO los motores del robot.

3. Conecta dos controladores de motor del interruptor de potencia siguiendo el diseño de este diagrama de placa de pruebas (Figura 7) y la fotografía (Figura 7a):

Figura 7. Utilizar una placa de pruebas es una excelente manera de crear los circuitos necesarios para controlar este robot.

Figura 7a. Esta es una solución elegante para añadir un simple control de ENCENDIDO/APAGADO a un motor DC.

4. Conecta una de las salidas del controlador del motor a uno de los terminales de alimentación de los motores DC. Haz lo mismo para el otro controlador de motor y conéctalo al segundo motor DC. Conecta el cable de la puesta a tierra (GND; negro) al otro terminal no conectado en cada motor.

Figura 8. Las conexiones GPIO del ODROID-GO.

Figura 9. Sigue las conexiones GPIO hasta el controlador del motor. Solo se muestra uno de los dos controladores de motor en esta imagen.

5. Conecta el paquete de baterías del Devastator a ambos controladores del motor (como se muestra en la Figura 8 con los cables GND rojo y negro). Cuando se envía un comando por uno de los pines GPIO ODROID-GO, los transistores en estos controladores de motor conmutarán la energía de la batería directamente en cada motor. ¡Interesante!

6. Programa el ODROID-GO con un código similar al siguiente:

#include 
#include 

#define PIN_MOTOR_RIGHT 15
#define PIN_MOTOR_LEFT 4

const char *apSSID = "ODROID_GO_AP";
const char *apPWD = "12345678";

WiFiServer server(80);

ILI9341 lcd = ILI9341();

void setup()
{
  IPAddress gateway(192, 168, 4, 1);
  IPAddress subnet(255, 255, 255, 0);

--snip--

Inserta los parámetros del Punto de acceso WiFi, la configuración de la LCD y configura la interfaz web

Luego añade las funciones para definir movimientos hacia la izquierda, derecha y hacia adelante:

void goFORWARD() {
  lcd.setTextFont(4);
  lcd.setTextSize(2);
  lcd.setCharCursor(2, 5);
  lcd.setTextColor(PURPLE, BLACK);
  lcd.println("Come Back,");
  lcd.setTextSize(3);
  lcd.setCharCursor(2, 7);
  lcd.println("Shane!");
    digitalWrite(PIN_MOTOR_RIGHT, HIGH);
    digitalWrite(PIN_MOTOR_LEFT, HIGH);
      delay(2000);
   digitalWrite(PIN_MOTOR_RIGHT, LOW);
   digitalWrite(PIN_MOTOR_LEFT, LOW);
}
7. Coloca el robot Devastator encima de una pequeña caja para probar su funcionamiento.

Después de encender el ODROID-GO, conecta tu dispositivo inteligente al punto de acceso WiFi ODROID-GO creado dentro del código del programa y usa tu navegador para cargar la página web generada por el código en: http://192.168.4.1. Al presionar "LEFT" en esta página web, debería ver una pantalla roja en el ODROID-GO y la banda de rodadura izquierda debería moverse, esta acción girará el tanque a la derecha. Al presionar "RIGHT", la pantalla se vuelve verde y mueve el tanque hacia la izquierda, mientras que al presionar en “FORWARD" se ejecutan ambas huellas y el tanque se desplazará hacia adelante.

Figura 10. La interfaz de control del robot en tu dispositivo inteligente.

Ahora sal y disfruta de tu recién descubierto Tanque ODROID-GO móvil.

Notas

1. TODAS las líneas de puesta a tierra (GND) deben conectarse entre sí, ¡independientemente de los voltajes!

2. ¿Por qué Shane? Lee la clásica novela del oeste de Jack Schaefer de 1949, o ve la adaptación cinematográfica de 1953 protagonizada por Alan Ladd y espera al gemido del pequeño Joey por el pistolero que se marcha.

Be the first to comment

Leave a Reply