manual de programación de los pic para su uso con las...

15
Manual de programación de los microcontroladores PIC para su uso en el Proyecto IOCards Autor: Fernando Brea

Upload: hoangkien

Post on 17-May-2018

222 views

Category:

Documents


2 download

TRANSCRIPT

Manual de programación de los microcontroladores PIC para su uso en el Proyecto IOCards

Autor: Fernando Brea

Programación de microcontroladores PIC Proyecto IOCards

Índice

1. Introducción 2. Material necesario

a. Hardware b. Software

3. Conexiónes Hardware

4. Configuración Hardware 5. Instalación Software

6. Configuración Software 7. Programación del microcontrolador 8. Error y Check List de soluciones

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Introducción El objeto de este manual es proporcionar unos conceptos básicos que permitan a la comunidad de constructores de cabinas el poder grabar los microcontroladores PIC utilizados en la segunda generación de tarjetas diseñadas para el Proyecto IOCards. El proyecto IOCards esta basado en tarjetas de electrónica discreta y modulares desarrollado por Manuel Vélez ( http://www.opencockpits.com ) y que han sido diseñadas para, junto con el software de control, interactuar con los principales simuladores de vuelo para PC, permitiendo la conexión de todo tipo de mandos, instrumentos e indicadores, con el fin de realizar la construcción de cabinas de vuelo caseras con un coste moderado. La novedad de la segunda generación de estas tarjetas estriba en que estas están controladas por microcontroladores PIC, lo que da objeto a este manual. En este manual se utilizara como ejemplo el PIC 16F876, que es el utilizado tanto en la tarjeta IOCard Servos II generación como el utilizado en la tarjeta IOCard Encoders II generación, aunque al no entrar en la parte de Código del microcontrolador, podría utilizarse en la programación de otros chips. Desde aquí agradecer a “otras comunidades” dedicadas a “otros menesteres” y que fueron las que me instruyeron en su momento para la utilización de los elementos aquí descritos. También Agradecer a Manuel Vélez y todo el equipo de constructores de cabinas los continuos avances que realizan, permitiendo que cada vez nuestros sueños en forma de cabinas estén mas cerca.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Material Necesario Hardware:

El Chip a programar ( en nuestro caso un PIC 16F876 )

Lo podemos encontrar en tiendas de electrónica.

Sin problemas.

El programador (T-20se o similares )

Lo podemos encontrar en tiendas de electrónica.

El único problema es que no tengan este modelo, existe también el T-20 II, el TE-20 X, y si no, lo mejor es pedir un programador para grabar el PIC 16F876 y que nos

asesoren. El precio puede estar entre los 8 – 10 € NOTA : el TE-21 NO nos vale.

Un cable serie

Lo podemos encontrar en tiendas de informática o electrónica.

El cable hay que comprarlo en función de los conectores que tenga el PC y el programador. De unos años a esta parte El 99% de los PCS traen los puertos serie con el conector DB9 Macho ( con pines ), de cualquier manera lo verificamos. La mayoría de

los programadores tienen un conector DB9 Hembra (con agujeritos ), también lo verificamos. En el 99% de los casos deberemos comprar un cable serie con conectores BD9 Macho / DB9 Hembra. Si en el PC tuviéramos un DB25 Macho ( posible en PCS antiguos ), compraríamos un cable serie DB25 Hembra ( que entraría en el PC ) / DB9

Macho (que entraría en el programador ). NOTA : NO necesitamos un cable cruzado, es un cable pin a pin ( por si preguntan ).

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Software:

Programador de prototipo ICProg.( Ver. 1.05C )

Lo podemos encontrar en http://www.ic-prog.com

Aquí nos descargaremos el ic-prog.exe ( el programa ) ¿y que versión? Pues teóricamente la ultima que no sea Beta, aunque a mi particularmente me gustan las beta

ya que por lo menos tienen corregidos los problemas conocidos...y si encontramos errores pues los reportamos. también nos descargamos el Helpfile ( ayuda en Ingles ) ó el Helpfile in Spanish language ( ayuda en español ) y los que tengáis NT/2000/XP el

IC-Prog NT/2000 driver ( ic-prog.sys ).

Fichero con el Código para el Microcontrolador ( IOCard_Servo.hex )

Lo podemos encontrar en :

http://www.opencockpits.com/modules.php?name=Downloads&d_op=viewdownload&cid=1&orderby=dateD Por supuesto nos descargaremos el fichero correspondiente a la placa que estemos

construyendo, si dudamos, pues lo preguntamos en el foro...

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Conexiones Hardware Conectar el cable serie a uno de los puertos serie del PC, estos puertos serie están protegidos contra cortocircuitos y falsas señales, por lo que no hay ningún problema en conectarlo / desconectarlo con el ordenador encendido. Importante – anotar el puerto al que se conecta 1 o 2, ya que si no, nos volverá a tocar agacharnos para verificarlo –

Montar el PIC en el zócalo correspondiente del programador, teniendo en cuenta las muescas indicadoras tanto del PIC como del zócalo.

NOTAS Importantes : 1. Montar y desmontar el PIC sobre su zócalo con el programador desconectado del

cable Serie para evitar que pueda dañarse eléctricamente. 2. Si al montar el PIC en el zócalo vemos que las patas quedan fuera por estar muy

abiertas, poner el PIC con un lateral de patas sobre la mesa, y forzarlo girando ligeramente para que todas las patas se cierren por igual, si es necesario hacer lo mismo con el otro lateral de patas. REALIZAD ESTA OPERACIÓN CON MUCHO CUIDADO.

3. Al montar el PIC sobre un zócalo (bien del programador o bien de la tarjeta ) encajarlo únicamente lo necesario para que tenga una buena conexión eléctrica, no lo aprietes como si todo dependiera de ello.

4. Para sacar el PIC del zócalo, haz palanca por los extremos sin patas con un destornillador de plástico o similar y que salga de los dos extremos a la vez ( así evitamos que se doblen las patas ).

Conectar el otro extremo del cable serie a programador T20se.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Configuración Hardware. Configuraremos el puerto Serie que utilizamos para el programador ( si, el que anotamos anteriormente cuando conectamos el cable serie), para lo cual : Windows 9x / ME Pulsamos Inicio ->Configuración ->Panel de Control -> Icono de Sistema -> solapa Administrador de Dispositivos -> Desplegamos Puertos ( Com & lpt ) -> Doble clic en puerto de comunicaciones (Comx 1 o 2 ) dando paso a la ventana de propiedades del puerto de comunicaciones ( muy similar a la de XP ) Windows XP Pulsamos Inicio -> Panel de Control -> Icono de Sistema -> solapa Hardware -> Botón de administrador de Dispositivos -> Desplegamos Puertos ( Com & lpt ) -> Doble clic en puerto de comunicaciones (Comx 1 o 2 ) -> Solapa Configuración del puerto

Aquí verificamos los valores de : Bits por Segundo : 9600 ( Este valor será el que bajemos en caso de problemas ) Bits de Datos : 8 Paridad : Ninguna Bits de parada : 1 Control de flujo : ninguno Aceptamos los cambios y cerramos todas las ventanas. Con esto tendríamos el Hardware listo y preparado para realizar la grabación.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Instalación del Software La instalación del software Ic-Prog no tiene ninguna complicación, simplemente descomprimimos los ficheros bajados y obtenemos los ficheros de programa : icprog105C.zip -> icprog.exe ( el programa en si ) help_spanish.zip -> icprog.chm ( el fichero de ayuda ) icprog_driver.zip -> icprog.sys ( Driver para Win NT/2000/XP ) Si tenemos Windows 9x/ME esta listo para la configuración, pero si tenemos Windows XP obtenemos un mensaje de error como este cada vez que lancemos la aplicación

Explicación del error: En Windows NT/2000/XP ( a diferencia de Win 9x/Me ) ningún programa puede acceder directamente al hardware ( por diseño de estos Sistemas Operativos ), sino que debe hacerlo a través del propio Windows bien mediante las País ( programas de acceso a funciones de Windows ) o mediante drivers instalados. Icprog intenta ( en la configuración por defecto ) acceder al hardware directamente por lo que provoca este error. Para solucionarlo Icprog nos da dos opciones: 1ª .- Indicarle a Icprog que utilice las Apis de Windows, que aunque esta opción es solo aplicable a programadotes conectados al puerto serie ( NO a los de puerto paralelo ) se adapta a nuestro caso y podemos usarla. 2ª .- Instalar un driver que permitirá a Icprog el acceso al hardware a través de él ( Si tuviéramos un programador conectado al puerto paralelo solo podríamos utilizar esta opción ). Esta opción también nos es valida. Vamos a ver como configurar las dos opciones y elegimos la que queramos (las dos funcionan correctamente ): En cualquiera de los dos casos, Aceptamos el mensaje de error y se termina de abrir la aplicación : 1ª .- Utilizar las Apis de Windows : Desde la aplicación vamos a: Menu - Settings -> Hardware y seleccionamos Windows Api y pulsamos Ok.

Reiniciamos el programa y ya no tenemos ningún error, teniendo todo listo para configurar.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

2ª .- Utilizar los drivers para NT/2000/XP Desde la aplicación vamos a: Menú - Settings -> Hardware y seleccionamos Direct I/O y pulsamos Ok.

a continuación: Menú - Settings -> Options -> Pestaña Mics y marcamos la opción Enable NT/2000/XP Driver. Pulsamos Ok y.. Obtenemos el siguiente mensaje de confirmación:

Al que contestamos Yes Se reinicia el programa y obtenemos un nuevo mensaje de confirmación para instalar el driver

Y de nuevo contestamos Yes El programa termina de instalar el driver y se inicia quedando listo para la configuración. NOTA Resumen: Windows XP -> Cualquiera de las dos opciones es valida. Windows 9x/Me -> seleccionaremos Direct I/O ( opción por defecto ) si instalar ningún driver.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Configuración del Software Lanzamos la aplicación IcProg.exe

Cambio de Idioma: ( opcional ) Menú – Settings -> Options -> Solapa Language -> en el desplegable seleccionamos Spanish y pulsamos Ok. Automáticamente cambia toda la aplicación a Español.

Ajuste del Hardware : ( mandatoria ) Menú – Ajustes -> Tipo de Hardware

En programador -> JDM Programer En Puertos -> El que anotamos en su momento al conectar el cable al PC. En Retardo I/O -> En principio a 10 ( lo bajaremos si tenemos problemas ). En Interfaz -> Como lo dejamos en el proceso de instalación, no lo tocamos. En Comunicación -> Tal cual, todo desactivado. Pulsamos Ok.

Otros ajustes : ( opcionales ) Menu – Settings -> Options -> Solapa Confirmación Activaremos las opciones que creamos necesarias, evitando acciones involuntarias al borrar, sobrescribir, etc. ya que nos pedirá confirmación. Menu – Settings -> Options -> Solapa Programación Activamos solo la opción de Verificar tras la programación. Verifica que la grabación ha sido correcta.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Programación del microcontrolador

1. Seleccionar el dispositivo ( microcontrolador ) a programar.

Sin comentarios, se trata de buscar nuestro PIC y pulsar sobre el.

2. Seleccionar el fichero de código para programar el PIC.

El código se queda cargado en el búfer que tuviéramos seleccionado, en espera a que realicemos alguna acción con él. Al cargar el fichero de código, se modifican los valores del Oscilador y los Bits de configuración. Podemos dejar estos valores y si se generaran errores podríamos cambiar el oscilador a XT y deshabilitar todos los bits de configuración

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

3. Verificación de la información.

Verificamos que en el búfer en el que estamos, contiene el fichero de código que queremos grabar en el microcontrolador, del que verificamos el modelo, que el oscilador y los bits de configuración corresponden a los del fichero, y que el programador esta conectado al puerto correcto.

4. Grabación del microcontrolador

Pulsamos el botón programar todo y obtenemos diferentes ventanas de: Confirmación de grabación del dispositivo ( si lo tenemos configurado )

pulsamos Yes. Información de proceso Programando código .... Información de proceso Programando datos .... Información de proceso programando configuración... Información de verificación código ... ( si tenemos activa la verificación ) Información de verificación de datos ... ( si tenemos activa la verificación )

La grabación del microcontrolador por si misma no tiene un mensaje de terminado correctamente o de error, sino que es la verificación la que nos da el Ok o el error, por lo que conviene tener activada la verificación después de la grabación (como ya vimos anteriormente ).

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Si no teníamos activada la verificación después de la grabación, pulsamos el botón verificar

obtenemos los cuadros de proceso de verificación ... y al final obtenemos el siguiente mensaje de confirmación, que nos indica que todo esta correcto

pulsamos aceptar y damos por concluida la grabación del microcontrolador. Si en este punto obtenemos un error de verificación en 0000h, nos indica que en la primera posición ya contiene un error.

La mayoría de las veces este error nos indica que se ha producido un fallo de comunicación con el dispositivo bien físicamente ( p Ej.: para generar el error no tenía el PIC en el programador ), bien por una configuración incorrecta, por lo que realizaremos un chequeo de las posibles cosas a corregir y reintentaremos: Check List de solución de errores Generales

Realizar la programación del PIC sin tener ningún otro chip en el programador Borra el PIC antes de grabarlo. Realizar la programación del PIC si estar trabajando con ninguna otra

aplicación, ya que este proceso requiere de una gran dedicación de la maquina para él Si es necesario, reiniciar el equipo lo mas limpio posible ( antivirus, etc.. ) para

realizar la grabación sin perdida de recursos y o procesos de terceros incordiando.

Reintenta la grabación en estas condiciones, si vuelves a obtener errores continua desde aquí.

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

Hardware

Verificar que los dos extremos del cable serie están correctamente conectados al PC y al programador. Verificar una vez mas el puerto al que esta conectado el cable en el PC y anotarlo. Verificar que el microcontrolador que vamos a programar ( no otro...), esta en el

zócalo, en su posición correcta ( su muesca sobre la muesca del zócalo ), y todas las patas dentro del zócalo ( bien metido ).

Si en este punto has encontrado algo de lo anterior que estuviera mal, reintenta la grabación tras corregirlo. Si vuelves a obtener error, continua a partir de aquí.

Software

Verifica, como vimos anteriormente, que el microcontrolador ( dispositivo ) que tienes seleccionado en la aplicación se corresponde con el que quieres grabar. Verifica en Menú -> ajustes -> tipo de hardware que esta todo correcto como se

describió en Configuración Software. Verifica que el puerto que aparece marcado se corresponde con el que tiene puesto el cable serie. Verifica que el fichero de código, abierto en el programa, es un fichero de

código valido y que corresponde al microcontrolador que queremos grabar. ( no es conveniente programar un PIC con el fichero leeme.txt )

Si en este punto has encontrado algo de lo anterior que estuviera mal, reintenta la grabación tras corregirlo. Si vuelves a obtener error, continua a partir de aquí.

Tal y como se muestra en el apartado Configuración Software, bajaremos el valor Bits por segundo, utilizando los valores 4800, 2400, 1200 y 300 y reintentando con cada uno de ellos.

Si no obtenemos resultados satisfactorios, lo dejamos en 4800.

En Menú -> ajustes -> tipo hardware, ve disminuyendo el valor de Retardo I/O de dos en dos y reintenta en cada uno de ellos.

Si no obtenemos resultados satisfactorios puede ser debido a:

o El puerto del ordenador o Utiliza el otro puerto, reconfigura todo y realiza pruebas o Utiliza otro ordenador si puedes

o El programador

Autor: Fernando Brea [email protected]

Programación de microcontroladores PIC Proyecto IOCards

o Consigue que te dejen otro programador para verificarlo o El microcontrolador

o Si se ha montado en algún momento en posición cambiada, etc.. puede estar estropeado.

o Consigue otro para probarlo. Y si todo falla, no te desesperes, busca a un amigo que te lo programe, seguro que encontraras a alguno.

Autor: Fernando Brea [email protected]