Mostrando entradas con la etiqueta I2C. Mostrar todas las entradas
Mostrando entradas con la etiqueta I2C. Mostrar todas las entradas

lunes, 22 de abril de 2013

¿Cómo selecciono un microcontrolador?

La elección del microcontrolador adecuado para un producto, diseño experimental o desarrollo, puede ser una tarea desalentadora y hasta “viciada” si no se inicia con conceptos claros y elementales, desde que lanzamos el primer trazo en una hoja de diseño. No sólo hay una mínima cantidad de características técnicas a tener en cuenta, también hay cuestiones muy diversas y que no a todos pesa por igual. No será lo mismo un aficionado que se lance a construir una pequeña aplicación llamativa con LEDs y servomotores (que quizás nunca termine), respecto a una gran empresa de manufactura, donde los costos y los tiempos de espera, que puedan paralizar un proyecto de millones de unidades, se incrementen una semana. A nivel de aficionado, podemos estar acostumbrados a echar mano del primer microcontrolador que tengamos disponible en una gaveta o de aquel que se venda en la tienda más cercana a nuestro hogar.  Ahorrar un dólar para optimizar el costo de la unidad y que luego los gastos de envío nos carguen con 30 dólares nuestro “saldo deudor”, no es una idea muy brillante. Sin embargo, en un millón de unidades (juguetes de cotillón para fiestas, con luces, por ejemplo) ese ahorro de un dólar puede significar una sonrisa muy grande en nuestros jefes.

Es decir, sin llegar a la obsesión de la mezquindad absoluta, es bueno aprender a administrar recursos ya que quizás hoy, ése dólar “extra” nos sobre en el bolsillo o en la gaveta, pero si mañana debemos aprender a administrar enormes producciones en masa, de un día para el otro, puede llegar a ser un camino muy empinado y difícil de sortear. Liberarnos del “vicio” (mencionado al inicio) de aprender a seleccionar materiales en el mercado podemos hacerlo desde el principio, durante el aprendizaje. Sin caer en pagar más gastos de transportes que de materiales, nuestro producto final hablará por nosotros y los cazadores de talentos que viven buscándote en la web, sabrán diferenciarte entre la multitud.

La selección del elemento apropiado es como intentar descubrir el mejor camino

En la última parte de esta introducción debemos reconocer que al inicio de un proyecto hay una gran tentación de saltar y empezar a seleccionar el microcontrolador antes de que los detalles del sistema estén terminados de enumerar y plasmar en un sencillo listado de necesidades, esto es, una selección de acciones que deberá ejecutar nuestro desarrollo. Esta tentación es, por supuesto, una muy mala idea. Antes de administrar cualquier pensamiento orientado a la selección del microcontrolador, los ingenieros de hardware y software (es decir, tú) deben trabajar los altos niveles del sistema, con diagramas de bloques esquemáticos y diagramas de flujos operativos. Sólo entonces, existirá suficiente información para empezar a hacer una selección racional y prudente del microcontrolador.

¿Para qué quieres utilizar un 18F14K50 si sólo deseas hacer un esclavo dentro de una red RS-485 que active un PWM para un dimmer? ¿Comprendes lo que intentamos expresar? Tal vez no tengas otra cosa que ese 18F14K50 para sacar adelante ese sistema y entregarlo mañana como trabajo práctico, pero tú sabrás bien que allí podrías haber resuelto la situación con otro microcontrolador mucho más económico y de igual en eficacia operativa. Vale decir entonces que, ante la falta de opciones, cualquier elemento puede ser útil para resolver nuestro hardware, sin embargo, cuando tenemos la posibilidad de seleccionar es bueno conocer las herramientas básicas de las que dispone cualquier diseñador para alcanzar un desarrollo optimizado.

Hacer una lista de las interfaces de hardware requeridas.
Esta es una de las primeras y principales enumeraciones a realizar. Utilizando un diagrama genérico de bloques de hardware, puedes crear una lista de todas las interfaces externas que el microcontrolador tendrá que soportar. Hay dos tipos “importantes” de interfaces que necesitan ser enumeradas. Las primeras son las interfaces de comunicación. Esto incluye los periféricos, tales como USB, I2C, SPI, UART, CAN, LIN y/o todos aquellos sistemas de comunicación que habitualmente llamamos “bus de datos”. Debes poner especial atención, dentro de esta etapa, si la aplicación requiere conectividad USB o alguna forma de Ethernet. Estas interfaces afectan en gran medida a la cantidad de espacio del programa tendrá que llevar adelante el microcontrolador. Además, aquí entra a jugar un papel fundamental el factor económico.

