Entrar en el mundo de los microcontroladores PIC suele tener una primera barrera incómoda: armar los prototipos. Muchos aficionados y estudiantes se quejan de que, para probar un par de líneas de código escritas para un PIC concreto, tienen que construir una tarjeta de circuito impreso, realizar soldaduras, comprar componentes y, en definitiva, perder una gran cantidad de tiempo. Pensando en ellos, en este artículo y en los siguientes del mismo tema describiremos paso a paso cómo crear un sistema de módulos totalmente compatibles entre sí, que nos permitirán realizar prácticas de programación sin problemas.

Dichos módulos comparten características comunes, de manera que sean compatibles entre sí. El sistema de módulos que hemos creado en NeoTeo se compone de una placa central, destinada a albergar el microcontrolador y unos pocos componentes accesorios, como el regulador de tensión, el cristal, etc., y una serie de conectores a los que se podrán conectar el resto de los módulos periféricos mediante cables planos de 10 vías.

Como hay PIC de 8, 18, 28 y 40 pines, lo ideal sería tener una placa central para cada modelo. Por razones de espacio, vamos a desarrollar una para los PIC de 40 pines y otra ligeramente distinta para los de 18 pines; las otras dos quedarán a consideración del lector, que podrá diseñarlas sin dificultad tomando como base las dos publicadas.

Los conectores de las placas centrales servirán para unirlas con los módulos. Para que estos sean totalmente intercambiables, hay que respetar en todos la disposición de las señales en el conector. Por razones prácticas que simplifican el diseño de los PCB, cada conector utiliza solo seis de los diez cables disponibles, tal como se ve en las figuras; de este modo, cada conector dispone de un pin de 5 voltios, uno de masa y cuatro de datos, es decir, medio puerto del PIC.

Para evitar tener que sacar el microcontrolador cada vez que haya que reprogramarlo, las placas centrales incluyen un conector ICSP (In Circuit Serial Programming), que permite programar el PIC con un simple cable conectado a nuestro programador.

PIC Modules 1.0 – Primera parte.
Detalle de los pines de los conectores Molex.

La placa central para PIC de 18 pines

Esta placa servirá para hacer pruebas con los microcontroladores más comunes, entre los que se encuentran la serie 16F628, 16F628A, 16F648, 16F648A, 16F818A y un larguísimo etcétera.

Los microcontroladores de 18 pines más modernos tienen la opción de funcionar con un oscilador interno, lo que hace innecesario el uso de un cristal y de condensadores externos. Por ese motivo, en esta placa, cuyas fotos ilustran el artículo, no los hemos incluido. Si por algún motivo quisiéramos utilizar un microcontrolador más antiguo, como el 16F84A, que requiera de estos componentes, tranquilamente podríamos hacer un módulo externo que los contenga y enchufarlo en el conector que corresponda.

La placa dispone de tres conectores de expansión, cuyos pines de datos son los siguientes:

  • Conector A: PORTA.0, PORTA.1, PORTA.2, PORTA.3, +5V y masa.
  • Conector B: PORTB.0, PORTB.1, PORTB.2, PORTB.3, +5V y masa.
  • Conector C: PORTB.4, PORTB.5, PORTB.6, PORTB.7, +5V y masa.

En ellos se conectarán los cables planos que unirán esta placa con los módulos de expansión.

Pegado al conector A hay una bornera en la que deberemos conectar la fuente de alimentación, cuidando de que el positivo y el negativo estén en la posición correcta, según la serigrafía que se ve en la foto. En caso de que conectáramos al revés la fuente, el diodo que se encuentra detrás de la bornera protegerá la integridad de la placa, pero, por supuesto, el circuito no funcionará.

La placa posee su propio regulador de tensión de 5 voltios, un LM7805 con los condensadores necesarios para su funcionamiento, por lo que la tensión de la fuente de alimentación deberá ser de entre 7.5 y 24 voltios. La máxima corriente que puede manejar el regulador es de 1 amperio; conviene tenerlo presente a la hora de conectar módulos a esta placa, ya que ellos tomarán la alimentación de este regulador.

Un LED rojo indica visualmente si la placa se encuentra o no bajo tensión.

