sábado, 9 de abril de 2016

MB102 - Alimentación para breadboards





En este entrada queríamos hablar cómo alimentar nuestras placas de prototipado sin la necesidad de preocuparnos por nada.

La forma más simple de alimentar nuestras placas es usando una fuente de alimentación estable y conectarla al bus de la breadboard. En nuestro caso, usaríamos nuestro Arduino.


Pero si nuestra electrónica va a tener un consumo algo elevado, por ejemplo por encima de los 500mA, lo suyo sería alimentar de forma independiente nuestro Arduino de nuestra placa.

pero esto supone un problema, porque si lo que estamos conectando al jack es por ejemplo una pila de 9V, o un rack de baterías de 1.5V, tendríamos que implementar un sistema para regular la tensión que vamos a suministrar a nuestro sistema, de forma que siempre sea constante. En nuestro caso para obtener 5 voltios.




Y nos quedaría algo con un aspecto parecido a esto

Con esto, ya tendríamos una alimentación regulada de 5V aislada y independiente de nuestro Arduino.  Pero ¿qué nos sucedería si además en nuestro proyecto, estuviéramos usando sensores que funcionaran a 5 voltios y otros que funcionaran a 3.3 voltios? En ese caso, tendríamos que buscar otro regulador adicional que nos dieran 3.3 voltios, incluir más condensadores y además conectar las salidas de éstos a los buses de alimentación de la placa. 

Pero como los reguladores consumen tanta más potencia cuanto mayor es la diferencia entre la tensión de entrada y la tensión de salida, si estamos alimentando nuestra breadboard con 9 voltios y queremos regular a 5 voltios y a 3.3 voltios de forma independiente, consumiríamos mucha más energía que si nuestra batería regulara de 9 voltios a 5 voltios, y la segunda etapa la reguláramos cogiendo la salida de 5 voltios y enchufándole el otro regulador a 3.3 voltios. Dado que en este segundo caso, la diferencia de tensiones sería solo (5-3.3)=1.7voltios, en lugar de los (9-3.3)=5.7voltios que obtendríamos si no lo colocáramos en cascada. Por lo que tendríamos que montarlos como sigue:


quedándonos algo parecido a esto



Ahora sí que tenemos dos buses de alimentación regulada, independiente de nuestro Arduino. 


Pero si tenemos que hacer esto con cada uno de nuestros proyectos,  es posible que más pronto que tarde, nos equivoquemos en alguna conexión y tengamos un problemilla. Entonces lo suyo sería poder encontrar algo parecido pero de forma compacta. Y esto es de lo que queríamos hablar hoy. En la foto os mostramos el modelo de YwRobot,  


pero existen muchos otros equivalentes, por ejemplo este otro que incorpora el mismo tipo de fusibles que usa nuestra placa Arduino y que presentamos en la entrada donde explicábamos los detalles de la regulación de la placa Arduino.



Esta solución, se puede encontrar por menos de un euro (50-90 céntimos), mucho menos de lo que nos costaría cualquier componente de lo que lleva montado y tienes unas características estupendas:

  • Compatible con alimentación a partir de un puerto USB o un jack que suministre tensiones en el rango de 6.5-12 voltios en dc.
  • Suministra dos tensiones de salida independientes que pueden ser iguales o diferentes a 3.3voltios y 5.0 voltios. 
  • Es capaz de suministrar alimentación hasta 700mA.
  • Su tamaño es totalmente compatible con cualquier breadboard: 53mm x 35mm


Pues ya que tenemos solucionado el problema de como aislar la alimentación de nuestra electrónica de nuestro Arduino, vamos a echarle un vistazo a ver cómo funciona nuestro nuevo módulo, y para ello hemos preparado un pequeño esquema eléctrico que cubre a muchas de las versiones que existen en el mercado.

3.3v 5v breadboard power supply module


En la siguiente entrada veremos más de cerca este módulo y cómo verificar que está funcionando correctamente, y recordaremos lo que aprendimos del regulador AMS1117, en la entrada sobre la el circuito de regulación del Arduino.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a



e intentaremos responder a vuestra pregunta lo antes que podamos.  




sábado, 2 de abril de 2016

¿Qué diferencias hay entre Arduino y el ESP8266?





Hace tiempo os presentamos la principales diferencias entre los tipos de placas Arduino más habituales, que a modo repaso os las resumimos a continuación:

Característica de Arduino
UNO
Mega 2560
Leonardo
DUE
Tipo de microcontrolador
Atmega 328
Atmega 2560
Atmega 32U4
AT91SAM3X8E
Velocidad de reloj
16 MHz
16 MHz
16 MHz
84 MHz
Pines digitales de E/S
14
54
20
54
Entradas analógicas
6
16
12
12
Salidas analógicas
0
0
0
2 (DAC)
Memoria de programa (Flash)
32 Kb
256 Kb
32 Kb
512 Kb
Memoria de datos (SRAM)
2 Kb
8 Kb
2.5 Kb
96 Kb
Memoria auxiliar (EEPROM)
1 Kb
4 Kb
1 Kb
0 Kb

En otra entrada os presentábamos las limitaciones que podíamos encontrar entre ellas en términos de la resolución en voltaje que sus entradas analógicas podían presentar. En esta ocasión os hemos remarcado los datos complementarios a la tabla anterior que nos van a permitir comparar con el módulo ESP8266




