Prácticas con un Microcontrolador.

A continuación presento este tutorial que pretendo sirva de base para la creación de circuitos electrónicos, con un PIC como centro de procesado de la información.

No pretendo desarrollar la arquitectura de este dispositivo ni enfrentar una forma de desarrollo frente a otra. Más bien quiero presentar al lector un HOWTO que mitigue miedos y dudas en el uso de uno de los principales recursos que la electrónica pone a disposición de los usuarios; el microcontrolador.

EL PIC


Tal y como he comentado, la base hardware la constituye el PIC, dispositivo microcontrolador tipo RISC (Reduce Instruction Set-Computer) fabricado por Microchip Technology Inc. Concretamente haremos uso del PIC16F876A y del PIC16LF84A (versión de bajo consumo para el mítico 16F84A).

Las características de estos dispositivos son:

PIC16F876A

·         Microcontrolador de 8 bits.
·         Integrado con 28 pines.
·         Frecuencia de 4MHz, aunque también se comercializa en 20MHz.
·         Memoria de Programa de 8K.
·         Interrupciones.
·         Puertos de Entrada/Salida A, B y C.
·         3 Timers.
·         USART para comunicaciones Serie.
·         5 entradas analógicas con su ADC.
·         35 Instrucciones de programa.


En su encapsulado PIC aparece como se puede ver en la figura siguiente:
 
  
PIC16LF84A

·         Microcontrolador de 8 bits.
·         Integrado con 18 pines.
·         Frecuencia de 4MHz, aunque también se comercializa en 20MHz.
·         Memoria de Programa Flash de 1Kx14bits.
·         Interrupciones.
·         Puertos de Entrada/Salida A (5 bits) y B (8 bits).
·         1 Timer.
·         35 Instrucciones de programa.

En su encapsulado PIC aparece como se puede ver en la figura siguiente:



 
 



EL PROGRAMADOR

A la hora de grabar en el PIC el programa compilado en el PC, necesitamos un programador de PICs.  Existe gran cantidad de programadores en el mercado y documentación para fabricarse uno propio. En el caso de ser novel en este campo, como suponemos es el lector, recomiendo comprar un programador. No salen muy caros. Por ejemplo el TE20X, programador usado en este tutorial, cuesta unos 15€. Y de este modo nos evitamos problemas muy complejos de resolver.

El TE20X utiliza la línea TX del puerto RS232 como alimentación y las líneas DTR y CTS para comunicarse con el PIC cuando éste está en modo programación. El esquema está en internet si el usuario se atreve a implementarlo.


La conexión entre el TE20X y el PC se realiza por cable serie RS232.

ENTORNO DE PROGRAMACIÓN


Las herramientas necesarias serán las siguientes:

·         IDE de Programación: PikLab.
·         Compilador C: Sdcc integrado en PikLab.
·         Grabación del PIC: IcProg.

Pasos para la Instalación de estas herramientas:

1.- Instalación de PikLab en Ubuntu 10.10. La instalación en Ubuntu puede realizarse mediante el asistente Synaptec (Aplicaciones > Centro de Sofware de Ubuntu).
2.- Instalación de Small Device C Compiler. Mismos pasos pero esta vez buscamos “Sdcc”. 
3.- Descarga de IcProg. IcProg se encuentra en Internet y en formato zip. Descargar la última versión y descomprimir. En mi caso, aún no he podido hacerlo correr bajo Ubuntu con wine. Por ello lo tengo instalado en Windows. Muy importante es descargarse el driver para Windows que hay en esa página.
4.- Configuración de PikLab. En el caso de que no lo coja por defecto, deberemos configurar Sdcc en PikLab. Para ello seguimos los pasos siguientes: Settigs > Configurar compilador > Compilador C > Small Device C Compiler. En esta pestaña nos debe decir expresamente que "Se encontro Sdcc".
5.- Opcionalmente podemos instalar Proteus, para la simulación del circuito. No hay problema en correrlo bajo Ubuntu y mediante el uso de Wine, y de no querer simular, al menos sirve para el dibujo de circuitos con una librería muy completa.
A partir de este punto ya es posible comenzar a programar autómatas mediante un microcontrolador. Mirar artículos con algunos ejemplos de como empezar.