sábado, 19 de junio de 2010

DS1307: Reloj en tiempo real con 18F2550

El DS1307 de Dallas Semiconductor (Maxim) es una solución muy interesante cuando necesitamos trabajar con eventos que requieren puntualidad y exactitud a lo largo del tiempo. Este pequeño circuito integrado es uno de los más populares relojes RTC (Real Time Clock) del mercado por su sencillez de uso y por su confiabilidad a largo plazo. Preparado para ofrecerte la hora hasta el año 2100. El DS1307 a fondo en este artículo.

La flexibilidad de trabajo que nos ofrece el bus I2C hoy nos trae una aplicación muy útil e importante para los momentos en que necesitamos controlar dispositivos o aplicaciones en las que la exactitud horaria es un factor fundamental. El DS1307 de Dallas Semiconductor (Maxim) es un dispositivo que se conoce como “Reloj de Tiempo Real” (Real Time Clock – RTC) que opera a través del bus I2C y que, además de brindarnos la hora con minutos y segundos, posee un calendario que contempla los años bisiestos hasta fin de siglo, es decir, hasta el año 2100.

Entre las características destacadas, posee una salida (configurable por software) que, en nuestro caso, la utilizamos como “segundero luminoso”, y la posibilidad de trabajar con una pequeña batería para almacenar los datos mientras el sistema se encuentra desconectado de la alimentación. Además, esta pequeña alimentación de respaldo permite mantener funcionando el oscilador maestro del reloj con un consumo ínfimo de 300nA, según su hoja de datos. Una simple batería de Litio CR2032 puede brindarnos un funcionamiento satisfactorio durante 10 años. ¿Te parece poco? Conectar un artefacto que construimos hace tres años y que siga estando siempre ajustado en fecha y hora es algo muy interesante de experimentar.



Si te interesa construir un verdadero sistema de Real Time Clock, continúa leyendo este artículo.

sábado, 12 de junio de 2010

BootLoader para 18F2550

Un BootLoader es un pequeño conjunto de instrucciones que forman un programa y se graban, en este caso en un microcontrolador, para permitir un posterior manejo y actualización de sus programas internos (firmware) sin necesidad de utilizar programadores (hardware) específicos. Es decir, utilizas un programador (o quemador) de microcontroladores una única vez para cargarle el mencionado BootLoader al microcontrolador y luego te bastará con una sencilla aplicación en tu ordenador para cambiar a tu antojo el funcionamiento de tus sistemas. Todo mediante una vulgar conexión al puerto USB. Las plataformas modernas que se asemejan a Arduino (incluida ésta) utilizan este sistema de programación y nosotros no podíamos quedar afuera. Ahora la programación está al alcance de todos.

Es imposible resumir en un sumario de pocas palabras las infinitas ventajas que posee un BootLoader. Sólo debes imaginarte la situación: tu hardware, tu ordenador y un cable de conexión USB entre ambos. Eso es todo lo que necesitas para transformar al entrenador NeoTeo en un voltímetro, en un videojuego, en un operador de servomotores y en miles de cosas más. A pesar de que el conector ICSP es una de las herramientas maestras de las que dispone una persona que se dedica a experimentar con microcontroladores, la utilización de un BootLoader te ahorra el uso de un hardware adicional de trabajo como es el programador (o quemador).

Un ejemplo de las miles de ventajas que puedes tener sería este: Tú le has vendido a Max una aplicación y luego de un tiempo de uso él te expresa su lamento y pesar sobre algunas deficiencias del producto, mientras te comenta que desearía que hagas algunas mejoras para lograr un funcionamiento óptimo y acorde a sus necesidades. ¿Qué deberías hacer en esa situación? ¿Pedirle a Max que desarme todo el equipo y te lo envíe? Imposible. ¿Viajar tú de un país a otro para cambiar dos líneas de programa, conectar el hardware programador y demorar menos de cinco minutos en resolver el problema? ¡De locos! En cambio, si el sistema inicial posee la sencilla carga previa de un BootLoader, le envías a Max un pequeño archivo por correo electrónico y él mismo podrá actualizar la versión de firmware con un elemental cable USB conectado a su ordenador. Así trabajan Arduino, Amicus y todas las plataformas similares que compiten en la web. Así de sencillo y tentador. ¿Quieres verlo? Observa como se cambia de una aplicación a otra diferente en apenas algunos segundos.



