SGCG

…esto no es un subtítulo…

Ir a: contenido categorías calendario archivo suscripción

Volver arriba

Sorbete: una tarjeta microcontroladora didáctica

2011-11-09

Últimamente, están surgiendo muchas tarjetas con microcontroladores que son muy útiles para hacer prototipos de toda clase de ingeniosos aparatitos electrónicos. ¿Por qué no hacer la mía propia? Una que sirva para aprender a manejar diminutos microcontroladores como el PIC12F629 y el PIC12F675 y para preparar prototipos rápidamente. He aquí el resultado de este proyecto de fin de semana: la tarjeta Sorbete, cuyo nombre (¡gracias por sugerirlo!) viene, aparentemente, de la combinación de colores blanco y amarillo, que recuerda al sorbete de limón.

Tarjeta Sorbete en acción.
La tarjeta Sorbete en acción. Blanco y amarillo… ¡sorbete de limón!

Esta tarjeta, de aspecto humilde, tiene algunas características que la hacen muy práctica como plataforma de aprendizaje:

Faltan algunas características de las placas de aprendizaje de los últimos tiempos: no hay regulador de tensión y tampoco hay una interfaz USB para la programación (pero sí hay unos conectores para usar un programador in situ como el PicKit 2 o incluso uno de fabricación casera).

Esquema

Esquema de la tarjeta Sorbete.

Aquí está el esquema del circuito en diferentes formatos:

El programa informático gschem es parte del proyecto gEDA, software libre para el diseño de circuitos electrónicos.

Fabricación casera

Vista superior de la tarjeta Sorbete.
Vista superior de la tarjeta Sorbete.

La placa Sorbete está hecha con componentes relativamente fáciles de conseguir. Es fácil de montar sin necesidad de fabricar un circuito impreso con los siguientes componentes:

El circuito no es especialmente difícil de montar, pero hay muchos cables por soldar, lo que lleva cierto tiempo. Es más fácil si los cables son delgados que si son gruesos.

La tarjeta Sorbete vista desde atrás.
La tarjeta Sorbete vista desde atrás. Los cables gruesos dificultan el montaje.

Si el portapilas es abierto, puede ser fácil sujetarlo a la placa con un poco de alambre.

Microcontrolador

El chip microcontrolador está situado en el zócalo central. La indentación que sirve para orientar el circuito integrado ha de apuntar hacia arriba.

La placa Sorbete funciona con microcontroladores PIC de 8 patillas como el PIC12F629 y PIC12F675.

Orientación del microcontrolador.
Orientación del microcontrolador.

Numeración de las patillas del microcontrolador.
Numeración de las patillas del microcontrolador.

Alimentación

La placa Sorbete puede ser alimentada mediante dos pilas de tipo AA situadas en el portapilas o mediante una alimentación externa. Como no hay regulador de tensión, hay que tener cuidado de no superar la tensión máxima de 5,5 V dada por el fabricante del microcontrolador.

Si se usa el portapilas incorporado, hay que enchufar sus terminales al conector J1 situado justo a la derecha. El terminal positivo (T1 en el portapilas y T3 en la placa) es el de arriba y el negativo (T2 en el portapilas y T4 en la placa) es el de abajo. La tensión positiva es la alimentación Vdd y la negativa es la tierra Vss.

Si se usa una alimentación externa, es posible conectarla tanto al terminal J1 como a los extremos 1 (positivo, a la izquierda) y 8 (negativo, a la derecha) del conector hembra de la parte inferior de la placa. Cualquier otro conector de alimentación (Vdd, positivo) y tierra (Vss, negativo) de la placa valdría, por supuesto.

