Académique Documents
Professionnel Documents
Culture Documents
FECHA:
LATACUNGA, 18 DE ENERO DEL 2016
NIVEL:
SPTIMO MECATRNICA
INDICE
1.
OBJETIVOS .................................................................................................................................. 3
3.
4.
PROCEDIMIENTO ..................................................................................................................... 11
5.
6.
CONCLUSIONES....................................................................................................................... 15
7.
RECOMENDACIONES ............................................................................................................. 16
8.
BIBLIOGRAFA ........................................................................................................................... 16
|2
1. OBJETIVOS
1.1.
1.2.
1.3.
1.4.
1.5.
Tambin hay que tener en cuenta que un Microcontrolador no es un PIC, pero un PIC si es un
Microcontrolador, es bueno aclarar este detalle.
En la categora de microcontroladores existen diversas marcas que fabrican estos circuitos integrados,
los ms reconocidos estn Microchip(PIC), Atmel(AVR), Freescale, Parallax, Texas Instruments, entre
otros fabricantes.
Funcin de un Microcontrolador
Un microcontrolador al ser programable, puede llevar a cabo cualquier tarea para la cual haya sido
programado, desde un simple oscilador digital hasta un complejo sistema digital programable. [1]
PIC
Un microcontrolador PIC (Interfaz de Control de Perifricos), son fabricados por la empresa
MICROCHIP Techology, esta empresa ocupa el primer lugar en ventas de microcontroladores de 8 bits.
[1]
Uno de los microcontroladores ms populares de todos los tiempos ha sido el legendario PIC16F84,
pero en la actualidad es el PIC16F628A, este microcontrolador soporta hasta 100.000 ciclos de
escritura en su memoria flash, y 1'000.000 de ciclos en su memoria EEPROM y se puede reescribir un
sin nmero de veces.
Nota: hay que tener en cuenta que los microcontroladores PIC tienen tecnologa CMOS, esto quiere
decir que consume muy poca corriente, pero a la vez es susceptible a daos por esttica, se
recomienda utilizar pinzas para manipular y as poder transportar desde el grabador al protoboard o
viceversa, o a su vez utilizar una pulsera anti esttica.
En este proyecto se utiliz el PIC 16F877. Este microcontrolador es fabricado por MicroChip familia a
la cual se le denomina PIC. El modelo 16F877 posee varias caractersticas que hacen a este
microcontrolador un dispositivo muy verstil, eficiente y prctico para ser empleado en la aplicacin
que posteriormente ser detallada.
Algunas de estas caractersticas se muestran a continuacin:
|4
En siguiente tabla de pueden observar las caractersticas ms relevantes del dispositivo [2]:
CARACTERSTICAS
Frecuencia mxima
16F877
DX-20MHz
8KB
368
256
Puertos E/S
A,B,C,D,E
Nmero de pines
40
Interrupciones
14
Timers
Mdulos CCP
Comunicaciones Serie
Comunicaciones paralelo
Lneas de entrada de CAD de 10 bits
Juego de instrucciones
Longitud de la instruccin
Arquitectura
CPU
MSSP, USART
PSP
8
35 Instrucciones
14 bits
Harvard
Risc
Canales Pwm
Pila Harware
Puerto B:
Puerto C:
Puerto e/s de 8 pines
RC0 RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del mdulo Timer1).
RC1-RC2 PWM/COMP/CAPT
RC1 T1OSI (entrada osc timer1)
RC3-4 IIC
RC3-5 SPI
RC6-7 USART
Puerto D:
APLICACIN
|6
Ilustracin 3 Ventana del Programa PIC C copiler para escribir el Cdigo. [3]
|7
Proteus
Proteus es una compilacin de programas de diseo y simulacin electrnica, desarrollado por
Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los mdulos VSM y
Electra. [4]
Isis
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente)
permite disear el plano elctrico del circuito que se desea realizar con componentes muy variados,
desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo
fuentes de alimentacin, generadores de seales y muchos otros componentes con prestaciones
diferentes. [4]
Es una herramienta indispensable para la simulacin de circuitos electrnicos ya que evita quemar el
microcontrolador y armar el circuito en el protoboard. [5]
LCD 16x2
|8
El LCD (Liquid Crystal Dysplay) o pantalla de cristal lquido es un dispositivo empleado para la
visualizacin de contenidos o informacin de una forma grfica, mediante caracteres, smbolos o
pequeos dibujos dependiendo del modelo. Est gobernado por un microcontrolador el cual dirige
todo su funcionamiento. [7]
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16 caracteres
cada una. Los pxeles de cada smbolo o carcter, varan en funcin de cada modelo.
Caractersticas principales:
Conexin:
En la siguiente imagen de Proteus se puede observar la estructura de sus pines.
Lo podemos dividir en los Pines de alimentacin, pines de control y los pines del bus de datos
bidireccional. Por lo general podemos encontrar adems en su estructura los pines de nodo de led
backlight y ctodo de led backlight. [9]
|9
Comunicacin Serial
La comunicacin serial es un protocolo muy comn (no hay que confundirlo con el Bus Serial de
Comunicacin, o USB) para comunicacin entre dispositivos que se incluye de manera estndar en
prcticamente cualquier computadora. La mayora de las computadoras incluyen dos puertos seriales
RS-232. La comunicacin serial es tambin un protocolo comn utilizado por varios dispositivos para
instrumentacin; existen varios dispositivos compatibles con GPIB que incluyen un puerto RS-232.
Adems, la comunicacin serial puede ser utilizada para adquisicin de datos si se usa en conjunto
con un dispositivo remoto de muestreo. [11]
El concepto de comunicacin serial es sencillo. El puerto serial enva y recibe bytes de informacin un
bit a la vez. Aun y cuando esto es ms lento que la comunicacin en paralelo, que permite la
transmisin de un byte completo por vez, este mtodo de comunicacin es ms sencillo y puede
alcanzar mayores distancias. Por ejemplo, la especificacin IEEE 488 para la comunicacin en paralelo
determina que el largo del cable para el equipo no puede ser mayor a 20 metros, con no ms de 2
metros entre cualesquier dos dispositivos; por el otro lado, utilizando comunicacin serial el largo del
cable puede llegar a los 1200 metros. [11]
RS-232
RS-232 (Estndar ANSI/EIA-232) es el conector serial hallado en las PCs IBM y compatibles. Es utilizado
para una gran variedad de propsitos, como conectar un ratn, impresora o modem, as como
instrumentacin industrial. Gracias a las mejoras que se han ido desarrollando en las lneas de
transmisin y en los cables, existen aplicaciones en las que se aumenta el desempeo de RS-232 en lo
que respecta a la distancia y velocidad del estndar. RS-232 est limitado a comunicaciones de punto
a punto entre los dispositivos y el puerto serial de la computadora. El hardware de RS-232 se puede
utilizar para comunicaciones seriales en distancias de hasta 50 pies. [11]
Handshaking (o intercambio de pulsos de sincronizacin)
El mtodo de comunicacin usado por RS-232 requiere de una conexin muy simple, utilizando slo
tres lneas: Tx, Rx, y GND. Sin embargo, para que los datos puedan ser transmitidos correctamente
ambos extremos deben estar sincronizados a la misma velocidad. Aun y cuando este mtodo es ms
que suficiente para la mayora de las aplicaciones, es limitado en su respuesta a posibles problemas
que puedan surgir durante la comunicacin; por ejemplo, si el receptor se comienza a sobrecargar de
informacin. Es en estos casos cuando el intercambio de pulsos de sincronizacin, o handshaking, es
til. En esta seccin se describirn brevemente las tres formas ms populares de handshaking con RS232: handshaking for software, handshaking por hardware, y XModem. [11]
| 10
4. PROCEDIMIENTO
4.1. Previo a comprobar su funcionamiento de forma real se realiza la programacin para el PIC
en nuestro caso el microcontrolador 16F877A, los diferentes programas se realizan con
ayuda del compilador para lenguaje C.
a) Programa del PIC nmero 1- En este Pic se lee el dato del LM35 que va a transmitir
al Pic 2, al mismo tiempo recibir el dato de voltaje ledo por el Pic 2
CODIGO:
#include <16F877A.h>
#fuses XT, NOWDT
#device ADC=10
#use delay (clock=4M)
#include <lcd.c>
#use rs232(baud=9600,bits=9,xmit=pin_c6,rcv=pin_c7)
int Dato;
//Dato a transmitir
int16 Temp; //leer el valor del conversor
float v;
#int_RDA
void RDA_isr(){
Dato=getc();
}
void main(){
enable_interrupts(INT_RDA); //Habilitacin interrupcin por recepcin RS232
enable_interrupts(GLOBAL);
// Activar el adc
setup_adc_ports(0);
setup_adc(adc_clock_internal);
lcd_init();
while(true){
set_adc_channel(0);
Temp=read_adc();
v=((5.0*Dato)/1023.0);
putc(Temp);//Envia este dato al PIC2
lcd_gotoxy(1,1);
printf(lcd_putc,"Voltaje Recibido");
lcd_gotoxy(1,2);
printf(lcd_putc,"PIC#2: %1.2f (V)",v);
delay_ms(200);
printf(lcd_putc,"\f");
}
| 11
}
b) Programa del PIC nmero 2- En este Pic se lee el dato de Voltaje del limitado por el
Potencimetro que va a transmitir al Pic 1, al mismo tiempo recibir el dato de
temperatura ledo por el Pic 1
CODIGO
#include <16F877A.h>
#fuses XT, NOWDT
#device ADC=10
#use delay (clock=4M)
#include <lcd.c>
#use rs232(baud=9600,bits=9,xmit=pin_c6,rcv=pin_c7)
int16 Dato;
//Dato a transmitir
int16 Voltaje; //leer el valor del conversor
float t;
#int_RDA
//Interrupcin por recepcin de datos
void RDA_isr(){
Dato=getc();
//En "valor" el dato recibido via RS232
}
void main(){
enable_interrupts(INT_RDA); //Habilitacin interrupcin por recepcin RS232
enable_interrupts(GLOBAL);
// Activar el adc
setup_adc_ports(0);
setup_adc(adc_clock_internal);
lcd_init();
while(true){
set_adc_channel(0);
Voltaje=read_adc();
t=((500.0*Dato)/1023.0);
putc(Voltaje);//Envia este dato al PIC1
lcd_gotoxy(1,1);
printf(lcd_putc,"Temperatura Recibida:");
lcd_gotoxy(1,2);
printf(lcd_putc,"PIC#1: %1.2f (C)",t);
delay_ms(200);
printf(lcd_putc,"\f");
}
}
| 12
4.2. Compilar cada uno de los programas del paso 4.1 y verificar que no existan errores de
sintaxis y de programacin.
4.3. Simular el circuito con ayuda del software Proteus, cargar el programa y verificar el
funcionamiento de forma visual.
| 13
4.6. Una vez reconocido el PIC, se procede a borrar cualquier programa que haya estado en PIC
anteriormente.
4.7. Una vez verificado el correcto funcionamiento del programa, se procede a cargar el
programa .hex al PIC y se programa en el PIC el cdigo.
4.8. Realizar las conexiones pertinentes de forma real en el protoboard, importante tomar en
cuenta las polarizaciones del PIC.
| 14
5. ANLISIS DE RESULTADOS
5.1. Es necesario realizar la comprobacin del programa con ayuda de un compilador para
lenguaje C y simular de manera visual el circuito esto se los puede realizar con el simulador
proteus, se realiza esto para evitar cometer errores en la implementacin real del circuito en
el protoboard.
5.2. Para cargar el programa en el PIC 16F877A es necesario utilizar un software para el efecto
en este caso el Software K150 que es instalado en una mquina virtual, se debe asegurar a
dems que al momento de ubicar el PIC en el programador est seguro ,y borrar cualquier
programa que haya estado grabado en la memoria del PIC con el fin de cargar el nuevo
programa ,siempre elegir el programa con la extensin .hex.
5.3. Cuando se realiza el cdigo es obligatorio asignar fuses, y se debe configurar los puertos A y
B como entradas o salidas, segn la conveniencia del programador, indispensable establecer
la frecuencia del oscilador interno del PIC ya que sin este no ser posible el funcionamiento
del PIC.
5.4. Una vez montado el circuito en el protoboard se pudo comprobar el correcto funcionamiento
del PIC 16F877A y su comunicacin serial, se trabaj con una alimentacin de 5Vcc.
6. CONCLUSIONES
6.1. El PIC utilizado en la prctica se puede programar y reprogramar (escribir y borrar) muchas
veces, siempre que se lo utiliza de forma correcta, el fabricante especifica el nmero mximo
de escritura y borrado.
6.2. La comunicacin serial necesitan la librera #int_RDA y #uses rs232 necesarias para su
compilacin correcta y se debe establecer una frecuencia del oscilador.
6.3. La parte visual se lo comprueba en el simulador proteus pero no siempre funciona tal cual
una vez que se monta el circuito de forma fsica, porque se debe tomar en cuenta muchos
parmetros que el simulador ya lo hace por default como por ejemplo la polarizacin.
| 15
7. RECOMENDACIONES
7.1. Es recomendable alimentar el PIC con un voltaje no mayor a Voltios de corriente continua
para obtener un funcionamiento ptimo del PIC.
7.2. Tomar en cuenta todos los parmetros tales como la polarizacin que el en simulador Poteus
no lo considera.
7.3. Se recomienda borrar cualquier programa que haya estado grabado en el microcontrolador
con el fin de guardar el nuevo programa.
8. BIBLIOGRAFA
Bibliografa
[1] M. Angel, Blogspot, 10 Diciembre 2014. [En lnea]. Available: http://microcontroladoresdev.blogspot.com/2010/12/microcontroladores.html. [ltimo acceso: 10 11 2015].
[2] D. Herrera, Monografas, 08 06 2015. [En lnea]. Available:
http://www.monografias.com/trabajos18/descripcion-pic/descripcionpic.shtml#ixzz3xcMJGsmr.
[3] Electrox, Electrox, 24 05 2008. [En lnea]. Available:
https://sites.google.com/site/ielectrox/home/programas-1/pic-c-compiler. [ltimo acceso: 10
11 2015].
[4] Wikipedia, Wikipedia, [En lnea]. Available:
https://es.wikipedia.org/wiki/Proteus_(electr%C3%B3nica). [ltimo acceso: 10 11 2015].
[5] EPN, Biblioteca Digital, [En lnea]. Available:
http://bibdigital.epn.edu.ec/bitstream/15000/2207/1/CD-1982.pdf. [ltimo acceso: 10 11
2015].
[6] E. Experimental, Gravitech, 06 11 2014. [En lnea]. Available:
http://www.gravitech.us/16chbllcdwib.html.
[7] Annimo, Wikipedia, 18 11 2015. [En lnea]. Available:
https://es.wikipedia.org/wiki/Pantalla_de_cristal_l%C3%ADquido#Especificaciones. [ltimo
acceso: 15 12 2015].
[8] L. Rosero, Scribd, 05 09 2013. [En lnea]. Available:
https://es.scribd.com/doc/44252680/LCD-16X2. [ltimo acceso: 16 12 2015].
[9] T. Electrodo, Blogspot, 10 02 2013. [En lnea]. Available:
http://todoelectrodo.blogspot.com/2013/02/lcd-16x2.html. [ltimo acceso: 15 12 2015].
[10] RobotyPIC. [En lnea]. Available: http://robotypic.blogspot.com/2011/03/comunicacion-rs232entre-dos-pic.html. [ltimo acceso: 18 01 2016].
| 16
| 17