La cantidad de pines se determina con un simple diagrama en bloques de los periféricos utilizados

Es decir, ¿me conviene utilizar un microcontrolador con USB nativo o un FTDI operado por UART? Claro, hoy la capa física del USB o de Ethernet pueden ser habituales y nativas en microcontroladores de bajo costo, sin embargo, trabajando por UART puedo utilizar todo el abanico de soluciones “hechas y listas para usar” que puede brindarme Arduino. Del otro modo, quizás deba pagarle a desarrolladores de software para que me organicen un código optimizado en un lenguaje que desconozco, orientado específicamente para una arquitectura determinada, o que me llevará meses aprender a dominar. Fíjate que en un pequeño detalle, un ATMEL con UART y un IC FTDI pueden resultar más efectivos que un PIC con Ethernet embebido. El otro gran tipo de interfaz es el de las entradas y salidas digitales I/O, ADC, DCA y PWM (sumemos los comparadores aquí). Este tipo de interfaz terminará de cerrar el número de pines que serán requeridos por el microcontrolador para la aplicación.

Requisitos de potencia del microcontrolador
En la segunda etapa de organización debemos comenzar a pensar en los requisitos de potencia de procesamiento que necesitará nuestro microcontrolador. Esto equivale a pensar si necesitamos un procesador trabajando a más de 100Mhz, o si un 16F628A a 4Mhz será suficiente para la tarea. Al igual que con el hardware, debemos tomar nota de los requisitos que serán importantes. Por ejemplo, ¿alguno de los algoritmos necesitará utilizar matemáticas en coma flotante? Aquí tendremos que comenzar a plantear los tipos de variables más grandes (mayor cantidad de bytes) que tendremos que manipular. ¿Existen lazos de control de alta frecuencia en sensores (MEMS, ADC, etc.)? Dicho de otro modo, sería estimar los tiempos y la frecuencia en que el microcontrolador  ejecutará tareas específicas. La cantidad de potencia de cálculo requerida será uno de los mayores requisitos para determinar la arquitectura y la frecuencia de trabajo del microcontrolador. Como puedes observar, ya tenemos dos puntos de apoyo muy importantes: Saber cuanta estructura externa deberá manejar con comodidad el  Microcontrolador y a qué velocidad deberá hacerlo.

Selección de la arquitectura.
Aquí comienza una de las etapas con mayor carga de interrogantes ¿Puede este proyecto  llegar a funcionar con arquitectura de 8 bits? ¿De 16 bits? ¿O necesitaré de un núcleo ARM de 32 bits? Entre la comprensión de la aplicación y el hardware a utilizar (saber que tareas hará el micro, en qué orden y con qué periféricos), sumado a las exigencias de los algoritmos de software requeridos, ya podremos comenzar a delinear una orientación hacia la arquitectura definitiva. No debes olvidar nunca que, aunque no los veas, puedes tener media docena de compañeros de trabajo en condiciones de analizar expansiones futuras de Hardware (HW) o de Firmware (FW). Esto es muy común en el mundo Freelance, pero si eres solo y la aplicación es exclusiva para ti, tampoco debes dejar de pensar que otros, al ver tu trabajo puedan opinar: “Yo le hubiera puesto un LED indicador de X”, “A mi entender le faltan servomotores que activen un brazo articulado para una mejor interacción con el usuario”, “¿Cómo no le has incorporado un sistema inteligente de carga de baterías?”, “¿No tiene Bluetooth? ¿Significa que no podrás hacerle una aplicación interactiva a un dispositivo móvil?

La arquitectura puede parecer un factor sencillo de resolver, sin embargo, siempre alguien deseará agregar algo más.

