Ro-batt Shield

Robatt shadowed

La Ro-Bat Shield es una placa de ampliación (Shield) 100% compatible con Arduino, que proporciona una solución completa para construir pequeños robots usando como base una controladora Arduino (UNO, MEGA…).

Esta placa incluye portapilas, interruptor de encendido/apagado, driver para motores, conversor DC/DC para la alimentación y conexiónes para motores y servos. El portapilas de 4xAA suministra la energía para alimentar los motores y servos. El conversor DC/DC incrementa el voltaje de las baterias para alimentar la placa Arduino directamente mediante el terminal VIN; esto significa que una controladora Arduino con la placa Ro-batt Shield conectada pue de ser alimentada por el puerto USB con toda seguridad mientras trabajamos en el desarrollo del programa de nuestro proyecto.

ROBATT_V1R4_top_labelled

Portapilas de 4xAA

Las pilas alimentan el driver de control de motores, cualquier servo que puedas conectar y la placa Arduino en si misma. Esto significa que solo necesitas un pack de pilas para alimentar tu proyecto robótico completo.

La tensión de 6V de las pilas (o de 4,8 si usas pilas recargables) es elevada a 7,5V mediante el conversor DC/DC y aplicada al terminal VIN de la placa Arduino. Aunque esta no es la forma más eficiente de alimentar el microcontrolador de la placa Arduino, tiene la ventaja de usar el sistema automático de conmutación de alimentación incluido en la propia placa Arduino. De esta manera no hay peligro de alimentar directamente el conector USB del ordenador.

Driver de control de motores

La Ro-batt Shield incorpora un driver de control de motores A3906 de dos canales fabricado por Allegro, este puede proporcionar hasta 1A de intensidad de corriente por canal (motor). Los motores pueden ser controlados individualmente para que avancen, se paren o retrocedan a la velocidad establecida mediante el control PWM. Dos pares de clemas con tornillos no proporcionan una forma muy sencilla de realizar las conexiones.

ROBATT_V1R4_bottom_labelled

Servos

Hasta tres servos estándar de modelismo pueden ser conectados a la Ro-batt Shield usando los conectores macho de tres pines. Cada pin de señal está conectado directamente a un pin digital en el controlador Arduino, por lo tanto, de esta forma podemos usar con facilidad las funciones de la biblioteca de de control de servos del IDE de Arduino (servo.h).

Interruptor de encendido/apagado

El interruptor de encendido/apagado que se encuentra sobre la Ro-batt Shield, permite desconectar las pilas del resto de la electrónica cuando queramos detener el funcionamiento de nuestro proyecto. También hay disponibles dos Pads donde poder soldar las conexiones de un interruptor externo de encendido o apagado. Si la placa controladora Arduino se conecta a un ordenador mediante el cable USB, este interruptor se puede utilizar para desactivar los motores y servos mientras que la placa Arduino está directamente alimentada desde la conexión USB.

Conexion de entrada/salida digital

La Ro-batt Shield tiene un terminal entrada/salida digital de la placa Arduino conectada a una clema con tornillos. Una forma sencilla de conectar una entrada o salida de tu proyecto. El resto de señales no usadas de entrada/salida de la placa Arduino, están disponibles en unas tiras de Pads donde poder soldar cables o conectores.

ROBATT_V1R4 side labelled

Controlando los motores con el IDE de Arduino y la librería Ro-batt

En este enlace puedes descargar la librería de control de la Ro-batt Shield para Arduino. Una vez instalada en el IDE de Arduino. podrás acceder a las siguientes funciones pertenecientes a la clase RoBattMotor:

forward() Hace funcionar al motor en sentido de avance.
forward(128) Hace funcionar al motor en sentido de avance a la mitad de su velocidad máxima (0=parado, 255=velocidad máxima).
reverse() Hace funcionar al motor en sentido de retroceso.
reverse(128) Hace funcionar al motor en sentido de retroceso a la mitad de su velocidad máxima (0=parado, 255=velocidad máxima).
halt Para los motores bruscamente (hace uso del freno eléctrico del motor).
off Desactiva los motores sin frenarlos.

La librería de la Ro-Batt Shield también incorpora definición de constantes que pueden ser usadas para el control de servos junto con la librería servo.h: SERVO1_PIN, SERVO2_PIN y SERVO3_PIN. Además esta librería también incluye ejemplo de control de motores y servos desde el IDE de Arduino.

Tabla de pines usados de la controladora Arduino

Cuando conectamos la Ro-Batt Shield a una controladora Arduino, se usan las siguientes conexiones de la placa Arduino:

  Ro-Batt Placa Arduino
  Servo 1 D9
  Servo 2 D10
  Servo 3 D12
  A3906 IN1 D6
  A3906 IN2 D5
  A3906 IN3 D11
  A3906 IN4 D3
  Clema I/O D0

Las entradas del A3906 tambien pueden ser controladas directamente manipulando de forma adecuada las salidas digitales de la placa Arduino. La siguiente tabla muestra la lógica de control del A3906. Puedes encontrar infomacíon más detallada en la hoja de características del A3906.

  IN1 IN2 Motor 1 (1A y 1B)   IN3 IN4 Motor 2 (2A y 2B)
  LOW LOW Paro (Off)   LOW LOW Paro (Off)
  HIGH LOW Avance   HIGH LOW Avance
  LOW HIGH Retroceso   LOW HIGH Retroceso
  HIGH HIGH Paro (freno)   HIGH HIGH Paro (freno)

Cuando un motor está en avance, la salida A es positiva y cuando está en retroceso, la salida B es positiva.

Ejemplo de programa para el control de dos motores de un robot construido con una placa Arduino y una Ro-Batt Shield /* Este ejemplo muestra la manera de mover dos motores con la Ro-batt Shield. Los motores avanzarán durante 1 segundo y a continuación permanecerán parados el mismo tiempo. Este proceso se repite de forma indefinida */ #include RobattMotor motor_derecha(1); // Motor de la derecha está conectado a 1A y 1B RobattMotor motor_izquierda(2); // Motor de la izquierda está conectado a 2A y 2B void setup() { } void loop() { motor_derecha.forward(); // Avanza el robot motor_izquierda.forward(); delay(1000); // Epera 1 segundo motor_derecha.halt(); // Para el robot (aplica freno) motor_izquierda.halt(); delay(1000); // Espera 1 segundo }
Share Button
Follow us on Facebook Follow us on Twitter
  • SUSCRIBETE

    Suscríbete a nuestro boletín informativo para estar puntualmente informado de nuestros cursos, talleres, eventos y novedades.

A ver si adivinas que utilizamos en este sitio? Aquí tienes el ladrillo en cuestión por si quieres leerlo