Hardware

monkeyserna edited this page Dec 9, 2014 · 35 revisions

Hardware

En esta sección se detallan todos los elementos empleados para la construcción del robot, además de realizar una breve descripción de lo que son y el papel que desempeñan en el proyecto, y el esquema de conexiones entre todos los distintos elementos que componen el robot.

La lista de materiales es la siguiente:

  • Raspberry Pi Modelo B
  • Arduino Due
  • GoShield-GR
  • Raspberry Camera Module
  • Adaptador Wi-Fi Ralink RT5370
  • Servomotor Futaba S3003
  • Sonar HC-SR04
  • Dispositivo Android 4+
  • Led azul 10 mm
  • Resistencia de 220 Ohm
  • Resistencia de 1k Ohm
  • Elementos secundarios:
    • Caja de metacrilato para Raspberry Pi
    • Piezas 3D
    • Jumpers macho-hembra y macho-macho
    • Placa de prototipado de 170 pines
    • Cada de 6 pilas tipo AA y pilas

Elementos que componen el robot

Raspberry Pi Modelo B

La Raspberry Pi es un ordenador de placa única (SBC) de bajo coste basado en un procesador ARMv6. Es capaz de realizar las mismas tareas que un ordenador convencional de características similares. Además, está dotado con una serie de pines de propósito general (GPIO) que permiten controlar circuitos electrónicos, ya sea para comunicaciones o para controlar circuitos electrónicos (lectura de sensores, encendido de leds, movimiento de motores, etcétera).

Las característisticas principales del modelo B, empleado en este proyecto son las siguientes:

  • CPU: ARM1176JZF-S (armv6k) a 700 MHz (Soporta overclock de forma segura hasta 1GHz)
  • GPU: Broadcom VideoCore IV
  • RAM: 512MB
  • 26 PINES, 17 GPIO, PWM, SPI, I2C, UART.
  • Voltaje: 3.3V
  • 2 puertos USB

No tiene ningún dispositivo de almacenamiento. En su lugar, tiene un zócalo para la inserción de tarjetas SD. Este proyecto emplea una tarjeta SD de 32GB, aunque una de 8GB es suficiente.

La Raspberry Pi es el componente que más funciones realiza en el robot. Las acciones principales que realiza son las siguientes:

  • Crea una red Wi-Fi AdHoc
  • Ejecuta un servidor para la visualización de la señal de la cámara en tiempo real
  • Ejecuta un servidor de comandos para controlar el movimiento de los motores y servos, sensores y leds.
  • Ejecuta los bloques escritos en el modo de programación.
  • Realiza la lectura del sonar para medir distancias.
  • Realiza el movimiento del servo para controlar la posición vertical de la cámara y el sonar
  • Sirve de eje central en las comunicaciones. Se encarga de realizar transmitir los mensajes desde el Cliente (Web o Android) hasta la placa Arduino Due.

Arduino Due

Arduino es quizás la plataforma de hardware libre más conocida actualmente. Esta plataforma está basada en una serie de placas con un microcontrolador de Atmel, un entorno de desarrollo basado en Processing, y un framework basado en Wiring que simplifica la programación de las placas. La plataforma Arduino nació con el objetivo de facilitar el uso de microcontroladores a todo aquel que desee realizar un proyecto de electronica.

Charlie emplea una placa Arduino Due. Este microcontrolador está basado en el el procesador Atmel SAM3X8E ARM Cortex-M3 CPU. Es la primera placa Arduino basada en un microcontrolador ARM con una arquitectura de 32 bits. Algunas de sus características principales son las siguientes:

  • CPU: ARM cortex M3 AT91SAM3X8E a 84 MHz
  • RAM: 96KB
  • Flash: 512KB
  • Pines: 54 GPIO.
    • 12 PWM
    • 12 Entradas analógicas
    • 2 Salidas analógicas (mediante DAC)
    • Soporta comunicaciones SPI, I2C, CAN,TWI
  • Voltaje: 3.3V
  • 2 puertos USB