Necesidades de memoria.
La cantidad de Memoria de Programa (OTP o Flash) y la cantidad de RAM disponible, son dos componentes muy importantes en la selección de un microcontrolador. Asegurarte de que no te quedarás sin espacio para todo el programa (líneas de código) o en el espacio destinado a manejar las variables y las operaciones matemáticas que el proceso requiera es, sin duda, una la más altas de todas las prioridades de selección. Siempre será mucho más fácil seleccionar un microcontrolador con abundancia en estas características. Llegar al final de un diseño y descubrir que lo que necesitamos sería sólo un 5% más de espacio en Flash o en RAM puede significar una pérdida de tiempos imperdonables. Después de todo, siempre se puede empezar con un dispositivo bien dotado de espacio de memorias y luego pasar a otro más pequeño, dentro de la misma familia de microcontroladores. Además, la mayoría de los compiladores que se encargan de organizar el programa, hasta llevarlo a un archivo ejecutable por el microcontrolador, pueden calcular el espacio necesario a utilizar a medida que vamos incorporando código a la interfaz de desarrollo (IDE).  No te olvides de dejar espacio para la creatividad de terceros y las próximas versiones mejoradas del mismo equipo.  Esto puede ahorrarte muchos dolores de cabeza en el futuro y muchos rediseños de HW y FW.

Estamos a mitad de camino. Comienza la selección.
No, no te apures, no estamos refiriéndonos aún al microcontrolador. Hablamos de un proveedor confiable, de buena reputación en lo que respeta a variedad de materiales disponibles, a una mejor referencia sobre responsabilidad en el cumplimiento de los tiempos de entrega, un buen precio final y todo el apoyo logístico que pueda brindar como Servicio de Post-Venta. Esto último equivale a ofrecer los números de seguimiento de los envíos (tracking) a través del tipo de correo seleccionado para la entrega. Arrow, Avnet, Future Electronics, DigiKey, Mouser, Amidata (RS on-line), Elko, Cika o cualquier tienda similar alrededor del planeta que pueda brindarnos calidad, buen precio y confianza.

Ahora sí, para seleccionar el microcontrolador, con todos los datos que tenemos disponibles, podemos hacerlo desde nuestra experiencia y familiarización con una determinada marca, mediante la recomendación de otra persona, realizando una selección de algún modelo genérico dentro de varias marcas y luego decantarnos por el de menor costo o de mayor disponibilidad al momento de la compra.  La mayoría de los proveedores de circuitos integrados (sean fábricas o tiendas) tienen un motor de búsqueda que te permitirá introducir los parámetros más importantes del microcontrolador buscado (conjunto de periféricos, pines I/O, cantidad y tipo de memorias, etc.) y a medida que se introducen estas informaciones, la lista comienza a reducirse mostrando las coincidencias de los criterios de la búsqueda. De esa lista, el ingeniero puede avanzar hacia la selección definitiva de un microcontrolador.

Seleccionar dispositivos de bajo consumo, fundamental en equipos a batería.

Examinar los costos y las limitaciones energéticas
En este punto, el proceso de selección seguramente ya habrá revelado una serie de posibles candidatos. Este es un buen momento para examinar los requisitos de energía y el costo de cada unidad. Respecto a los requerimientos de energía, si nuestro trabajo final se alimentará desde una batería debemos asegurarnos de utilizar sistemas de ultra-bajo consumo energético. Aquí tenemos otro pilar fundamental en la elección. Como mencionamos al principio, la evaluación de costos es elemental, sin embargo, hay un criterio que no puede ser pasado por alto: "la relevancia de la aplicación en sí misma". La aclaración es la siguiente: no será lo mismo un procesador barato para un juguete, que uno sencillo, pero de alta gama y calidad para un equipo de electro-medicina. Quizás hasta este punto, con un microcontrolador de 25 centavos teníamos resulto el sistema, sin embargo, las altas garantías de seguridad de funcionamiento pueden llevarnos a seleccionar otro de 25 dólares. Es decir, la economía y la calidad de la aplicación deben equilibrar el fiel de la balanza.

Si necesitas proveer un gran proyecto, asegúrate de no quedarte sin mercadería pronto. Para un mismo producto, compara los recuadros.

