A lo largo de 2009, hemos visto en NeoTeo una gran cantidad de montajes que han sido el gusto y deleite de muchos lectores pero que le han dejado a muchos otros un sabor amargo al descubrir que por desconocimiento del tema no logran comprender muchos aspectos relacionados a las construcciones con microcontroladores. Muchos expresan su alegría y su gusto por los trabajos publicados, pero otra importante mayoría se limita a comentar “lástima que de electrónica no sé nada”. Para todos ellos quisimos organizar un artículo mencionando lo más básico y elemental de la práctica que deben conocer para comenzar a dar los primeros pasos en el mundo de los microcontroladores. Durante 2010 nadie debe quedar afuera. NeoTeo será la casa de todos, sean expertos o aprendices, ingenieros o alumnos de nivel inicial. La electrónica está aquí, es hoy y nosotros utilizaremos todos los medios para que no dejes pasar este arrollador tren que no se detiene. Ven, sube y viajemos juntos.
Lo esencial para iniciarte en el mundo de la electrónica “viva”, de la electrónica activa y con movimiento propio, es saber que debes utilizar tus manos para construir hardware. La electrónica no existe sin hardware. Por ejemplo: tu ordenador no sería nada sin un hardware que lo haga funcionar. Debido a que existen infinitos tipos de dispositivos electrónicos capaces de interactuar entre sí para dar forma a cualquier sistema activo con prestaciones al menos elementales, nosotros vamos a orientar nuestra guía únicamente hacia la zona de los microcontroladores y el mundo físico que los rodea. Intentaremos mostrarte el ABC de lo que necesitas para el inicio. Sin esto será complicado iniciarse en forma exitosa; por lo tanto, te recomendamos tomar algunos ahorrillos y hacer una de las más importantes inversiones que puedas realizar: invertir en conocimientos para tu futuro. Comencemos.
Protoboard. Breadboard. Placa de pruebas.
Elemento indispensable para armar lo que será la escala intermedia antes de construir un circuito impreso y armar un montaje definitivo. En un protoboard, los terminales conectores de los elementos simplemente se introducen en orificios preparados para tal fin que poseen una conexión muy específica que debes conocer previamente para no cometer errores en el armado y las conexiones de tu diseño. Los tamaños de estos elementos fundamentales son tan variados como sus precios. Y si de consejos hablamos, no te recomendamos comprar el más pequeño y barato por el simple hecho de que eres un aprendiz. NO. Trata de buscar un término medio entre lo que puedas pagar y el tamaño de un protoboard, tratando de evitar algo que te quede chico a la segunda práctica de armar un desarrollo. Es decir, trata de comprar algo donde puedas albergar varios circuitos integrados (al menos 3 ó 4) y que te permita incorporar lo mínimo e indispensable en una construcción de práctica.
El protoboard de la izquierda puede ser un tamaño justo para iniciar la actividad. Allí puedes albergar en su bahía central (entre las letras “e” y “f”, según la imagen superior de ejemplo) unos 3 circuitos integrados o 2 de ellos y algunos otros componentes adicionales que sirvan de soporte funcional al diseño que intentarás ejecutar. Observa que a los costados poseen dos líneas bien definidas. Una roja que en sus extremos tiene un signo positivo y otra de color azul con el símbolo negativo. Por supuesto que serán los conocidos “buses” de alimentación. Es decir, en toda su extensión llevarán la alimentación al circuito bajo ensayo. Por supuesto que la energía no se crea o genera mágicamente por sí sola. Allí deberás conectar la alimentación proveniente desde un circuito que ya veremos de qué se trata. Para mayor claridad y comprensión, la imagen derecha te muestra el esquema de conexiones que lleva un sistema de pruebas de este estilo. Ese se maneja soldando los componentes, pero nos sirve para que veas cómo son las líneas de conexión “invisibles” dentro de un protoboard.
No temas cargarlo de infinitas cosas. Tú debes tener en claro hacia dónde colocas cada cable y cada componente que interviene en el proyecto. Tampoco te sientas cohibido por ser poco prolijo al principio. Si bien la estética del armado de un circuito es fundamental cuando las cosas no funcionan y hay que salir a buscar la falla, tampoco es tan crítica en desarrollos pequeños. Nuestro consejo, naturalmente, es que las conexiones sean lo más cortas y claras posibles. Evita los cables largos y los componentes con terminales largos. Estas premisas te ayudarán a acelerar los tiempos en momentos de resolución de problemas o de relevamiento del armado antes de la prueba inicial. Recuerda: un protoboard = rapidez, practicidad de reformar un circuito, reutilización indefinida.
Alimentación. Fuente de energía.
Debes contar con un sistema de energía capaz de suministrar la tensión necesaria para el buen funcionamiento de los circuitos que intentes desarrollar en tu flamante protoboard. Sin energía no hay funcionamiento. Las baterías o las fuentes de alimentación de pared son una alternativa interesante para un buen inicio. Luego, a medida que tu experiencia vaya incrementándose, podrás construir fuentes de alimentación de salidas múltiples de tensión (5V, 9V, 12V, tensiones negativas, etc.) o, en el mejor de los casos, adaptar una fuente de alimentación de ordenador para utilizarla como alimentador universal para toda clase de desarrollos.
Las baterías recargables pueden ser una de las mejores opciones para alimentar tus proyectos en una fase inicial ya que te pueden ser útiles para otras aplicaciones domésticas. Las fuentes de alimentación (de pared) de 9 ó 12 Volts que sean capaces de suministrar al menos 500 miliamperes (medio Amper) también serán útiles en esta etapa. Lo importante es lograr una tensión de 6 a 12 Volts con la cual alimentaremos los circuitos con los que experimentaremos. Tómalo de manera literal: la energía es la alimentación de nuestros circuitos, es la energía que los pone en acción, es el equivalente a nuestra ingesta alimentaria.
Fuente de 5 Volts. Optimizando la alimentación.
A partir de la tensión obtenida por las baterías o por el transformador de pared, debemos organizar dentro del protoboard una fuente de alimentación de 5 Volts regulados para hacer funcionar con la tensión correcta y exacta a cualquier microcontrolador. Con el sencillo agregado de algunos capacitores, un simple regulador de tensión fijo estará listo para trabajar. Para que puedas identificar los elementos mencionados y cómo deben estar dispuestos dentro del protoboard, te mostramos una imagen ilustrativa que te servirá de guía al momento de la construcción y armado de esta parte fundamental del desarrollo.
El circuito equivalente a lo que puedes ver en la construcción mostrada te detalla algunas pautas muy importantes a tener en cuenta que son las que te garantizarán un funcionamiento correcto y libre de inconvenientes causados por inversión de polaridad o exceso de tensión de entrada. Como siempre te decimos, para que esto funcione correctamente, no debes descartar ningún componente del circuito (por intrascendente que te parezca) y debes montar de manera ordenada los dispositivos tal como muestran el circuito y la imagen anterior.
A la entrada de tensión puedes aplicarle desde 6 hasta 12 Volts de corriente continua. El diodo D1 protege a todo el circuito ante posibles inversiones accidentales de polaridad al conectar la energía al circuito. R1 se encarga de limitar la corriente del circuito cuando trabajamos con tensiones superiores a los 9 Volts y permite alcanzar una caída de tensión suficiente para hacer trabajar al diodo zener D2 que regulará la entrada de tensión a VR1. De este modo, VR1 siempre tendrá en su entrada una tensión de 7V5, cuando la alimentación sea superior a los 9 Volts. Esto permitirá utilizar VR1 sin disipador de calor y operando a una temperatura segura. Los capacitores C1 y C3 se encargan de eliminar cualquier ruido residual que pueda existir en la entrada de alimentación que sea producto de arrancadores de iluminación fluorescente o de motores eléctricos funcionando en la cercanía. Por su parte, C2 y C4 se encargarán de atenuar el ripple o zumbido inducido por impulsos de baja frecuencia, como puede ser la red de energía domiciliaria. Con este sencillo circuito, entonces, tendremos completada la sección de alimentación a nuestro microcontrolador.
El Oscilador. El corazón que late para dar vida
Cualquier sistema inteligente que lleve en su interior un programa necesita un sistema de reloj (clock) que vaya marcando el ritmo de las instrucciones que realice el desarrollo. Le indicará paso a paso al microcontrolador el ritmo al que se cumplirán las instrucciones. Como el segundero determina el ritmo de avance del reloj o como el metrónomo se utiliza para indicar el tempo o compás de una canción, el oscilador, en un sistema con microcontrolador, sirve para indicarle al sistema interno la cadencia o el ritmo en el que se ejecutarán las instrucciones. Atención a este concepto: no debemos confundir la velocidad a la que se realizan los eventos externos del sistema (encender luces, activar solenoides, emitir sonidos, leer pulsadores, etc.) con el ritmo al que se ejecutan las instrucciones de programa dentro de un microcontrolador.
Por un lado, podemos realizar un programa que genere una intermitencia de encendido en un LED de 2 veces en un segundo, utilizando un PIC con un oscilador interno que funcione a 20 millones de ciclos por segundo (cristal de 20Mhz). Para un correcto funcionamiento, bastará con colocar un par de capacitores cerámicos de unos pocos picofaradios (22 a 47pF) con respecto a GND (Tierra). Algunos diseñadores incluyen en paralelo con el cristal una resistencia de 1 a 4,7 Mohm, pero esto no es esencial en los desarrollos iniciales. Por otro lado, existen muchos microcontroladores que ya traen incorporado en su interior un tipo de oscilador que no requiere de cristal externo.
Para esto, dentro del programa de funcionamiento del sistema, debemos indicarle al micro este modo de operación, mediante instrucciones precisas que en la jerga de la programación se las conoce como “setear los fuses”. Es decir, debemos darles los valores correctos a determinados registros internos del microcontrolador para que éste funcione según estos parámetros seleccionados. Pero para todo esto ya tendrás tiempo más adelante. Comienza colocándole un cristal al sistema ya que la programación es más sencilla y, si no les indicas nada específico, todos los programas que se utilizan para generar el código que empleará el micro tomarán por defecto que utilizarás un cristal.
Reset de inicio del sistema.
Esta conexión es necesaria ya que en los comienzos nuestros programas pueden ser algo inestables o quizás funcionen hasta un determinado momento y luego se detengan. Más práctico que desconectar la energía y volver a conectarla es colocar el pulsador de RESET para el que todo microcontrolador tiene reservado un espacio. Además, durante el inicio del sistema (al conectarle la energía), el núcleo de proceso del microcontrolador requiere de esta conexión para obtener un arranque o inicio adecuado. La práctica es muy sencilla y no demanda ningún aspecto especial dentro del programa que le carguemos al microcontrolador. El circuito específico es muy elemental. A través de este mismo pin, se puede implementar (para los más avanzados) una configuración especial para ingresar la tensión de programación (Vpp) en una conexión ICSP (In Circuit Serial Programming). En lugar de colocar una simple resistencia al positivo de la alimentación, un pequeño arreglo que incorpora un diodo y una resistencia resuelven esta conexión.
Indicador de funcionamiento.
Un pequeño LED que nos muestre el suministro de energía al sistema siempre es muy útil de disponer. Malas conexiones en los porta-pilas, en los conectores de batería o en los terminales de entrada de tensión son accidentes habituales durante las primeras prácticas. Y si de accidentes hablamos, la inversión de polaridad al conectar la fuente de alimentación puede llevarnos a perder mucho tiempo hasta descubrir el problema. Por un lado, estaremos seguros de que no romperemos nada por haber colocado en la entrada de alimentación un diodo 1N4007, como vimos antes. Y por el otro lado estaremos seguros de que la tensión está llegando al sistema porque vemos la fuente de alimentación encendida. ¡Todo está bien pero no funciona! Estos pequeños errores pueden hacernos perder mucho tiempo, pero una pequeña luz indicadora puede ser la solución rápida con una simple observación visual.
Además, la presencia de un indicador de “Power ON” nos dará la sensación de estar construyendo un equipo con calidad profesional. Siempre existe la posibilidad de que necesitemos varias indicaciones de alimentación a diferentes circuitos. Para esto, debemos saber calcular la resistencia que llevará en serie el diodo LED indicador. Sabiendo que una corriente de funcionamiento segura para este dispositivo es de 20mA (20 miliamperes), utilizaremos la elemental Ley de Ohm (dale… no te hagas el que no la sabes) para calcular el valor de la resistencia. Para el caso más común de una alimentación de 5Volts, el cálculo será igual a Tensión de Alimentación / Corriente de LED = Valor de la Resistencia. Recordemos que los valores necesarios para el cálculo deben ser empleados en unidades enteras, esto es, 5 Volts / 0,02 Amper = 250 Ohm. Como el valor comercial más aproximado es de 220Ohm, seleccionaremos éste para un funcionamiento apropiado, eficaz, seguro y vistoso.
¿Qué tenemos hasta aquí?
Todo lo visto hasta aquí es la configuración mínima de hardware para hacer funcionar un sistema con un microcontrolador. Sólo te falta saber qué deseas hacer con el sistema. Un elemental diodo LED intermitente, una consola de juego, un instrumento para el taller, ¿qué se te ocurre hacer? Lo que sea que decidas, siempre será bueno que sea sencillo al comenzar y, como siempre, un destellador LED es la práctica inicial obligada. En todos los casos, al microcontrolador hay que grabarle en su interior el programa para su funcionamiento, es decir, el set de instrucciones para que haga lo que deseas. Hay que “enseñarle” lo que debe hacer. Hay que programarlo. En NeoTeo (donde siempre encuentras lo que necesitas), te mostraremos un circuito para tal fin y todas las instrucciones de cómo realizarlo exitosamente. Una vez grabado el microcontrolador, ya tendremos todo listo para comenzar. Este será el circuito inicial:
Tenemos todo el hardware. ¡Comencemos ya!
Un momentito, señores. ¿Qué información cargaremos dentro del micro? Debemos decidir un lenguaje de programación para generar el archivo que se cargará en el microcontrolador y lo hará funcionar. Los más populares son ASM, C y BASIC. Los tres tienen sus ventajas y desventajas. Nada es maravilloso en un solo envase en esta vida. Con uno puedes ganar en sencillez al momento de programar, pero desperdiciar espacio de memoria útil de programa. Tal vez con otro lenguaje aproveches hasta el último bit y ciclo de reloj, pero quizás éste sea tan difícil como mirarse uno mismo el interior de un oído. Entonces, la decisión en este punto es algo compleja. Algunos dirán que hay que arrancar con lo más fácil para luego pasar a lo más complejo (me incluyo), mientras que otros opinarán lo contrario. Nosotros hemos adoptado el lenguaje BASIC para nuestros primeros ensayos y nos ha resultado bueno. Esto es una elección muy particular y personal. Prueba, ensaya, experimenta, instala programas, practica mucho y luego tú mismo inclinarás la balanza hacia el lenguaje que más cómodo y apropiado para tus trabajos te resulte. Por último, sólo resta decir que ¡no hay nada mejor que comenzar 2010 con un proyecto! Por lo tanto, aquí hay uno para que lo puedan hacer TODOS. Comencemos este nuevo año con un LED intermitente. ¡Anímate! ¡2010 es tu año!