Esta placa es empleada para controlar la placa GoShield-GR (ver siguiente apartado). Su misión en el proyecto es la de recibir por puerto USB un comando de 3 bytes de longitud y ejecutarlo. Estos comandos realizan las siguientes funciones:

  • Movimiento de los motores
  • Lectura de los sensores infrarrojos (para detectar marcas en el suelo)
  • Control de leds
  • Control del zumbador (buzzer)

GoShield GR

La Goshield GR es una placa compatible con Arduino Due y Arduino Megadiseñada para competir en concursos de rastreadores, aunque con algunas ampliaciones también puede ser empleada en robots velocistas.

Algunas de sus características son:

  • 21 sensores infrarrojos CNY70
    • 9 de ellos de lectura digital
    • 12 de ellos de lectura analógica.
  • 14 leds
    • 12 de ellos situados en las posiciones de los sensores frontales
    • 2 de ellos en la posición central
  • 1 buzzer o zumbador
  • 2 motores de corriente continua
    • Chip controlador TB6612FNG

Una particularidad de esta placa es la forma de realizar la lectura analógica de los 12 sensores de suelo situados en la parte frontal. Esta lectura se realiza por medio del cálculo del tiempo de carga de condensadores a través de los sensores infrarrojos CNY70.

Raspberry Camera Module

El módulo de cámara de la Raspberry Pi es capaz de obtener una señal en calidad Full HD 1090p en tiempo real gracias a estar conectado directamente a la GPU por medio de su conector específico, un cable flex de 15 pines.

Esta cámara puede ser controlada programáticamente con diversas librerías que se encuentran disponibles. En concreto, este proyecto emplea la implementación de la interfaz uv4l para crear un servidor de video-streaming en jpg por medio de una web. Es decir, cuando el servidor de la cámara está activo puede verse la señal de la cámara en tiempo real a través de la URL http://192.168.0.123:8080/. Esta señal es una imagen jpg que se actualiza 15 veces por segundo.

Adaptador Wi-Fi Ralink RT5370

Este dispositivo es un adaptador de red Wi-Fi soportado de forma nativa por Raspbian, el sistema operativo empleado en la Raspberry Pi. Algunas de sus características son:

  • Longitud:16cm
  • Seguridad:WEP 64/128, 802.1x supported, WPA, WPA2
  • Interfaz:USB 2.0
  • Potencia:200mW
  • Antena 5dbi desmontable
  • Modo de transmisión:DSSS
  • Protocolo operativo de la red:CSMA/CA con ACK
  • Rango de frecuencia:2.4-2.4835GHz
  • Canal:13
  • Estandár de red inalámbrica: IEEE 802.11n, IEEE 802.11g (draft), IEEE 802.11b

La comunicación entre el dispositivo controlador y el robot se realiza mediante Wi-FI. Este adaptador de red proporciona conectividad inalámbrica al robot. Es capaz tanto de crear redes Ad Hoc como de conectarse a redes ya existentes.

Servos Futaba S3003

Los servomotores son dispositivos actuadores que tienen la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y de mantenerse estable en dicha posición.

Concretamente, los Futaba S3003 son servos económicos com un rango de actuación cercano a los 200º.

Tienen 3 pines:

  1. Ctrl: Recibe una señal PWM de control del servo que indica la posición en la que debe situarse.
  2. Vcc: Recibe un voltaje de entrada. El voltaje recomendado es 5V, aunque en este proyecto se alimenta el servo con 3.3V con el fin de disminuir el consumo eléctrico general del proyecto.
  3. Gnd: Toma de tierra.

El servomotor mueve la base sobre la que están situados tanto la cámara como el sonar. Su función en el robot es la de controlar la inclinación vertical de la cámara y el sonar.

Sonar SR04

El módulo ultrasónico SR04 es un sonar de muy bajo coste (está disponible en algunas tiendas por menos de 2€). Su función es la de calcular la distancia a la que se encuentra el objeto al que apunta.

.

El funcionamiento del sonar es el siguiente. Cuando recibe señal en el pin disparador emite un ultrasonido. Al recibir de vuelta este sonido emitido, genera un pulso eléctrico a través del pin de eco. La distancia es calculada mediante el tiempo transcurrido desde que el sonido se envía hasta que se recibe.