Verificar la disponibilidad del dispositivo elegido.
Con la lista de partes potenciales en la mano, ahora es un buen momento para empezar a comprobar en qué cantidades se encuentra disponible la pieza que necesitamos. Algunas de las cosas a tener en cuenta son los tiempos de espera (plazos de entrega), la disponibilidad en grandes cantidades (en un mismo distribuidor) para asegurar una producción en masa sin detenciones, ni frenos inesperados. Si no hay en la tienda (no pueden tener millones de unidades de cada componente que exista) quizás su web puede informarte de la disponibilidad que hay en la fábrica y pueden acceder a estos materiales al momento de tu pedido (observa la imagn superior). Por otro lado y más allá de la disponibilidad en grandes volúmenes, es conocer si el producto está en fabricación activa o si ya está discontinuado (no se fabrica más). Todas estas cuestiones eran muy importantes en mis épocas de editor en N+. De hecho, uno de los casos emblemáticos de este problema fue el receptor con el TDA7000. Mucha gente se quedó con el deseo de construirlo. Existió un circuito integrado en una época que era un extraordinario receptor de comunicaciones. Tengo 6 u 8 unidades y podría hacer montajes maravillosos con ellos, pero ¿de qué serviría si nadie podría conseguirlos?

IDE, Compiladores y Herramientas de Depuración.
Esta puede ser una de las etapas de selección que no merece demasiados comentarios. Todos los fabricantes de microcontroladores se esforzarán y brindarán a los usuarios códigos de ejemplos, kit de desarrollos, compiladores de código, herramientas de depuración del mismo y hasta programadores específicos de la marca. Es importante saber que este material estará disponible para la construcción de los prototipos iniciales, de lo contrario, el proceso de desarrollo puede llegar a ser largo, tedioso y costoso.

Desde imaginar un producto hasta lograr cristalizarlo en la mente, hay un proceso que debe ser organizado y estructurado.

Simulación en Ordenador.
Si bien esta práctica no es aplicable a muchos casos, podemos crear un entorno de trabajo dentro de un Software de Simulación que sea capaz de soportar nuestro microcontrolador y experimentar allí si el comportamiento del dispositivo es el esperado. No siempre esta práctica es aconsejable para aferrarse a un concepto. Esto es, que allí funcione no significa que en la vida real suceda lo mismo, sin embargo, los resultados siempre serán muy aproximados y usar un simulador específico (recomendado por el fabricante de los microcontroladores) puede ser una herramienta segura y ágil para avanzar durante la fase de desarrollo. 

¡Comienza la experimentación!
Llegados a este punto del trabajo, aún no está dicha la última palabra. Si no existe un Kit de Desarrollo donde desplegar las conexiones a los periféricos necesarios y donde poder trabajar el FW con programación ICSP (In Circuit Serial Program), debemos comenzar a realizar un montaje en un protoboard, con los riesgos e impedimentos que muchas veces ello implica. Por citar un ejemplo muy sencillo y cotidiano, podemos mencionar a un 18F4550. (Pero 44 pines y encapsulado QFN). Riesgo de invertir una polaridad, de colocar un puente a Tierra o GND en un pin incorrecto, de cortocircuitar los pines del oscilador con el cuerpo metálico del cristal. Fallar en la construcción del circuito ICSP, olvidarnos de colocar resistencias limitadoras en las salidas a LED o en las entradas con Pull-up. Es decir, aquí es donde se adquiere un relieve significativo y válido de lo importante que es una apropiada simulación y un correcto desarrollo sobre un Kit específico, orientado al microcontrolador a utilizar.

Por supuesto y como mencionamos al principio, esto es el ideal para trabajos en grandes escalas de fabricación. Si sólo quieres divertirte y aprender un poco, estos sencillos consejos te ayudarán a aprender. Si tu objetivo es algún día llegar a la cresta de la ola, esto es un conocimiento básico y elemental que deberás manejar a diario.

Esto fue una interpretación libre de un artículo aparecido en EDN.

domingo, 10 de marzo de 2013

VL6180: Tu dispositivo móvil sabrá que lo tocarás.

Hasta ahora, la manera clásica de poner en funciones cualquier dispositivo móvil era presionando alguno de sus pulsadores o tocando su pantalla. Luego de esto, era clásico también, que la luminosidad de la imagen se adecuara a la iluminación ambiente. En las próximas generaciones de dispositivos móviles, con sólo acercar tu mano él sabrá que estás a punto de tomarlo y se iniciará solo. También entenderá cuando sólo pases de largo tu mano ante él y no hará nada. Este nuevo detector inteligente, el VL6180 de ST Microelectronics, no sólo sabrá hacer eso sino que además ajustará de manera efectiva la iluminación de su pantalla, ofreciéndote imágenes brillantes y claras sin importar la luz ambiente.