Este extenso artículo continúa aquí.

sábado, 8 de mayo de 2010

Construye tu propio videojuego (DIY)

Realizar un videojuego no es una tarea sencilla pero en NeoTeo estamos empeñados en revertir ese concepto. Requiere de algunos conocimientos de programación, algunos materiales sencillos de conseguir y, por supuesto, muchas ganas de alcanzar la meta de realización. En este artículo te guiaremos para que puedas construir tú mismo un apasionante videojuego con naves espaciales y alienígenas por doquier que sólo buscarán tu aniquilación. El destino del planeta está en tus manos. Con esta construcción tienes la posibilidad de entrar en la historia de los videojuegos. Descubre de qué modo una nación entera puede cambiar sus hábitos económicos a partir de un videojuego. Sigue leyendo, sigue descubriendo este icono que nació para cambiar el mundo.

Lo primero que encontramos fueron versiones de PONG y luego de TETRIS en la Web de un mismo autor. Interesantes juegos, muy sencillos, muy fáciles de construir en una tarde de domingo y, por sobre todas las cosas, nos brindan la posibilidad de sentir orgullo por un trabajo ensamblado por nosotros mismos. Luego de buscar un poco más, por fin llegué a encontrar un videojuego atrapante, con la posibilidad de verlo en un TV color y con toda la historia que tiene esta verdadera leyenda del mundo de los videojuegos: Space Invaders. No había mucho que pensar, sólo juntar los materiales, ensamblar las partes y disfrutar.

Basaremos la realización de esta máquina recreativa en un PIC16F628A para el cual sólo tenemos el archivo HEX que llevará cargado y el diagrama esquemático para ayudarte en el montaje de los componentes. Descarga el software necesario (HEX) desde la web del autor, indicada al final del artículo referido y utiliza el grabador de microcontroladores para cargar el PIC con el software mencionado. En mis pruebas realizadas sobre un protoboard hice dos ensayos que me permitieron comprobar su funcionamiento y el gran trabajo del realizador del código. En este programa se destacan los movimientos suaves y precisos de la nave intergaláctica que manejaremos, la gran posibilidad de marcar el HI-SCORE y dejar inscriptas nuestras iniciales en la EEPROM del PIC hasta que alguien pueda superar esa marca, dificultades que se incrementarán a medida que avanza el juego y muchos aspectos que harán que sientas la verdadera emoción de estar frente a un videojuego de salón.

¿Te interesa la propuesta? 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, 17 de abril de 2010

Medidor de Resistencias y Capacitores

Las aplicaciones electrónicas son tan diversas que no podrían enumerarse de principio a fin. Siempre habrá una aplicación específica para resolver un desarrollo particular. Es muy raro encontrar una aplicación genérica que resuelva múltiples necesidades. Al igual que con el Voltímetro USB publicado en Neo Teo, con el circuito propuesto hoy no pretendemos construir un medidor universal que sea capaz de reemplazar a los instrumentos de banco que se utilizan para evaluar capacitores y resistencias. Esto es otra cosa. Esto es razonar, esto es aprender. Esto es analizar un abanico de posibilidades para adaptar la mejor solución a nuestro diseño. Y por supuesto, si lo deseas, también lo puedes utilizar para medir capacitores y resistencias.

Estoy convencido de que muchos de ustedes han atravesado momentos durante el desarrollo de un complejo circuito electrónico en los cuales han dicho frases como “Aquí me haría falta un circuito que pueda medir capacidad”. Por ejemplo, cuando han realizado algún oscilador o un filtro pasabandas de audio. Armar un medidor de capacitores (capacímetro) tal vez sea un emprendimiento importante que poco aprovecharemos en el futuro. Y comprarlo sería un gasto que no vale la pena para una aplicación tan pequeña. ¿Qué hacemos entonces cuando nos encontramos con ese frasco lleno de capacitores que no sabemos su valor y al menos desearíamos tener una idea aproximada de él? No lo necesitamos para reparar un marcapasos o para desarrollar un compás electrónico encargado de guiar misiles con ojivas nucleares. Hay situaciones y desarrollos específicos donde las tolerancias no requieren exactitud absoluta. A diario nos enfrentamos a diseños en los que es igual de útil y efectivo un capacitor de 100 nanofaradios que de 94 o 108 nanofaradios.

