Introducción
En este post voy a hacer una pequeña comparativa de las placas más relevantes para sistemas embebidos basados en microprocesador.Hay que tener en cuenta las diferencias entre placas con microcontroladores y microprocesadores.
- Microcontroladores: Como los ATMEL (en placas Arduino) o PIC, están enfocados a conexión con el exterior, es decir, disponen de gran cantidad de puertos entrada/salida (GPIO) para su uso con motores, sensores y demás componentes usados en la robótica.
- Microprocesadores: Al igual que sucede en un PC convencional, están enfocados a gran capacidad de procesamiento de tareas y cálculos. Sus conexiones al exterior están limitadas a los típicos periféricos (USB, RJ45, HDMI,...). Requieren de un sistema operativo por lo que las salidas GPIO no pueden ser controladas de forma precisa ya que dependen de la carga coputacional y número de tareas en cada momento.
Por esto, para gran la gran parte de los robots actuales, tan solo con un sistema basado en microcontrolador es suficiente. Pero en caso de que se requiera mayor velocidad de cálculo, será necesario incorporar el microprocesador.
Raspberry PI (Rev. B)
Todos los que hemos empezado en el mundo de la electrónica y los sistemas embebidos debemos conocer o al menos haber oído el nombre de la Raspberry PI.
Fue una de las primeras placas de desarrollo que soportaban una distribución de Linux sobre un micro ARM y con salida HDMI a 1080p. Pronto empezaron a surgir proyectos de robótica y centros multimedia que provocaron un crecimiento de la comunidad de desarrollo bastante importante.
CPU: ARM1176JZF-S 700 MHz
GPU: VIdeoCore IV
RAM: 512 Mb
GPIO: 10
NETWORK: Ethernet
Precio:~45€
Personalmente, la veo como una placa de iniciación genial, ya que si encontramos problemas, podremos resolverlos casi seguro gracias al soporte de la comunidad.
Para proyectos de robótica se queda corto con 10GPIO y tan sólo uno con salida PWM, por lo que se suele combinar con otros microncontroladores o placas como la ya conocida Arduino. Creo que las Raspberry PI está más enfocada al tema multimedia o tareas de gestión de alto nivel.
BeagleBone (Black Edition)
Está edición nació hace poco como respuesta al boom de Raspberry PI. La BeagleBone es otra de las que tienen un gran soporte ya su versión anterior resultaba ser una plataforma de desarrollo todoterreno.
CPU: AM335x ARM Cortex A8 1GHz
GPU: SGX530
RAM: 512 Mb DDR3
GPIO:2x46NETWORK: Ethernet
Precio:~49€
Al igual que sucede en la Raspberry PI, el control de robots usando las GPIO es algo más complejo que usando cualquier microcontrolador común como ATMEL o PIC, ya que hay que mapear el kernel del sistema operativo que tiene cargado para configurarlo como salidas digitales. Aun así, el control de los tiempos de las señales no serán muy precisos debido a que el sistema no está gobernado por un sistema operativo en tiempo real.
CubieBoard 2
CPU: AllWinner A20 ARM Cortex A7 Dual-Core
GPU: Mali 400
RAM: 1Gb DDR3
GPIO: 96
NETWORK: Ethernet
Precio: ~49€
Las principales novedades que presenta esta placa con respecto al resto es que dispone de conector SATA, por lo que podremos conetar un disco duro HDD e incluso un SSD, aumentado considerablemente las prestaciones del sistema. Además, gracias a su conector de red, podremos crear nuestro propio servidor NAS basado en disco duro y gran capacidad de procesamiento.
Esta es una de las mejores placas que veo para crear un centro multimedia de bajo coste y con una potencia más que suficiente.
PCDuino
CPU: ARM Cortex A8 1GHz
GPU: Mali 400
RAM: 1Gb DDR3
GPIO: 48
NETWORK: Ethernet
Precio: ~49€
Esta placa combina lo mejor de un microprocesador con Linux embebido y la capacidad de un microcontrolador para usar PWM, ADC, SPI, I2C,...Creo que es una de las mejores placas de desarrollo para temas de robótica, aunque hay que decir que todo este control de las entradas/salidas están gobernadas por el sistema operativo y no tendremos la misma calidad ni características que realizando estas tareas con un microprocesador.
GPU: Mali 400
RAM: 1Gb DDR3
GPIO: 48
NETWORK: Ethernet
Precio: ~49€
Esta placa combina lo mejor de un microprocesador con Linux embebido y la capacidad de un microcontrolador para usar PWM, ADC, SPI, I2C,...Creo que es una de las mejores placas de desarrollo para temas de robótica, aunque hay que decir que todo este control de las entradas/salidas están gobernadas por el sistema operativo y no tendremos la misma calidad ni características que realizando estas tareas con un microprocesador.
WandBoard
CPU: Freescale (1, 2 o 4 Core) ARM Cortex A9 1GHz
GPU: Vivante GC2000
RAM: 512MB(1 Core), 1GB(2 Cores), 2GB(4Cores) DDR3
GPIO: 47
NETWORK: GigaBit Ethernet, Wi-Fi
Precio: ~60€(1 Core), ~75€(2 Cores),~100€(4 Cores)
La WandBoard se puede encontrar en versiones de 1, 2 y 4 cores. Por esto, la QuadCore es una placa que destaca sobre el resto debido a su enorme potencia computacional y cantidad de memoria RAM. Además dispone de puerto serie, conector SATA, GigaBit Ethernet, módulo WiFi integrado y Bluetooth.
Aunque presenta unas dimensiones superior al resto, la fluidez con la que es capaz de manejar Linux, la hace una placa muy competitiva en el mercado.
Odroid U2
CPU: Exynos QuadCore ARM Cortex A9 1,7GHzGPU: Mali 400
RAM: 2Gb DDR3
GPIO: 0
NETWORK: Ethernet
Precio: ~70€
Actualmente, la Odroid es la placa de desarrollo de bajo coste de mayor potencia. Presenta un micro de cuatro núcleos a 1,7GHz (El mismo que se puede encontrar el móviles como el Samsung Galaxy Note 2).
La U2 es la versión de menos tamaño de todas las placas que hemos visto hasta ahora, aunque la cantidad de puertos para periféricos está limitada a 2 USB.
Al no presentar GPIO, el equipo de Odroid ha creado una pequeña placa basada en microcontrolador PIC y controlada por USB para poder conectarla a nuestra Odroid e interactuar con el exterior. Esto es una solución bastante útil para poder tener un sistema completo basado en microprocesador y microcontrolador.
Odroid X2
CPU: Exynos QuadCore ARM Cortex A9 1,7GHz
GPU: Mali 400
RAM: 2Gb DDR3
GPIO: 45
NETWORK: Ethernet
Precio: ~100€
La version X2 de la Odroid, presenta una mayor cantidad de puertos E/S así como un conector de 45 GPIO úiles, por ejemplo, para conectar un panel LCD.
Las dimensiones de esta placa son similares a las de la WandBoard.
UDOO
CPU: (1, 2 o 4 Cores) ARM Cortex A9 1GHz + ARM Cortex M3GPU: Vivante GC 2000 + Vivante GC 355 + Vivante GC 320
RAM: 1Gb DDR3
GPIO: 76
NETWORK: GigaBit Ethernet
Precio:~75€(1 Core), ~83€(2 Cores), ~100€(4 Cores)
La UDOO es una placa basada en microprocesador + microcontrolador compabile con Arduino. En mi opinión es la mejor placa de desarrollo para proyectos de robótica de bajo coste, ya que combina lo mejor de un sistema operativo con las características de un microcontrolador compatible con la programación en Arduino.
Además, en la versión QuadCore podemos encontrar un puerto GigaBit Ethernet, SATA y módulo WiFi.
Como pequeño resumen:
-Para proyectos multimedia recomiendo la Odroid o WandBoad por su gran potencia y fluidez para manejar sistemas operativos. Aunque tengo que decir que el soporte de la CubieBoard es genial y supera con creces a la de WandBoard, por lo que si no vamos a realizar excesivas tareas sobre la placa, la CubieBoard tiene suficiente potencia, además de ser más económica, para manejar temas de video en HD y ejecutar aplicaciones complejas.
- Si pretendemos hacer un proyecto de disco duro en red (NAS) o centro multimedia sencillo, la CubieBoard2 es tu mejor elección.
- Para proyectos de robótica sencillos y de bajo presupuesto recomiendo la PCDuino.
- Para proyectos de robótica basados en visión y reconocimiento de imágenes recomiendo la Odroid + Placa de entrada/salida o similares, o la UDOO.
- Para proyectos de robótica complejos que no necesiten excesiva carga computacional, la UDOO es la mejor opción. Además la UDOO aporta la gran flexibilidad de programación sobre entorno Arduino, por lo que nos facilitará el trabajo y dispondremos de una gran comunidad de desarrollo a la que consultar.
Os dejo por aquí una pequeña comparativa de la mano de UDOO
Toda esta cantidad de mini-ordenadores me hacen acordarme de los ya conocidos barebones, que no son más que ordenadores convencionales metidos en una caja de pequeñas dimensiones. ¿Y por qué no usar estos ordenadores como sistemas embebidos? ¿Por qué no se escucha nada sobre robots con procesadores Intel o AMD? Bueno, eso va a ir cambiando, y lo veremos en el siguiente post.
No hay comentarios:
Publicar un comentario