Mediante la combinación de tres elementos ópticos, embebidos en un único encapsulado compacto, el VL6180 es el primer miembro de la familia FlightSense de ST Microelectronics y utiliza una nueva tecnología óptica de detección que permite innovadoras interacciones entre el usuario y sus nuevos dispositivos móviles inteligentes. El VL6180 utiliza una tecnología de “medición de proximidad” para ofrecer una precisión y fiabilidad sin precedentes en el cálculo de la distancia “física” entre el dispositivo móvil  (un teléfono inteligente o una tableta) y el usuario. En lugar de estimar la distancia, midiendo la cantidad de luz reflejada por el objeto, que está significativamente influenciada por el color y el tipo de superficie, el sensor mide con precisión el tiempo que la luz tarda en viajar al objeto más cercano y ser reflejada de vuelta al sensor. Este enfoque del “Tiempo de Vuelo” (Time-of-Flight) de la señal, ignora la cantidad de luz reflejada y sólo tiene en cuenta el tiempo que la luz demora para hacer el viaje desde el momento en que parte del emisor hasta que es recibida, en su regreso, por un sensor “ultra-rápido”, incorporado en el mismo encapsulado. El tiempo es procesado de manera inteligente evaluando si el objeto (tu mano) se acerca hasta límites mínimos, si se mantiene a distancia o si se aleja.

  VL6180, el primer miembro de la familia FlightSense de ST Microelectronics

La clave para llevar adelante esta funcionalidad, patentada por STM, es mediante un emisor de haces infrarrojos que irradia impulsos de luz y está directamente relacionado a un detector de luz, también infrarroja, “ultra-rápido” que recoge los impulsos reflejados y los decodifica interpretando que corresponden al emisor del VL6180. Luego, un circuito se encarga de medir con precisión la diferencia de tiempos entre la emisión de un pulso y la detección de su reflexión (de su retorno). De este modo, el VL6180 puede medir en tiempo real el movimiento de la mano del usuario cuando se aproxima irremediablemente para asirlo, o si sólo las utiliza para gesticular y/o hacer ademanes en su cercanía. Naturalmente, este nuevo hardware incorporado a los dispositivos abre un enorme abanico de nuevas posibilidades para que los desarrolladores de software puedan crear aplicaciones en las que el usuario pueda interactuar en forma directa con el dispositivo, sin tocarlo. Combinando una experiencia única en la fabricación de dispositivos electrónicos y ópticos de toda la compañía, el VL6180 incorpora además, un sensor de luz ambiente que posee un amplio rango dinámico (0.0046 a 95Klux) con una salida de 16 bits de resolución.

 Diagrama en bloques del VL6180, según su hoja de datos.

A pesar de que en la actualidad existan aplicaciones que utilicen la pantalla táctil o el acelerómetro del dispositivo para detectar que lo has tocado (aplicaciones utilizadas para jugar bromas), esta nueva herramienta permitirá incluso dirigirse a la persona “antes” de consumado el hecho. Es decir, será sorprendente escuchar que el dispositivo te advierta con un “¡No me toques!”, como si supiera nuestras intenciones. El módulo está diseñado para un funcionamiento  con consumos de energía extremadamente bajos, en el orden de unos pocos micro-amperes (o micro-amperios) en modo de espera y algo menor a 2mA mientras realiza las mediciones de distancia y utiliza automáticamente su ALS (Ambient Light Sense) a intervalos definidos por el usuario. Múltiples sistemas de alarma y de umbrales de proximidad pueden activarse, programarse e interactuar con cualquier tipo de microcontrolador mediante su interfaz I2C @ 400 Khz. Para funciones opcionales adicionales, que siempre pueden ser útiles y necesarias, incorpora dos GPIO (General Purpose Input/Output) programables. Sin dudas, los fabricantes de equipos móviles tendrán acceso a este tipo de dispositivos mucho antes que nosotros, pero llegará el día en que podremos utilizarlo y disfrutarlo en nuestros montajes electrónicos. ¿Ya tienes pensado en qué dispositivo lo implementarás?

Fuente: ST Microelectronics

sábado, 17 de julio de 2010

Datalogger de temperatura con 18F2550 (II)

Luego de varios días de acumular bytes en la memoria EEPROM 24C64, ha llegado la hora de descargar todos esos valiosos datos al ordenador y comprobar si todo ha funcionado según lo esperado. Para descargar la información almacenada en la memoria del datalogger utilizaremos la conectividad USB que nos ofrece el PIC 18F2550 y una sencilla aplicación realizada en VB6 para facilitarnos la tarea. Hasta ahora todo fue un trabajo silencioso de adquisición de datos, aquí comienza la verdadera acción y la obtención de los beneficios que nos brindará el datalogger.

