Menu
in

PIC Modules 1.0 – Primera parte.

Siempre que alguien ingresa al fascinante mundo de los microcontroladores PIC, se encuentra con la dificultad que presenta el armar sus prototipos.Efectivamente, muchas veces he oído a aficionados o estudiantes quejarse de que para probar un par de líneas de código que han escrito para un PIC en particular, tienen que armar una tarjeta de circuito impreso, realizar soldaduras, comprar componentes, y e definitiva, perder una gran cantidad de tiempo.
Pensado en ellos es que en este articulo y los siguientes del mismo tema describiremos paso a paso como crear un sistema de módulos, totalmente compatibles entre si, que nos permitirán realizar practicas de programación sin problemas.
Dichos módulos comparten características comunes, de manera que sean compatibles entre si.
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, tales como el regulador de tensión, 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. Dado que hay PICs de 8, 18, 28 y 40 pines, lo ideal seria tener una placa central para cada uno de los modelos. Por razones de espacio, vamos a desarrollar una para los PICs de 40 pines, y una ligeramente distinta para los de 18 pines, dejando a consideración del lector el desarrollo de las otras dos, tarea que le resultara sencilla si toma como base las dos publicadas.
Los conectores de las placas centrales, como dijimos, servirán para unirla con los módulos. Para que estos sean totalmente intercambiables, deberemos respetar en todos la disposición de las señales en el conector. Por razones prácticas, que harán más sencillos los PCB, cada conector solo utilizara seis de los diez cables disponibles, tal como se ve en las figuras al final de la página. De esta manera, cada conector dispondrá de un pin con 5Voltios, uno de masa, y cuatro de datos, por lo que en cada conector tendremos publicado medio puerto del PIC.
Para evitar tener que sacar el microcontrolador para reprogramarlo, incluiremos en las placas centrales un conector conocido como ICSP (In Circuit Serial Programing) que permite la programación del PIC mediante un simple cable conectado a nuestro programador.

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 largí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 condensadores externos. Es por este motivo que en esta placa, cuyas fotos ilustran el artículo, no los hemos incluido. Si por algún motivo quisiéramos utilizar algún microcontrolador mas antiguo (como el 16F84A) que requiera de estos componentes, tranquilamente podríamos hacer un modulo externo que los contenga, y enchufarlo en el conector que corresponda.
La placa en cuestión dispones 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 conectaran 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 negativo estén en la posición correcta, según la serigrafía que se puede ver 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 funcionara.
La placa posee su propio regulador de tensión se 5 volts, 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 de voltaje es de 1 Amper, deberemos tener esto presente a la hora de conectar módulos a esta placa, ya que ellos tomaran 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 4 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 modulo adicional.
Cada pulsador comparte el pin con un led, y un jumper (J1 a J4) permite seleccionar si el pin funcionara 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 esta abierto, evitando de esa manera disparos erróneos debidos al estado flotante del pin.

Esto es posible gracias a las resistencias de 1000 ohms que podemos ver en los pines PORTB.6 y PORTB.7, mas la resistencia de 2200 ohms 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 este conectado a ellas de las tensiones entregadas por el programador. No obstante, y según que componentes haya conectados al “conector C” puede convenir quitar el cable plano que une al modulo en cuestión con la placa central, de manera de 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 mas de dinero y dotar a nuestra placa central de un zócalo ZIF (Zero Insertion Force) de manera de facilitar esta tarea.

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 mas bajos, tales como el zócalo para el microcontrolador, los puentes, resistores y diodos, luego los pulsadores, LEDs y condensadores cerámicos, y por ultimo la bornera, conectores, pines de bronce para los jumpers, 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 esta 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, para que 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 Ohms
4 Resistores de 100K
1 Regulador de voltaje LM 7805
Pines de bronce, puentes, jumpers, etc.

Escrito por Ariel Palazzesi

Leave a Reply