Si se alimenta el circuito con el portapilas, entonces la tensión será de entre unos 2,4 V (nominalmente con pilas recargables de los tipos NiCd y Ni-MH) y unos 3,0 V (nominalmente con pilas salinas y alcalinas). Estas tensiones son muy bajas para alimentar muchos circuitos periféricos (que a menudo requieren 5 V, pero son perfectamente válidas para muchos usos.

Justo encima del microcontrolador hay un condensador de 100 nF entre alimentación Vdd y tierra Vss que sirve para filtrar variaciones rápidas de la tensión, lo que sirve para insensibilizar un poco el microcontrolador frente al comportamiento de las cargas o una alimentación ruidosa.

Condensador de filtro.
Condensador de filtro para la alimentación.

Entradas y salidas

Los microcontroladores PIC de 8 patillas tienen 6 patillas útiles para entradas y salidas. La patilla número 3 es sólo de entrada, pero las demás también pueden ser usadas como salidas. La placa Sorbete tiene dispositivos de entrada y salida integrados: leds, botones y conectores. Es posible seleccionar la función a la que está conectada cada una de las patillas de forma individual. Esto se hace con los puentes situados a los lados. Hay tres posiciones para cada patilla, salvo para la 3, para la que sólo hay dos:

Configuración de los canales de entrada y salida.
Configuración de los canales de entrada y salida.

Todos los leds están protegidos mediante resistencias de 330 Ω que limitarían la corriente a unos 12 mA en el peor de los casos (alimentación a 5,5 V y caída de tensión en el led de 1,7 V). Con 2,5 V de alimentación, los leds todavía brillan.

Conexión de los leds.
Conexión de los leds.

Todos los botones menos el de la patilla 4 (GPIO4 y MCLR) están conectados a tierra en reposo y a alimentación al ser pulsados gracias a resistencias de 10 kΩ. En el caso del botón de la patilla 4, la conexión es a la inversa: alimentación en reposo y tierra al ser pulsado. Esto es así porque MCLR se activa con el nivel de tensión bajo, no alto. Con las resistencias de 10 kΩ, los botones tienen muy bajo consumo: en el peor de los casos, con una alimentación de 5,5 V, la máxima corriente por botón seleccionado es de 550 µA, lo que da una potencia máxima de unos 3 mW por botón seleccionado. Esta configuración tiene un inconveniente: no permite explotar las resistencias pull-up internas del microcontrolador; para usarlas, habría que desconectar el resistor entre botón y tierra y conectar el otro terminal del botón a alimentación, no a tierra (de modo que el botón estaría en bajo, no en alto, al cerrarse).

Conexión de los botones.
Conexión de los botones.

Los conectores de entrada y salida están dados por duplicado. Por una parte, están los de la hembrilla inferior central, cuyos conectores, numerados del 1 al 8 de izquierda a derecha, se corresponden uno a uno con los del microcontrolador. Por otra parte, hay seis grupos de tres patillas que se corresponden, de izquierda a derecha, con las patillas de la 2 a la 7 del microcontrolador:

Estos grupos de tres patillas son muy prácticos para enchufar sensores y servos.

Conexión del conector hembra.
Conexión del conector hembra.

Conexión de los conectores macho.
Conexión de los conectores macho.

Conexión de resonadores

Además de permitir el uso del resonador interno del microcontrolador para dar la señal de reloj, es posible configurar la tarjeta Sorbete para utilizar diferentes resonadores externos:

Hay varios conectores situados a la izquierda del microcontrolador para permitir esta tarea.

Conectores para los resonadores.
Conectores para los resonadores u osciladores.

Conexión de un cristal piezoeléctrico

Los cristales piezoeléctricos son muy precisos y estables. Hay que conectarlos acompañados de condensadores (tal como establece el manual del microcontrolador) de la siguiente manera:

Según el manual del fabricante del microcontrolador, a veces es necesario conectar una resistencia en serie entre el cristal y OSC2 (la patilla número 3 del microcontrolador). Esta resistencia ha de ir entre los terminales T13 y T14 y el puente J2 ha de estar levantado. Si no hace falta la resistencia, basta con cortocircuitar el puente J2.

Conexión de un resonador cerámico

Los resonadores cerámicos son menos precisos que los piezoeléctricos, pero son más baratos. O se conectan como el piezoeléctrico o, si vienen con tres terminales y condensadores incorporados:

Conexión de un resonador RC

Un resonador RC está formado por un condensador y una resistencia. El condensador se carga en un tiempo finito mediante una corriente limitada por una resistencia y, después, se descarga rápidamente. Los resonadores RC son menos precisos que los cerámicos. Las conexiones son como siguen:

Conexión del programador

Es posible usar programadores in situ como el PicKit 2. Hay que enchufarlos en la hilera de conectores J1 (indicada con las letras ICSP). La correspondencia entre conectores es la del PicKit 2:

  1. La patilla 1 va a Vpp (patilla 4 del microcontrolador).
  2. La patilla 2 va a Vdd (patilla 1 del microcontrolador).
  3. La patilla 3 va a Vss (patilla 8 del microcontrolador).
  4. La patilla 4 va a ICSPDAT (patilla 7 del microcontrolador).
  5. La patilla 5 va a ICSPCLK (patilla 6 del microcontrolador).
  6. La patilla 6 no tiene uso en este caso.

Conexión del programador 'in situ'.
Conexión del programador in situ.

El circuito ofrece cierta protección para Vpp, ya que alcanza unos 12 V y sería fácil quemar componentes conectados aguas abajo o el propio programador. Esta protección va en forma de resistencias de 10 kΩ entre la patilla 4 del microcontrolador y tanto el botón como los conectores de periféricos de entrada. De este modo, incluso en el peor de los casos de cortocircuitar el conector de periféricos de entrada a tierra, la corriente de apenas 1,2 mA.

No hay protección entre las tomas de alimentación Vpp y Vss de programación y del resto del circuito, así que, para programar, hay que desconectar la alimentación normal.

Programa de ejemplo

Para probar la placa, nada mejor que ejecutar un pequeño programa de ejemplo: unas luces que se mueven y rebotan de un lado para otro al pulsar un botón. He aquí el código fuente en ensamblador de PIC:
bouncinglight.asm.
El programa está escrito para el PIC12F629, pero también valdría para otros microcontroladores con modificaciones mínimas (por ejemplo, el PIC12F675 es igual que el PIC12F629 en lo que afecta a este programa).

Hay varios compiladores para PIC. Recomiendo GPASM, parte del proyecto GPUTILS, que es software libre. Con GPASM, basta con escribir la siguiente orden:
gpasm bouncinglight.asm
Habrá varios avisos sobre el banco elegido en algunos puntos, pero podemos ignorarlos porque la elección es correcta.

Para programar el microcontrolador con el PicKit2, podemos usar el programa PK2CMD, que es software libre. Basta con esta línea:
pk2cmd -PPIC12F629 -F$PWD/bouncinglight.hex -M
Ahora bien, si PK2CMD no encuentra de que no encuentra PK2DeviceFile.dat (en muchas instalaciones pasa), hay que indicarle la ruta. Por ejemplo, si los datos de los dispositivos están en /usr/share/pk2, basta con esta orden:
pk2cmd -PPIC12F629 -B/usr/share/pk2 -F$PWD/bouncinglight.hex -M

Una vez se ha escrito el programa en el microcontrolador, es fácil probarlo. Se retira el programador y se conecta la alimentación. Con todos los puentes de configuración de las entradas y salidas en las posiciones de la izquierda (leds para las patillas 2, 3, 5, 6 y 7 y el botón para la patilla 4), se encenderán las luces y formarán una barra luminosa. Al pulsar el botón, la barra de luz es sustituida por un punto brillante en movimiento que rebotará de un lado a otro.


Categorías: Electricidad, Informática, DIY

Permalink: https://sgcg.es/articulos/2011/11/09/sorbete-una-tarjeta-microcontroladora-didactica/