Al sistema que hemos visto en el artículo anterior le hemos suprimido la alimentación mediante la conexión USB al ordenador y le hemos agregado al montaje una pequeña fuente de alimentación construida especialmente para protoboard. Con una entrada de 12Volts a partir de una pequeña fuente de pared y dos reguladores fijos, obtenemos una construcción muy simple y efectiva. Un 7805 (5Volts) y un AZ1117 (3,3Volts) en una pequeña placa de menos de 5 centímetros por lado resumen una fuente de energía pequeña y fácil de incrustar en cualquier zona del protoboard. En nuestro caso, hemos elegido un rincón libre donde no moleste para trabajar con libertad y, por sobre todas las cosas, para que no afecte a las lecturas de temperatura del STCN75. Como mencionamos antes, dos reguladores, algunos capacitores, un par de LEDs indicadores de tensión de funcionamiento y allí tenemos nuestra fuente de alimentación para protoboard. De este modo, con una sencilla fuente de pared y un módulo muy fácil y rápido de instalar en cualquier punto del protoboard, resolvemos el tedioso trabajo de armarle a cada desarrollo una fuente incorporada dentro del experimento para usarlo de modo autónomo y ambulante.

El programa que hemos preparado consta de muy pocas partes, todas muy importantes. En un sector destacado encontramos un cuadro de texto donde se exhibirán los datos recuperados cual si fuera un listado inmediato que podemos analizar allí mismo sin mayores recursos que la observación del texto mostrado. En el sector derecho encontramos tres botones. El primero (superior) se activa al establecer conexión USB entre el ordenador y el datalogger. Este botón, al activarse, nos permitirá obtener los datos almacenados en la EEPROM que, como dijimos en el párrafo anterior, podemos leer y analizar en la misma aplicación.



Si te interesa realizar este proyecto, continúa leyendo aquí.

sábado, 1 de mayo de 2010

LTC6904: Oscilador de 1Khz. a 68Mhz. (I2C)

La muralla técnica de todo diseñador electrónico que intenta desarrollar un oscilador está compuesta por dos paredes que a veces resultan infranqueables: los límites de frecuencias “máxima y mínima de oscilación” y la amplitud constante en todo el rango de frecuencia de trabajo. Los circuitos convencionales RC o LC se encuentran siempre limitados a una pequeña (y estrecha) porción del espectro para entregar una oscilación a un nivel de tensión de salida constante. Linear Technology comercializa un chip capaz de entregarnos una oscilación variable entre 1Khz y 68Mhz. por pasos ajustables mediante bus I2C. Es decir, con un microcontrolador, un sencillo juego de instrucciones y un LTC6904 puedes lograr un oscilador muy útil para tu banco de experimentación. Es muy sencillo, compruébalo tú mismo.

Disponible en un encapsulado MS8, el LTC6904 de Linear Technology es una solución muy interesante cuando buscamos un oscilador que pueda abarcar un amplio rango de frecuencias útiles para desarrollos de múltiples posibilidades. Con sólo leer las características de frecuencias posibles de funcionamiento nos damos cuenta de que estamos ante un gigante. El segmento inicial desde 1Khz hasta los 20-22Khz. puede ser muy útil para trabajar en BF, ya sea en la reparación como en la asistencia al diseño de circuitos de audio. Un poco más allá y hasta los 300Khz, puedes experimentar con ultrasonidos y las conocidas “ondas largas” de radio. Más arriba y en la mejor parte del campo experimental, puedes atravesar todo el espectro de las ondas medias, donde transmiten las emisoras de AM, y de las ondas cortas, capaces de alcanzar una cobertura mundial con su señal. Cuando cruzamos la barrera de los 30Mhz y nos introducimos en VHF, la situación deja de ser interesante para transformarse en imperdible y digna de experimentar.