Como el lector habrá notado, un PIC de 18 pines tiene un máximo de 16 pines de entrada/salida; sin embargo, los tres conectores de expansión solo proveen conexión a 12 de ellos. Esto es así porque hemos incluido cuatro pulsadores y cuatro LEDs en la misma placa, conectados a cuatro pines del PORTA (el 4, 5, 6 y 7), de manera que el lector pueda comenzar a utilizar esta placa sin necesidad de construir ningún módulo adicional.

Cada pulsador comparte el pin con un LED, y un jumper (J1 a J4) permite seleccionar si el pin funcionará como entrada (usando el pulsador) o como salida (usando el LED). Las resistencias que podemos ver en esa zona de la placa se encargan de limitar la corriente que circula por los LEDs y de mantener el pin a masa mediante las resistencias de 10k cuando el pulsador está abierto, evitando de esa manera disparos erróneos debidos al estado flotante del pin.

PIC Modules 1.0 – Primera parte.
Vista superior de la placa.

ICSP y programación

La programación por ICSP es posible gracias a las resistencias de 1000 ohmios que podemos ver en los pines PORTB.6 y PORTB.7, más la resistencia de 2200 ohmios y el diodo 1N4148 que conectan el pin PORTA.4 a masa. De esta manera, si quitamos la alimentación de la placa de pruebas y conectamos el cable entre el programador y este conector, podremos enviar el programa seleccionado desde el ordenador al microcontrolador. Las resistencias en PORTB.6 y PORTB.7 ayudan a aislar el circuito que esté conectado a ellas de las tensiones entregadas por el programador. No obstante, según qué componentes haya conectados al conector C, puede convenir quitar el cable plano que une ese módulo con la placa central, para evitar inconvenientes.

Las pruebas que hemos llevado a cabo se han realizado utilizando el programador USB GTP-PLUS, pero cualquier programador con conector ICSP servirá. Y si no disponemos de uno, por supuesto siempre existe la alternativa de remover el microcontrolador, programarlo y volver a ponerlo en el zócalo. En estos casos, es posible que queramos gastar un poco más de dinero y dotar a nuestra placa central de un zócalo ZIF (Zero Insertion Force) para facilitar esta tarea.

PIC Modules 1.0 – Primera parte.
PinOut del conector ICSP.
PIC Modules 1.0 – Primera parte.
Forma en que se conectan los cables de expansión.

Construcción de la placa base

Lo primero es construir la placa base, para lo que utilizaremos el método constructivo de circuitos impresos ya visto en NeoTeo, a partir de un PCB virgen de unos 8 x 6 centímetros.

Una vez realizada y perforada la placa, procedemos a soldar los componentes, colocando primero los más bajos, tales como el zócalo para el microcontrolador, los puentes, resistores y diodos; luego los pulsadores, LEDs y condensadores cerámicos; y por último la bornera, los conectores, los pines de bronce para los jumpers, el condensador electrolítico, etc. De esta manera, no tendremos problemas.

Una vez realizadas todas las soldaduras, conviene dedicar unos minutos a asegurarnos de que no haya cortocircuitos que provoquen fallas. Si todo está correcto, podemos aplicar a nuestra placa una capa de barniz en aerosol del lado de las soldaduras, de manera que se evite el contacto del cobre con el aire y no se sulfate.

La lista de componentes que necesitamos para construir esta placa es la siguiente:

  • 1 bornera para circuito impreso (alimentación)
  • 3 conectores molex de 10 vías
  • 1 conector para ICSP, de 5 pines
  • 1 zócalo DIP de 18 pines
  • 2 condensadores cerámicos de .1 uF
  • 1 condensador electrolítico de 470uF/25V
  • 1 LED rojo
  • 4 LEDs verdes
  • 4 pulsadores para circuito impreso
  • 1 array de 9 resistores de 10K
  • 1 array de 5 resistores de 10K
  • 1 diodo 1N4148
  • 1 diodo 1N4007
  • 2 resistores de 1K
  • 1 resistor de 2K2
  • 4 resistores de 220 ohmios
  • 4 resistores de 100K
  • 1 regulador de voltaje LM7805
  • Pines de bronce, puentes, jumpers, etc.
PIC Modules 1.0 – Primera parte.
Circuito impreso.
PIC Modules 1.0 – Primera parte.
Montaje de componentes y nombre de los conectores.
PIC Modules 1.0 – Primera parte.
PIC Modules 1.0 – Primera parte.