Módulo programador serial para PIC
Contenido
Microcontroladores
Un microcontrolador (abreviado μC, UC o MCU) es un programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una
PICmicro
Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.
Programación del PIC
Para transferir el código de un ordenador al PIC normalmente se usa un dispositivo llamado Programador. La mayoría de PICs que Microchip distribuye hoy en día incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 (En algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1) como reloj y datos y el MCLR para activar el modo programación aplicando un voltaje de 13 voltios. Existen muchos programadores de PICs, desde los más simples que dejan al software los detalles de comunicaciones, a los más complejos, que pueden verificar el dispositivo a diversas tensiones de alimentación e implementan en hardware casi todas las funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las órdenes al PIC que se desea programar. Uno de los programadores más simples es el TE20, que utiliza la línea TX del puerto RS232 como alimentación y las líneas DTR y CTS para mandar o recibir datos cuando el microcontrolador está en modo programación. El software de programación puede ser el ICprog, muy común entre la gente que utiliza este tipo de microcontroladores. Entornos de programación basados en intérpretes BASIC ponen al alcance de cualquiera proyectos que parecieran ser ambiciosos.
Programador de Microcontroladores de PICmicro PIC-PG1A
Entre los programadores de PIC existentes este PIC-PG1A es uno de los mas sencillos y económicos pero de igual forma eficientes, el cual utiliza protocolo serial RS232 para su comunicación con el computador y así transferir los datos al PIC, entre los microcontroladores que este dispositivo soporta son:
- PIC12C508
- PIC12C509
- PIC12CE518
- PIC12CE519
- PIC12C671
- PIC16C61
- PIC16C74
- PIC16F627
- PIC16F871
- PIC16F874
- PIC16F877
- Entre otros con características similares
Puerto Serial
Este programador trabaja con el protocolo serial ICD de 6 pines.
Esquemático
El esquemático mostrado a continuación es el correspondiente al programador PIC-PG1A
Lista de Componentes (BOM)
Cantidad | Descripción | RefDes | Precio (BsF. año 2014) |
---|---|---|---|
1 | Conector DB9 | J1 | 1.2 |
1 | RESISTOR, 1.5kΩ | R2 | 3 |
1 | RESISTOR, 10kΩ | R1 | 4 |
4 | DIODO, 1N4148 | D1, D4, D5, D6 | 22 |
2 | CAPACITOR, 100µF | C1, C2 | 6 |
1 | LED | LED1 | 30 |
1 | CONECTOR, HDR2X3 | J2 | 2 |
1 | DIODO ZENER, 1N5234B | D3 | 2 |
1 | DIODO ZENER, 1N5231B | D2 | 42 |
2 | BJT_NPN, BC338 | Q3, Q4 | 80 |
Circuito Implementado
Diseño en computadora en 3D del Circuito Impreso
Mediante Tarjetas PCB Reticuladas tipo Proto
Ventajas
Este tipo de implementación principalmente se utiliza para pruebas e implementación rápida de circuitos simples, ademas de ser mas económicos en su implementación ya que no se requiere utilizar procesos químicos ni de perforación mediante materiales que pueden resultar costosos, también es un método que no requiere medidas de seguridad mayores. Otra ventaja notables es la facilidad de incluir componentes luego de su finalización cosa que en los otros métodos tiende a ser imposible por la inexistencia de nodos de cobre en la tarjeta en puntos nuevos.
Desventajas
Los circuitos implementados dentro de estas tarjetas de desarrollo tienden a ser mas grandes que los implementados por métodos mas profesionales, ademas muchas veces requieren la inclusión de un cableado entre componentes ( como se puede observar en la imagen mostrada anteriormente) para su conexión lo que lo hace un trabajo menos limpio y estable.
Mediante Tarjetas PCB con proceso químico y/o de perforación
Ventajas
Esta implementación es por lo general mas eficiente en la utilización de los espacios, también permite el traspaso directo del diseño en computador del circuito al medio físico sin posibilidades de diferencias entre lo diseñado y simulado en computadoras y lo implementado en la tarjeta, Otras de las ventajas es la posibilidad de incluir el footprint de los componentes en la tarjeta PCB.
Desventajas
Los procesos químicos resultan ser peligrosos y de mediano costosos por lo que la ley exige la implementación de ciertas medidas de seguridad en los laboratorios para que los técnicos no sufran problemas de salud ni se haga un mal manejo de los desechos químicos, en el caso de la perforación existen dos métodos perforar los espacios para los componentes posterior al baño químico, o el proceso sin implementación química que es la división del los buses del circuitos al resto del cobre mediante una fresadora especializada que puede imprimir el diseño de computadora con esta fresa, en el primer caso la maquinaria puede ser un taladro de banco el cual tiene un costo medio pero su utilización no es autónoma, en el segundo caso la utilización es autónoma pero estas maquinas tienen valores muy altos.
Manual de usuario IC-Prog
Descarga del Software IC-Prog
1.En primer lugar, se debe buscar el software IC-Prog en internet. Para acceder a ella ingresamos al siguiente enlace: http://www.ic-prog.com/
2. Una vez que se haya ingresado en dicha página, se debe hacer clic sobre la imagen central que aparece en la pantalla, la cual es el hipervínculo para entrar al sitio web (http://www.ic-prog.com/index1.htm).
3. Seguidamente, se debe proceder a hacer clic sobre el enlace llamado Download donde encontraremos una lista que contiene las diferentes versiones disponibles del IC-Prog:
4. En dicha lista, se debe proceder a descargar la versión más reciente del software programador (IC-Prog Software 1.06C Multi-Lingual (updated 5th April 2011)). Y a su vez, se debe descargar el driver de compatibilidad con Windows NT/2000 para poder correr dicho software en una versión de Windows superior a XP (IC-Prog NT/2000 driver).
5. Luego se deben guardar ambos archivos en una misma carpeta para proceder con la configuración del programa.
Configuración del software
6. Si estamos en una versión mayor a Windows XP: En primer lugar, se debe hacer clic derecho sobre el ícono de icprog y luego entrar a las propiedades.
7. Seguidamente se debe seleccionar el modo de compatibilidad en Windows XP (Service Pack 2) para poder ejecutar dicho programa con éxito.
8. Al aceptar dicha configuración, se debe ejecutar el programa dando doble clic sobre el ícono de IC-Prog y deberá salir un aviso especificando que se debe hacer la configuración del programa si es la primera vez que se ejecuta en dicha máquina. Para proceder se debe dar clic a OK.
9. Aquí, se debe seleccionar el Programmer en modo JDM Programmer, la interfaz en Windows Api, el puerto en el cual esté conectado el conector DB9 del programador (generalmente COM1 para el conector DB9 en el computador). Y, el Delay que especifiquemos determinará la velocidad con la que se programará el microcontrolador. Donde, entre menor sea el tiempo de Delay, mayor será la velocidad de programación y verificación de los datos.
10. Luego, en la barra de menú se debe desplegar la lista de Settings y luego dar clic en Options. Una vez aquí, se debe habilitar en la pestaña Misc el puntero a “Enable NT/2000/XP Driver”, como se muestra en la imagen. Al activar esta opción, saldrá un aviso de confirmación de restauración del IC-Prog y se le deberá dar clic en Yes.
11. Después se reiniciará el IC-Prog y al cargar nuevamente se deberá ir nuevamente al menú de opciones y en la pestaña de Programming seleccionar ambas opciones.
12. De igual manera, en la pestaña Smartcard se deberá seleccionar el puerto en el cual se haya conectado el cable del programador en la computadora (generalmente COM1 para el conector DB9 en el computador).
Proceso de programación
13. Ya realizada la configuración del IC-Prog. También se puede seleccionar el cambio de idioma del programa a español y se debe desplegar en el menú de Ajustes la selección del dispositivo que se desea programar (en este caso el PIC16F877).
14. El siguiente paso corresponde a abrir el archivo de extensión .HEX generado a partir de un compilador de código y el cual contiene los datos que serán leídos y programados por el IC-Prog hacia el microcontrolador (Caso de ejemplo (JoelLCD.HEX).
15. Por último, una vez realizadas todas las configuraciones correspondientes será necesario seleccionar los bits de configuración con los que se programará el PIC. Donde, en el Oscilador se requerirá seleccionar el modo HS si se utilizará un cristal de una frecuencia mayor a 4MHz, XT si es menor o igual a 4MHz, y en los bits de configuración generalmente se deben dejar todas las casillas vacías (dependiendo la aplicación que se vaya a realizar).
Finalmente el botón programar todo representado por un rayo, programará el microcontrolador y posteriormente debe mostrar un mensaje de estado donde indica si fue programado exitosamente.
Resolución de Problemas básicos
En caso de presentar un mensaje de error en la programación se deben seguir las siguientes indicaciones.
● Revisar la correcta conexión de cada componente de la tarjeta del programador.
● Asegurarse que encienda el led de estado al conectar el programador a la PC.
● Identificar bien los pines de salida del programador antes de conectarlos con la tarjeta de desarrollo.