viernes, 2 de junio de 2017

Diseño de Arduino NANO

Para poder fabricar nuestro arduino, tenemos que tener un listado de los componentes que vamos a utilizar dentro de proteus, donde también incluiremos el precio y la referencia de los mismos.

Hemos de tener cuidado con las medidas, en los componentes SMD su tamaño viene especificado por un cuarteto de números “1206”, siendo el primer par el largo y el segundo par el ancho. Normalmente mayor potencia implica mayor tamaño.



Aunque Vcc y Vdd no tienen por qué ser la misma tensión ni la misma fuente, a veces podemos encontrárnoslas unidas, al igual que GND y Vss. En caso de estar unidas, lo estarán a una misma tensión y debemos colocar la unión y la fuente a la izquierda del resto de los componentes en el esquemático.

Es común también encontrar pines denominados VCCIO (Vcc para las I/O), AGND (GND para los componentes analógicos) y demás variantes, que también se unen a VCC y GND en algún punto del circuito.

Siempre que hablemos de una conexión en un “layout”, hablaremos de una “NET”. El “layout” por otra parte, será la disposición física de los componentes en oposición al esquema eléctrico realizado en el esquemático.

A menudo encontraremos varios pines de Vcc o GND dentro del mismo diseño, el motivo es que no siempre se puede llevar a todas las capas con uno solo o que reducen las NETs simplificando el diseño del layout.

El Arduino que estamos analizando tiene un micro del tipo ATmega 328p cuya frecuencia máxima es de 20Mhz, sin embargo, su frecuencia de funcionamiento dependerá del reloj que nosotros montemos, en nuestro caso será de 16MHz.





Los relojes de cristal como el que se ha usado en el Arduino,  están compuestos por un cristal piezoeléctrico y un par de condensadores. La cercanía de este componente al microcontrolador es crítica.

El ICSP o programación serial en circuito, es la habilidad de algunos dispositivos lógicos programables, microcontroladores y otros circuitos electrónicos, de ser programados mientras están instalados en un sistema completo, en lugar de requerir que el chip sea programado antes de ser instalado dentro del sistema. En un Arduino se usa típicamente para cargar el Bootloader o gestor de arranque, el cual se encarga de cargar y hacer funcionar los sketches programados con el soft de Arduino. 

En nuestro caso nos referimos a un conector que dispone de 6 pines: MOSI, MISO, SCK, RESET, VCC y GND. Además de ser un puerto para programar Arduino, también es el conector de expansión del bus SPI mediante el que también podemos comunicar periféricos y es usado en algunos casos para comunicar Arduino con los shields.


La forma en que programamos Arduino generalmente es mediante el puerto serie, gracias al bootloader cargado en el microcontrolador, que se comunica con el puerto serie para copiar el fichero compilado en la flash. Al mandar los comandos correctos, lee los datos del puerto serie de Arduino, que es convertido a USB por el ATmega8u2 o ATmega16u2 y guarda todos los datos recibidos en la memoria Flash. Por este motivo necesitamos un bootloader para programar Arduino a través del USB.

Por otro lado la programación ISP primero resetea el Arduino y lo mantiene, mientras el reset está mantenido el Arduino y ningún programa que tenga funcionan. En su lugar el programa codificado en hexadecimal se transmite a través de los pines MOSI (Master Out, Slave In) and MISO (Master In, Slave Out) y temporizado con el CLOCK, por lo tanto en este caso no necesitamos del bootloader.



Otra parte importante del Arduino (y de cualquier PC) es la UART (universally asynchronous receiver/transmitter) es una unidad que incorporan ciertos procesadores, encargada de realiza la conversión de los datos a una secuencia de bits y transmitirlos o recibirlos a una velocidad determinada. En el caso del NANO el chip utilizado es el FT232RL de FTD.

La UART está íntimamente ligada con los puertos serie, que es el nombre genérico con que denominamos a los interfaces, físicos o virtuales, que permiten la comunicación entre dos ordenadores o dispositivos. Éste envía la información mediante una secuencia de bits. Para ello se necesitan al menos dos conectores para realizar la comunicación de datos, RX (recepción) y TX (transmisión). No obstante, pueden existir otros conductores para referencia de tensión, sincronismo de reloj, etc.

Un ordenador convencional dispone de varios puertos de serie. Los más conocidos son el popular USB (universal serial port) y el ya casi olvidado RS-232. Sin embargo, dentro del ámbito de la informática y automatización existen una gran cantidad adicional de tipos de puertos serie, como por ejemplo el RS-485, I2C, SPI, Serial Ata, Pcie Express, Ethernet o FireWire, entre otros.

Es común encontrarnos cualquiera de estos dos términos (UART y puerto serie) al término TTL (transistor-transistor logic). Esto significa que la comunicación se realiza mediante variaciones en la señal entre 0V y Vcc (donde Vcc suele ser 3.3V o 5V). Por el contrario, otros sistemas de transmisión emplean variaciones de voltaje de -Vcc a +Vcc (por ejemplo, los puertos RS-232 típicamente varían entre -13V a 13V).

Los puertos serie están físicamente unidos a distintos pines de la placa Arduino, en el caso del NANO son D0(PX) y D1(TX) . Lógicamente, mientras usamos los puertos de serie no podemos usar como entradas o salidas digitales los pines asociados con el puerto serie en uso.

Esto implica que podemos conectarnos con el arduino utilizando un adaptador RS232 a USB y los pines TX y Rx; o también podemos usar el Arduino y un conversor RS232 a TTL para crear un adaptador  RS232 a USB.

En el esquema que estamos analizando, encontramos varios condensadores cerca de cada integrado, estos se denominan condensadores de “bypass”.

Un condensador de bypass almacena una carga eléctrica que es cedida a la línea de alimentación durante una bajada transitoria de la tensión. Esto proporciona una pequeña alimentación añadida que minimiza el ruido generado por la conmutación de las salidas de un dispositivo.

¿Por qué son necesarios estos condensadores? Los equipos con conmutaciones de alta velocidad generan ruido en las líneas de alimentación debido a la carga y descarga de los condensadores internos y externos de los circuitos. La corriente instantánea generada por los flancos de subida y bajada de las salidas causan que las líneas de alimentación fluctúen. Este efecto puede hacer que la tensión de alimentación se salga fuera de las condiciones recomendadas o que se generen falsas señales, creando serios problemas. Una simple y sencilla solución es el condensador de bypass.

En un entorno de alta velocidad las inductancias internas de un condensador de bypass se tornan muy críticas. Conmutaciones a alta frecuencia de las salidas generan ruido de alta frecuencia (mayor que 100MHz) en las líneas de alimentación. Estos armónicos fuerzan al condensador con alta inductancia interna a actuar como un circuito abierto, impidiendo que ejerza su función de suplir la señal de alimentación para mantener el nivel. Por lo tanto el bypass de una línea de alimentación requiere condensadores con inductancias muy pequeñas. Es así por lo que los condensadores cerámicos son los más adecuados para este cometido, ya que poseen una inductancia interna muy pequeña.

En cuanto a la capacidad los más usados son los de 100nF, sin embargo, este valor dependerá de la frecuencia de funcionamiento del circuito. Como norma general, serán de mayor capacidad cuanto más baja sea la frecuencia.


Siguiendo con el tema de la conmutación, hablaremos ahora del diodo “Schottky”. Es un dispositivo semiconductor que proporciona conmutaciones muy rápidas entre los estados de conducción directa e inversa (menos de 1ns en dispositivos pequeños de 5 mm de diámetro) y muy baja tensión umbral.

No hay comentarios:

Publicar un comentario