Microcontroladores PIC

Anuncio
Microcontroladores PIC
Objetivos:
El personal que recibe esta instrucción podrá utilizar y buscar soluciones en diseños
electrónicos mediante microcontroladores PIC.
Requisitos:
-
Conocimiento en electrónica.
Utilización a nivel usuario de computador.
Materiales:
-
Microcontrolador PIC16F84A
Programador PROPIC2
Manual de programación PICBasic pro
Software PICBasic pro Compiler versión 2.43
Software MicroCode Studio Plus
Software IC-Prog versión 1.05
Desarrollado por:
Rodrigo Gómez Bustamante
Título: Técnico Electrónico mención Industrial (INACAP Antofagasta)
Cargo: Técnico Instrumentista nivel III, Compañía Minera Cerro Colorado Ltda.
Teléfono:
Correo:
Internet:
9-8540109
webmaster@rodrigog.com
www.rodrigog.com
Concepto
Controlador es un dispositivo que se emplea para el gobierno de uno o varios
procesos. Aunque el concepto ha permanecido invariable a través de los tiempos,
su implementación física ha variado frecuentemente. Hace tres décadas, los
controladores se construían exclusivamente con componentes de lógica discreta;
posteriormente se emplearon los microprocesadores, que se rodean con chips de
memoria RAM , ROM y E/S sobre una tarjeta de circuito impreso.
En la década de los 70’ los fabricantes de circuitos intergrados iniciaron la difución
de un nuevo circuito de control, medición he instrumentación al que llamaron
microcomputador en un solo chips, o de manera más exácta microcontrolador.
Un microcontrolador es un circuito integrado programable que contiene todos los
componentes de un computador, aunque de limitadas prestaciones. Se emplea para
controlar el funcionamiento de una tarea determinada y, debido a su reducido
tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Esta última
característica es la que le confiere la denominación de “controlador inscructado”.
El microcontrolador es un dispositivo dedicado. En su memoria sólo deside un
programa destinado a controlar una aplicación determinada; sus líneas de
entrada/salida soportan el conexionado de sensores y actuadores del dispositivo a
gobernar y todos los recursos complementarios disponibles tienen como única
finalidad atender sus requerimientos. Una vez programado y configurado el
microcontrolador solamente sirve para ejecutar la tarea asignada.
Historia
El microcontrolador es uno de los logros más sobresalientes del siglo XX, Hace un
cuarto de siglo tal afirmación habría parecido absurda. Pero cada año, el
microcontrolador se acerca más al centro de nuestras vidas, forjándose un sitio en
el núcleo de una máquina tras otra, su presencia ha comenzado a cambiar la forma
en que percibimos el mundo e incluso a nosotros mismos. Cada vez se hace más
difícil pasar por alto al microcontrolador como otro simple producto en una larga
línea de innovaciones tecnológicas.
Ninguna otra invención en la historia se ha diseminado tan aprisa por todo el
mundo o ha tocado tan profundamente tantos aspectos de la vida humana. Hoy
existen 15.000 millones de microchips de alguna clase en uso. De cara a esa
realidad, ¿Quién puede dudar que el microcontrolador no sólo está transformando
los productos que usamos, sino también nuestra forma de vivir y, por último, la
forma en que percibimos de realidad?
El microcontrolador ha eclipsado hasta la revolución industrial. Evolucionando a
mayor velocidad que ningún otro invento en la historia, la capacidad del
microcontrolador ha aumentado 10.000 veces en los últimos 25 años.
El mayor atributo del microcontrolador es que puede integar inteligencia a casi
cualquier artefacto. Se le puede programar para adaptarse a su entorno, responder
a condiciones cambiantes y volverse más eficiente y que responda a las
necesidades únicas de sus usuarios.
El desarrollo del microcontrolador es un ejemplo palpable del “mejoramiento
continuo”.
Un microcontrolador contiene toda la estructura de un sencillo pero completo
computador contenidos en el corazón de un circuito integrado. Los resultados
prácticos que pueden lograrse a partir de estos elementos son sorprendentes.
De bajo costo, bajo consumo de energía, fácil implementación, es una pieza clave
para el desarrollo de la robótica.
La única limitación que tienen las aplicaciones de los microcontroladores actuales
está en la imaginación de los desarrolladores, los campos más destacados de los
microcontroladores son:
-
Automatización industrial
Medidas y control de procesos
Enseñanza e investigación
Perisféricos para computadores
Electrodomésticos
Aparatos portátiles o de bolsillo
Juguetes
Instrumentación
Electromedicina
Robótica
Domótica
Sistemas de seguridad y alarmas
Aplicaciones
Para explicar el funcionamiento de un microcontrolador nos basaremos en el
PIC16F84A, fabricado por la Compañía Microchip (www.microchip.com). Es uno de
los chips más comunes que se incluye en casi la totalidad de los libros de uso
práctico de los microcontroladores PIC.
El microcontrolador contiene todo lo necesario de un computador: Memoria,
EEPROM, Temporizadores, Osciladores, puertos de entrada y salida, bus de datos,
registros, pilas, etc.
El diagrama de bloques parece complejo, en la práctica es bastante sencillo,
observando la descripción de pines se aclara bastante.
Puerto A
RA0
bit
RA1
bit
RA2
bit
RA3
bit
(E/S)
0
1
2
3
Puerto B
RB0
bit
RB1
bit
RB2
bit
RB3
bit
RB4
bit
RB5
bit
RB6
bit
RB7
bit
(E/S)
0
1
2
3
4
5
6
7
Alimentación
VDD +5 Volts
DSS GND
Reloj
CLKIN / CLKOUT
Cristal de cuarzo, ó malla RC.
Para funcionar el PIC sólo requiere +5 Volts de alimentación y un cristal con la
frecuencia adecuada, para el caso del PIC 16F84 acepta 4 y 20 MHz.
El ahorro de componentes es tal que hasta la conexión de diodos LED y displays 7
segmentos se hace directa, no requiere resistencias para limitar la corriente, el PIC
lo tiene interno. Incluso hay versiones más pequeñas de 8 pines que ni siquiera
requieren un oscilador, viene includo en el mismo chips.
Un ejemplo de la aplicación de un PIC 16F84.
Esta aplicación puede tener muchas aplicaciones, todo depende de la programación
que llevará el microcontrolador. Un circuito con un solo chip comandando 4 displays
reduce bastante el costo de fabricación, además cuenta con la gran ventaja de ser
una aplicación “actualizable”, en la que se pueden hacer mejoras al programa
cuantas veces quieras sin tener que cambiar la circuitería como ocurría con los
circuitos digitales de puertas lógicas.
Los pulsos de reloj (pines 15 y 16) son muy importantes si se van a realizar
aplicaciones con medidas de tiempo precisas, como medición o generaciones de
pulsos del órden de los microsegundos. Si los tiempos no son tan importantes se
puede optar por una solución más económica, malla RC (Resistencia y
condensador).
La comunicación serial es otra característica de los PIC, mediante una interface
transistorizada es posible conectar nuestra aplicación al puerto serial de un
computador. Puede ser muy util para desarrollar un software de control, registro de
datos, etc.
Una pantalla de LCD fácilmente se conecta directa a un microcontrolador, tal como
en la comunicación serial el juego de comandos de programación tiene incluído el
manejo de una pantalla LCD.
Este ejemplo es un termostato electrónico, una el PIC16F870 que tiene la
característica de configurar 4 entradas análogas (0 a 5 Volts), internamente el
conversor A/D trabaja con resolución de 8 bit (255 pasos), unos 0,019 Volts si se
toma como escala los 5 Volts. La conexión del LCD es directa al PIC.
Estos ejemplos bastan para imaginar la potenciabilidad de los PIC.
Programación
El lenguaje de programación de un microcontrolador es el Asembler. Un lenguaje de
bajo nivel bastante complejo que sólo los desarrolladores más experimentados
logran desarrollar aplicaciones.
Pero gracias a Micro Engineering Lab www.picbasic.com quienes desarrollaron un
lenguaje de última generación llamado PICBASIC que facilita 100% la
programación de aplicaciones, éste lenguaje es similar al legendario lenguaje de
programación de computadores BASIC o QBASIC. El juego de instrucciones incluye
el IF … THEN … ENDIF ó el GOSUB para subrutinas, operaciones matemáticas,
comandos excusivos como SERIN y SEROUT para comunicación serial, DEFINE LCD
para pantallas LCD, etc.
El software contiene un compilador para transformar el programa Picbasic a
Asembler y un archivo binario *.HEX.
Pero antes de programar se requiere software editor similar a un Word del Office,
para escribir el programa y que pueda corregir errores de sintaxis o de
programación. Este software se llama MicroCode Studio Plus, desarrollado por
Mecanique http://www.mecanique.co.uk/
¿Cómo se escribiría un programa en Picbasic?
Si tenemos un PIC16F84 y necesitamos que por el pin 6 (RB0) encienda un diodo
LED en forma intermitente, el tiempo de encedido del LED de 0,5 seg y de apagado
1 seg.
El programa puede ser escrito de la siguiente forma:
'***************************************************************************
'Programa: MORSE.BAS
'Descripción : Programa enciende y apaga LED conectado a RB0.
'Programado por: Rodrigo Gómez, 5 Noviembre 2005.
DEFINE OSC 4
led VAR portb.0
OUTPUT led
loop:
HIGH led
PAUSE 500
LOW led
PAUSE 1000
'define la velocidad del cristal... 4MHz
'Crea a "led" como alias del bit 0 del puerto B.
'Configura a "led" como un pin de salida.
'Etiqueta “loop”
'enciende el LED
'pausa de 0,5 seg expresada en mS
'enciende el LED
'pausa de 1 seg expresada en mS
GOTO loop
'vuelve a repetir los pasos desde la etiqueta "loop"
END
'En realidad en este programa no es necesario, pero END deja al PIC en modo
ahorro de energía.
'***************************************************************************
Es muy importante que el programa quede estructurado y lo más documentado
posible, esta buena práctica ayudará a desarrollar programas ordenados y fáciles
de corregir ó modificar.
Compilación del programa
El programa escrito en Picbasic debe ser compilado a un archivo binario. El
software MicroCode transforma cada línea de programa mediante el compilador
Picbasic pro en un archivo Asembler *.ASM y otro binario *.HEX
El compilado se realiza con la tecla F9 ó mediante el ícono señalado en la figura.
El archivo resultante que se utilizará para transferirlo al chip es el *.HEX, señalado
en la figura
Grabación del PIC
El software utilizado para grabar el circuito integrado es el IC-Prog www.icprog.com
Primero se debe configurar el programador de chips, utilizaremos PROPIC2 www.icprog.com
Este programador universal tiene varios zócalos para programar una amplia gama
de microcontroladores, memorias y EPROM. Es conectado en el puerto paralelo
LPT1 del computador.
La configuración del programador PROPIC2 en el software IC-PROG es la siguiente:
Una vez configurado el programador se debe abrir el archivo *.HEX mediante el
ícono seleccionado en la figura.
Una vez cargado el archivo binario mediante el ícono seleccionado el la figura
grabará el contenido en el chip insertado en el programador PROPIC2.
Este chip programado está listo para ser usado
en la aplicación. En las pruebas realizadas con
microcontroladores PIC demuestran ser chips
muy resistentes al calor, incluso a polarizaciones
inversas producto de errores de conexión
durante el desarrollo y pruebas del circuito.
Conclusión
Mediante este curso hemos aprendido en forma directa y didáctica que es un
microcontrolador PIC y cómo programarlo, esta herramienta nos abre un mundo
nuevo en el diseño de circuitos electrónicos mediante la tecnología programables.
La tecnología no es amable, no espera y no pide permiso, se instala en
sistemas, sociedades y estructuras… y normalmente los destruye… creando nuevas
estructuras. Eso es “El Efecto mariposa” (el efecto multiplicativo de pequeños
cambios, logran grandes resultados).
Descargar