Grabador y entrenador de PIC 16F84A compatible con PICKIT 2


Este proyecto es uno de los que hice en clase cuando estudiaba desarrollo de productos electrónicos. Se trata de una placa con la que puedo programar el microcontrolador PIC16F84A a través del dispositivo PICKIT 2 de Microchip. A continuación voy a reproducir extractos del trabajo que realicé junto con la placa. En el texto se menciona una práctica anterior, pero se entiende perfectamente.

INTRODUCCIÓN
En esta práctica se va a realizar  una placa que servirá como grabador y entrenador para el microcontrolador PIC 16F84A. Como peculiaridades, está placa estará configurada para programar el microcontrolador con el dispositivo PICKIT 2 de Microchip, un dispositivo que permite la programación a través del puerto USB del ordenador.

Como en la práctica anterior, la realización de la placa será íntegra, utilizando los conocimientos y aptitudes adquiridos para la realización de circuitos impresos y, además, el alumno participará en el proceso de diseño de la placa en sí, utilizando las herramientas del paquete ORCAD: Capture y Layout.

OBJETIVOS
Con la realización de la práctica, se busca la consecución de una serie de objetivos que se van a exponer a continuación. Si bien, los nuevos dispositivos y herramientas con los que vamos a trabajar no los vamos a conocer a fondo, con esta práctica podremos aprender a utilizarlas, al menos los aspectos básicos que seguro que necesitaremos en el futuro. Una mirada más a fondo a éstos, conseguirá que los dominemos en su mayor parte.


Por tanto, acabada esta práctica, seremos capaces de diseñar un circuito electrónico con ORCAD Capture y un circuito impreso con ORCAD Layout. Además, seremos capaces de programar el microcontrolador PIC 16F84A con el dispositivo PICKIT 2 y por ultimo podremos probar nuestros programas a un nivel básico para detectar posibles errores.

FUNDAMENTOS TEÓRICOS
GRABADOR/ENTRENADOR PARA PICKIT 2

En la práctica anterior, el objetivo era también realizar un grabador/entrenador. Sin embargo, ese dispositivo difiere de este en gran medida. Para empezar, el método de programación es muy deferente. Mientras que el primero (imagen) utilizará el puerto serie del ordenador para programar el microcontrolador, el segundo lo hará a través del puerto USB. Es en este punto donde entra en materia el PICKIT 2 que será el encargado de traducir la señal del puerto USB para que pueda ser programado el PIC. (Más adelante se hablara en detalle del PICKIT 2).

La otra diferencia sustancial, es que el anterior dispositivo no tenía los periféricos integrados. Es decir, que no tenía conectados LEDs, displays, ni ningún otro componente externo. Esta nueva placa, llevará integrados ocho LEDs a las salidas del microcontrolador y un display de siete segmentos de cátodo común para la visualización de mensajes.

Se trata ésta de una placa sencilla comparada con otras que se pudieran encontrar en el mercado o realizadas por otras personas. Se pueden añadir otros periféricos: una pantalla LCD, un buzzer, un teclado matricial, o varios zócalos para poder programar diferentes microcontroladores y memorias. 

Para la realización de nuestro circuito vamos a partir del entrenador ejemplificado en el libro "Palacios, Remiro y López, Microcontrolador PIC16F84: Desarrollo de Proyectos, RA-MA, 2009".

La placa constará entonces de 5 microinteruptores para accionar el puerto A (con un pulsador extra para el accionamiento de RA4), 8 LEDs para comprobar el estado de las salidas en el puerto B y 1 display de 7 segmentos cátodo común y un pulsador de reset en el pin de MCLR.

Se puede realizar una modificación que resultará útil a la larga. Se trata de sustituir las resistencias de salida de 330Ω, por transistores BC547 (imagen) en configuración de emisor común. El objetivo de esta modificación es liberar al microcontrolador del esfuerzo que supone obtener la corriente para activar los periféricos de sus pines. Un abuso de esta situación puede acortar la vida útil del microcontrolador. De esta forma la corriente que necesitan los LEDs y el display para accionarse es obtenida de la fuente de alimentación, mientras que el transistor en conmutación será activado por la corriente de base que será muy inferior a 15mA.
Para los valores de las resistencias RB y RC vamos a escoger unos valores predefinidos. Estos serán RB = 10KΩ y RC = 180Ω. Con estos valores tendremos los siguientes valores para la corriente de base y la corriente de salida al periférico.


Con una tensión en el pin de salida de 5V (niveles TTL) tendremos:


 Con una tensión de alimentación de 5V tendremos:


 De esta forma obtenemos incluso más corriente de la que nos puede dar un pin del microcontrolador, establecida  en 20mA.

Una vez queda establecido como funciona el circuito en modo entrenador, hay que considerar el modo grabador.

Recuperamos este párrafo de la memoria anterior, donde se explica cómo se programa el PIC 16F84A:

“En el proceso de grabación toman parte varios pines de los 18 que forman el integrado. Éstos y solo éstos son los que programan este integrado. Dependiendo de la naturaleza y el patillaje del microcontrolador, es posible que haya que usar otros pines.  Sin embargo para programar el PIC16F84A usaremos los pines: MCLR (4), VSS (5), RB6 (12), RB7 (13) y VDD (14).

Con los pines VDD y VSS alimentaremos el PIC a  5 voltios. Esta tensión es proporcionada por el diodo D5, que es un diodo Zener de 5’1 Voltios.

Para que el PIC pueda grabar, hay que situar el pin RB6 y el pin RB7  a un nivel bajo mientras se produce en VPP un flanco ascendente hasta los 13’4 Voltios proporcionados por el transistor Q2. Mientras que el pin RB6 corresponde a la señal CLK que proporciona el ordenador a través del pin 7 o RTS del conector DB9 y una resistencia de 1KΩ, el pin RB7 corresponde a la señal I/O proporcionada por el transistor Q1 que a su vez recibe su señal de los pines 4 o DTR y 8 o CTS del conector DB9.”

En el grabador anterior se tuvo que añadir un circuito analógico para cumplir la función de grabación. Con el PICKIT 2 esto no hará falta ya que lleva ese circuito integrado. Por ello, lo único que tendremos que hacer será adaptar el circuito para recepcionar las señales del PICKIT 2. Se añadirá un conector de seis patillas teniendo en cuenta como son las salidas del dispositivo (imagen).


Como nota aclaratoria, el pin 4 (ICSPDAT) y el pin 5 (ICSPCLK) se corresponden con RB7 y RB6 respectivamente. Las siglas ICSP significan “In-Circuit Serial Programming” lo que significa que el PICKIT es capaz de grabar en microcontroladores que ya están integrados en circuitos, a través de los pines indicados. Esta modalidad viene indicada en la siguiente imagen.


En los planos anexos, podremos ver el aspecto definitivo del circuito así como las diferentes vistas del circuito impreso.

PROCESO DE TRABAJO
Una vez explicado los fundamentos teóricos, se procede a la realización de la placa en sí. Lo primero de todo será crear con el programa capture el esquema eléctrico de nuestro circuito. Una vez hecho deberemos repasar las conexiones para asegurarnos que todo está en su sitio.


Creamos el archivo netlist y pasamos al programa Layout. En el crearemos la placa de circuito impreso, usaremos solo dos vistas, la TOP y la BOTTOM. En la capa TOP incluiremos todos los cuadros de texto que sirvan para orientarnos a la hora de colocar los componentes. Elegiremos (como norma general) un tamaño de PAD de 2,3 mm y un ancho de pista de 1,27 mm.

Sera necesario crear un conector DIP10 y el footprint de los pulsadores y el display. Además, aprovechando el espacio al máximo, haremos los PADS de las resistencias un poco más grande. Cuanto menos cobre tenga que  disolver el ácido, más rápido se hará la placa de circuito impreso.

Es importante considerar que algunos componentes no permiten ser soldados por la capa TOP con facilidad, por ello se intentaran crear las mínimas pistas posibles en esta capa.

Con todas las pistas routeadas, es momento de repasar una a una que no se toquen para que no haya cortocircuitos, suprimir ángulos de 90 grados para que no se desprendan las pistas, y buscar cualquier posible fallo que pueda haber en la misma.

Iniciamos el postprocesado de la placa e imprimimos los fotolitos que tendrán un aspecto como este:


Una vez impresos los fotolitos en lámina transparente especial para impresora laser, empieza el proceso de creación del circuito impreso. Si bien ya hemos explicado y documentado este proceso en la práctica anterior, pasaremos a mostrar el resultado obtenido después de insolar la placa, revelarla y meterla en el ácido. Por un lado la vista TOP:


Y por otro la vista BOTTOM:


Idealmente, las dos capas tienen que estar perfectamente superpuestas, pero puede suceder que haya un error asumible de 1 mm. Esto puede perjudicar los taladros que hagamos en la placa, por ello realizaremos un pequeño truco.

A la hora de realizar estos taladros, observaremos si el pad tiene una pista routeada por la capa TOP o la CAPA BOTTOM, el taladro será mejor realizarlo por la cara que tenga la pista. Así, aunque el pin del componente este ligeramente ladeado, conseguiremos tener toda la superficie del pad para realizar la soldadura. En taladros donde haya pista por las dos caras, deberemos elegir cual nos conviene más.

Con todos los taladros realizados empezaremos el proceso de soldadura. Primero soldaremos los componentes mecánicos:


Después los componentes no polarizados:



Terminaremos soldando los LED, el display y los transistores. Estos últimos, como elementos semiconductores, son más delicados. Los colocaremos todos a la vez y soldaremos primero todas las bases, después todos los colectores y por último todos los emisores. Así evitaremos que se calienten demasiado.


Con esto, la placa ya estaría terminada y lista para testeo. Probaremos a grabar  un PIC 16F84A a través del puerto para PICKIT 2, y después reproduciremos el programa cambiando los jumper de sitio.

2 comentarios :