Lo primero que vemos que para tener frecuencias de reloj más allá de los 16MHz, debemos abandonar la familia  de microcontroladores AVR y optar por las ARM de 32 bits, en la que no solo mejoramos la velocidad de reloj, sino también la potencia del micro, que pasaría de ser capaz de procesar instrucciones de 8bits a procesar instrucciones de 32bits. Lo que viene a significar más velocidad y más potencia.

Vemos también que además de ello,  el Arduino DUE, ofrece 12bits de resolución en los pines analógicos, será capaz de detectar variaciones de voltaje del orden de 0.8 milivoltios, cosa que con los de 10 bits del resto de la familia Arduino, solo podríamos conseguir detectar fluctuaciones mayores de 4.9 milivoltios.

Pero lo que también vemos es que independientemente de que hayamos mejorado la potencia, la velocidad y la resolución, tenemos un problemilla con su capacidad de conexión a Internet. Algo para lo que tendríamos que requerir hardware adicional. Por ejemplo un Arduino WiFi Shield.


Pues bien es a partir de este punto donde nuestro módulo ESP8266 marca su diferencia.

Aunque parezca un simple circuito integrado, el  ESP8266, es lo que se conoce como un SoC, System on Chip. Un SoC embute todo los circuitos electrónicos requeridos para correr una función completa en un único chip. Por ejemplo, un SoC de un teléfono móvil puede incluir gráficos, audio, video y procesamiento de imágenes de forma compacta un un solo circuito. De este modo, se permite miniaturizar más los terminales, simplificar los diseños y reducir los consumos.


En nuestro caso, podemos ver perfectamente todas las funciones que implementa nuestro ESP8266, echándole un vistazo a la siguiente figura


Donde podemos identificar, que a diferencia de las placas Arduino que presentamos anteriormente, el ESP8266, incluye su propio sistema de recepción y transmisión WiFi, su CPU, su bloque de memoria, así como el resto de bloques asociados a comunicaciones y gestión de GPIOs.

Si esto mismo lo quisiéramos implementar en nuestro Arduino, deberíamos instalarle un shield específico, y aunque las características pudieran parecernos similares, hemos reseñado claramente la ventaja que ESP8266 nos aportaría.


En definitiva la solución Arduino, nos costaría unos 100 euros comparados con los escasos menos de 5 euros de la opción ESP8266.




No por nada, Arduino ha diseñado una nueva solución integrada y compacta con características parecidas. Hablamos del MKR1000.


En próximas entradas os compararemos ambas soluciones.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a
e intentaremos responder a vuestra pregunta lo antes que podamos.


viernes, 1 de abril de 2016

¿Qué es un ESP8266?


ESP8266 NodeMCU v2



En la entrada de hoy, vamos a presentaros un módulo que se está haciendo cada día más famoso en el mundo de IoT (Ïnternet of Things, o Internet de las Cosas para nosotros). Se llama ESP8266 y se distribuye desde China a todos los rincones del mundo por precios que van desde poco más de 1 euro hasta un máximo de 5 euros.

En esta dirección de AliExpress por ejemplo lo podíais encontrar por 2.74 euros http://goo.gl/g5ixOP.

Pero aparte del precio, ¿qué es?

Bien lo primero que tenemos que decir, no es qué es, sino quiénes son. Y decimos quienes y no quién, porque aunque este dispositivo es relativamente joven, a fecha de esta edición, existen más de 12 versiones diferentes


por lo que entendemos que nos cause cierta ansiedad no estar al tanto de tantas opciones.

Pero antes de entrar en ver las diferentes opciones, vamos a comenzar por el principio, explicando qué es el ESP8266.

El ESP8266 es un chip WiFi de  bajo costo de la empresa china Espressif, que lleva su propio microcontrolador. El chip se hizo popular en occidente en agosto del 2014 cuando salió el módulo ESP-01, fabricado por el fabricante AI-Thinker. Este pequeño módulo permitía conectar a cualquier microcontrolador a una red WiFi y ejecutar conexiones TCP/IP simples (las mismas que podemos ejecutar nosotros desde nuestro propio explorador de internet).

Pero en aquel momento no existía demasiada documentación escrita, pero con un precio tan pequeño y una potencialidad tan grande, muchos desarrolladores empezaron a traducir toda la documentación en chino que podían conseguir.

En octubre del 2014, Espressif lanzó su propio SDK (Software Devolopment Kit, o Kit para Desarrollos de Programas) y esto todavía aceleró más la penetración de este chip en el mundo maker. Con este SDK, ya no hacía falta ponerle una "antena WiFi" a nuestro microcontrolador, o dicho de otro modo, ya no necesitábamos un microcontrolador externo, este SDK te dejaba programar el propio microcontrolador que el módulo WiFi llevaba integrado. Un microcontrolador, que como veremos en próximas entradas no tiene nada que envidiarle a los que existía en el mercado.

Pero fue a partir de que el IDE de Arduino en su versión 1.6.4, en mayo del 2015, incluyera la posibilidad de incorporar tarjetas del tipo ESP8266, cuando realmente empezó la gran revolución de este módulo. Llegado a este punto, cuál era la necesidad real de adquirir una placa Arduino, si el módulo ESP8266 montado en su propia placa de expansión, podría darte más potencia que la que podríamos obtener con nuestra placa Arduino más un módulo WiFi, a un precio económico y en mucho menos espacio.

en la próxima entrada, explicaremos las características concretas y las compararemos con las de nuestro Arduino preferido.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a




e intentaremos responder a vuestra pregunta lo antes que podamos.




e