Tienen 4 pines:

  1. Vcc: Voltaje de entrada. El voltaje recomendado es de 5V, aunque algunos fabricantes también proporcionan compatibilidad a 3.3V.
  2. Trig: Disparador. Al recibir voltaje emite un ultrasonido.
  3. Echo: Emite un pulso de 5V cuando recibe el sonido emitido.
  4. Gnd: Toma de tierra.

Dispositivo Android 4+

Para controlar el robot se emplea un dispositivo basado en Android 4+.

En concreto, el dispositivo empleado es un Nexus 4, aunque cualquier dispositivo Android (incluyendo tabletas) es compatible con la aplicación que controla el robot.

Led azul 10mm

Se emplea un led azul de 10mm de grosor para indicar visualmente que un script realizado en el modo de programación está siendo ejecutado. Permanece encendido mientras el script esté siendo ejecutado.

Resistencias

Para la constucción del robot se emplean dos resistencias:

  • Una resistencia de 220 Ohmios para reducir el voltaje de la señal de 3.3V que recibe el led.
  • Una resistencia de 1K Ohmios. El sonar funciona con 5V. Sin embargo, Raspberry Pi funciona a 3.3V. Por este motivo, la señal del pin de entrada (ECHO PIN) del sonar debe reducirse con una resistencia de 1KOhm.

Otras piezas empleadas

Caja de metacrilato para Raspberry Pi

La caja de la Raspberry Pi tiene dos objetivos: lado proteger la Raspberry, y servir como base para la estructura que sostiene la cámara y el sonar.

Piezas 3D

El montaje de los servos, la cámara y el sonar están realizados con piezas 3D, basadas en el proyecto de [módulos REPYZ] (http://www.iearobotics.com/wiki/index.php?title=M%C3%B3dulos_REPYZ).

Las piezas 3D se pueden descargar desde la URL: http://www.thingiverse.com/thing:341121

También están disponibles en la carpeta 3D del repositorio.

Jumpers

Para realizar la conexión del sonar se emplean cables de tipo jumper macho-hembra. El circuito de alimentación del sonar emplea jumpers macho-macho.

Placa de prototipado de 170 pines

La placa de prototipado sirve para incrustar las resistencias y centralizar las conexiones de los circuitos en una placa única. Este tamaño es el estándar más pequeño que existe.

Fuente de alimentación de 9V

Finalmente, para la alimentación del robot se emplean 6 pilas de tipo AA, proporcionando 9V. Esta fuente de alimentación se conecta a la placa GoShieldGR.

Esquema de conexiones

En el siguiente esquema se muestran todas las conexiones realizadas en el robot:

Algunas consideraciones:

  • La resistencia conectada a la polo positivo del led es de 220 Ohm.
  • La resistencia conectada entre el pin ECHO del sonar y la Raspberry Pi es de 1 KOhm, con la finalidad de reducir el voltaje que emplea el sonar (5V) al de la Raspberry Pi (3.3V).
  • El cable de conexión de la cámara es de tipo FLEX de 15 pines.
  • El adaptador de red inalámbrica se conecta mediante USB a la Raspberry Pi.
  • La conexión entre el puerto USB Programming de Arduino y la Raspberry Pi se realiza mediante un cable USB-microUSB.
  • La fuente de alimentación empleada en el proyecto son 6 pilas tipo AA conectadas en serie, que proporcionan un voltaje de 9V.
  • El servo se alimenta a través de los pines de la placa GoShieldGR que porporcionan 3.3V.

Las conexiones de los pines de la Raspberry Pi se detallan en la siguiente tabla:

Pin Raspberry Conectado a
5V Pin VCC del sonar.
GND Polo negativo del led y pin GND del sonar.
4 Polo positivo del led. Se reduce el voltaje mediante una resistencia de 220 Ohm.
17 Señal de control del servomotor.
27 Pin ECHO del sonar. Se reduce el voltaje mediante una resistencia de 1K Ohm.
22 Pin TRIG del sonar.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.