El LTC6904 es un oscilador integrado en un solo chip que logra alcanzar una frecuencia de trabajo de hasta 68Mhz sin ningún componente externo más que un clásico capacitor de 100nF acoplado a la alimentación del circuito integrado. Todas las bondades de funcionamiento que puede ofrecer el LTC6904 serían muy largas de enumerar en este artículo y nuestro propósito no es reproducir lo que expresa la hoja de datos del producto sino compartir contigo nuestra experiencia en su implementación. Para esto (como no podía ser de otra manera) utilizamos nuestra placa de pruebas con el 18F2550, montada en el artículo anterior, que haremos debutar con esta aplicación de lujo. De todos modos, tú puedes realizar las prácticas con cualquier otro entrenador o microcontrolador ya que las bases sustanciales, el concepto de diseño y la sencillez de operación que ofrece el LTC6904 permiten lograr un funcionamiento excepcional hasta con un elemental 16F84A. Lo mismo vale para el circuito impreso donde se coloca el oscilador. Diseña tus propias placas, experimenta una y otra vez hasta encontrar el mejor funcionamiento y el rendimiento óptimo. De eso se trata, de que tú lo hagas mejor.

¿Te interesa? El artículo continúa aquí

sábado, 25 de julio de 2009

Adaptador de niveles para bus I2C (3,3V/5V)

En la actualidad existen muchos microcontroladores que utilizan 3,3Volts de alimentación debido a las modernas tecnologías de fabricación de 0,5 micrómetros. Además, la constante miniaturización ya está entregándonos dispositivos que trabajan a 2Volts, 1,8Volts y hasta 1,35Volts. La existencia de componentes que trabajan a tensiones normalizadas de 5Volts nos obliga a adaptar los niveles de voltaje dentro del bus I2C para lograr un funcionamiento correcto entre estos dispositivos que utilizan distintas fuentes de tensión. Un problema frecuente; he aquí una solución eficiente.

Si en un circuito no existen dispositivos capaces de adaptar los niveles de los impulsos manejados dentro de un bus I2C entre dos dispositivos que sean alimentados con diferentes tensiones, es muy probable que aquel que trabaje con la menor tensión se dañe irremediablemente. En el caso inverso, aquellos que utilicen los voltajes de trabajo inferiores corren el riesgo de no ser detectados dentro del bus cuando intentan conectarse a los demás. Sin embargo, existen algunos componentes que, a pesar de operar con tensiones de 3,3Volts de alimentación, tienen la posibilidad de conectarse sin inconvenientes y sin componentes adicionales a un bus I2C que utilice una tensión de 5Volts.

El inconveniente que se presenta con esta clase de montajes es que, en la gran mayoría de los casos, los dispositivos que son desarrollados para operar con tensiones de trabajo de 3,3Volts no traen la posibilidad de ser compatibles con un bus I2C de 5Volts, mientras que los pocos que sí lo hacen y que se encuentran en el mercado son más caros que un dispositivo estándar, ya que las técnicas de fabricación son más complejas. La manera más usual de solucionar este inconveniente es a través de la utilización de dos transistores MOS-FET de canal N conectados entre los elementos de distintas tensiones de trabajo. Aquí te lo mostramos.

sábado, 27 de junio de 2009

POV: Escribe con luz en el aire

El POV (Persistence Of Vision) es un fenómeno visual descubierto por el científico belga Joseph Plateau que demuestra cómo una imagen permanece en la retina humana una décima de segundo antes de desaparecer completamente. Esto permite que veamos la realidad como una secuencia de imágenes que el cerebro "enlaza" como una sola imagen visual móvil y continua. El cine aprovecha este efecto y provoca ese "enlace" proyectando más de diez imágenes por segundo (generalmente 24), lo que genera en nuestro cerebro la ilusión de movimiento.

Si a un LED o a un conjunto de ellos los activamos de manera apropiada en tiempo y forma, obtendremos, gracias a la persistencia de nuestra visión, imágenes que parecen estar flotando en el aire. En el mundo de los juguetes y/o gadgets es muy común encontrar relojes, despertadores, indicadores de saludos navideños, mensajes de amor y cuantas cosas se nos puedan imaginar que sean mensajes transmisibles mediante la palabra o las imágenes. Esta clase de productos basan su principio en los scroll-texts o pasa-mensajes que podemos ver en los autobuses, en las entradas del metro, en los comercios y en cada vez más lugares. En el caso de los carteles, una línea (o columna) se enciende a la vez y su traslación rápida y continua, con el encendido apropiado, van formando el mensaje que vemos y leemos.

Te invitamos a que construyas uno tú mismo. Aquí está toda la descripción. Diviértete !

Saludos!
Mario!