La instrucción RCIN es una poderosa herramienta para trabajar con  circuitos RC
La instrucción RCIN es una poderosa herramienta para
trabajar con circuitos RC

Lo mismo ocurre con las resistencias (o resistores). “¿El naranja que era?” “¿Dónde habrá quedado esa tabla de colores que…?” Hay que tener mucha experiencia y práctica en el manejo del código de colores de las resistencias para leer su valor e interpretar las bandas de colores con un simple pasaje visual. Por otro lado, dentro del diseño de circuitos complejos que aglutinan muchas secciones de sub-circuitos simples, puede hacer falta un medidor de resistencias. Un control de volumen necesita de un medidor de resistencias. Una fotocélula está acoplada por obligación a un medidor de resistencias. Y aquí nuevamente se hace presente el interrogante de la precisión y la exactitud. Subir un poco el volumen de nuestro flamante amplificador no discrimina entre 10K2, 12K u 8K7. Lo mismo si necesitamos un poco más de luz diurna para que actúe la fotocélula resistiva y se apaguen las luces del patio. No necesitamos 4 decimales. Con sólo saber una medida aproximada, muchas veces es suficiente.

Para estos casos que aparentan ser muy complejos encontramos soluciones fáciles y confiables en los microcontroladores PIC y en especial en el lenguaje de programación BASIC. Utilizando el mismo circuito que empleamos en la construcción del Voltímetro USB y agregándole un display alfanumérico convencional, resolveremos nuestra necesidad de disponer de un instrumento útil para medir capacitores y resistencias. Además, la técnica que hoy veremos nos será útil para muchos circuitos basados en PIC que necesiten dentro de su rutina de trabajo medir resistencias o capacidades aplicadas a algunos de sus pines. Con un poco de habilidad y razonamiento será muy sencillo adaptar estas rutinas y variantes en el circuito para agregarlas al Voltímetro USB NeoTeo y transformarlo en un instrumento múltiple. Si además le sumamos el amperímetro 0-5Amper que publicamos durante 2009, estaríamos muy próximos a delinear nuestro propio multímetro personal. Tal vez no resulte ser el más exacto al final de la construcción, pero estoy seguro que será el mejor del mundo porque lo habremos construido nosotros mismos. Llevará nuestra marca, nuestro sello, el reflejo de nuestra personalidad y eso es algo que no se compra con la tarjeta de los dos globitos.

Si te interesa este sistema de medición, continúa leyendo aquí.

sábado, 3 de abril de 2010

TIROS I: 50 años de la primera imágen satelital

Hace 50 años despegaba desde Cabo Cañaveral (ahora Cabo Kennedy) el cohete que colocaría en órbita a uno de los satélites útiles que cambió la historia de la humanidad. Si bien Rusia había dado el primer paso en la historia satelital, el TIROS I fue el primer satélite meteorológico considerado “útil y funcional”. Diseñado para testear técnicas de captura de imágenes y de patrones meteorológicos desde su órbita alrededor de la Tierra, el mundo asistió embelesado a la llegada de la primera imagen, borrosa por cierto, de formaciones nubosas sobre los Estados Unidos. Una imagen captada pocos días después reveló un tifón aproximadamente a mil kilómetros al este de Australia. Comenzaba allí la historia moderna de la meteorología.

El primer día de abril de 1960, a bordo de un cohete Thor-Able, la NASA lanzaba el primer satélite meteorológico dando inicio a una nueva era de observaciones del planeta Tierra, en este caso desde el espacio. A partir de este hito tecnológico, la humanidad pudo observar desde las alturas su hábitat y comprender mejor su belleza y fragilidad. El satélite tenía la capacidad de adquirir imágenes de las nubes que cubrían gran parte del planeta. Llevaba consigo dos cámaras de televisión compactas con lentes denominados “gran angular”, dos grabadoras de video para almacenar fotografías cuando el satélite quedaba incomunicado (hasta 32 imágenes), un sistema de comunicaciones que permitía su telemetría y control, cohetes de combustible sólido para el control de giro y una poderosa fuente de alimentación con baterías recargables de Níquel-Cadmio. Estas baterías se recargaban a través de los 9200 paneles solares que cubrían casi todo el exterior de la nave y que eran capaces de proveer una potencia de hasta 19Watts.

¿Quieres saber más de su historia? Continúa leyendo ...