reporte examen

17
UNIVERSIDAD POLITECNICNICA DE QUERETARO M503 MICROCONTROLADORES REPORTE EXAMEN Integrantes: Christian Daniel García García. Ramiro Rivera Serrano. Profesor: Ubaldo G. Villaseñor.

Upload: ayax-fernando

Post on 11-Aug-2015

35 views

Category:

Documents


1 download

TRANSCRIPT

M503 MICROCONTROLADORES reporte EXAMEN

Integrantes:

Christian Daniel García García. Ramiro Rivera Serrano.

Profesor:

Ubaldo G. Villaseñor.

INTRODUCCION.

-La materia de microcontroladores y este tipo de prácticas de la materia tienen como objetivos enseñarnos como y para qué sirve un microcontrolador. Un microcontrolador es un circuito integrado 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 computadora: unidad central de procesamiento, memoria  y periféricos de entrada/salida .También se aprende a simular y rutear algún circuito para proyecto con un programa llamado PROTEUS, que este software obviamente permite montar el circuito con pistas y elementos los cuales se pueden observar y para rutearlo con un programa que lo hará funcionar, a la hora de la simulación. La programación mencionada anteriormente se realiza en un compilador llamado PIC C COMPILER. Una vez realizado esto tenemos que observar el funcionamiento del programa a través de un sistema mínimo y placas realizadas para las prácticas.

En esto es una visión a groso modo de lo que se ve en este reporte de práctica de microcontroladores.

MARCO TEORICO:

CCS C COMPILER: CCS ofrece una suite completa de herramientas integradas para desarrollar y depurar aplicaciones embebidas que se ejecutan en Microchip PIC ® y dsPIC MCU ® DSC. El corazón de este desarrollo es la suite de herramientas de CCS código inteligente optimización de compilador de C que libera a los desarrolladores concentrarse en la funcionalidad de diseño en lugar de tener que convertirse en un experto en arquitectura MCU.

Sistema mínimo: Un sistema mínimo, en general, es un circuito montado en placa que contiene los mínimos componentes necesarios para observar el funcionamiento de un microcontolador con un programa previamente cargado.

Tarjeta de desarrollo Circuito Minimo ya funcionando.

Proteus: es una compilación de programas de diseño y simulación electrónica, desarrollado por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los módulos VSM y Electra.

-El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de

alimentación, generadores de señales y muchos otros componentes con prestaciones diferentes. 

-ARES, o Advanced Routing and Editing Software (Software de Edición y Ruteo Avanzado); es la herramienta de enrutado, ubicación y edición de componentes, se utiliza para la fabricación de placas de circuito impreso, permitiendo editar generalmente, las capas superficial (Top Copper), y de soldadura (Bottom Copper).

PIC16F873A: Los PIC16F87X son una familia de microcontroladores PIC es la versión mejorada del caballo de batalla PIC16F84. Consta de los siguientes modelos que varían de acuerdo a prestaciones, cantidad de terminales y encapsulados:

PIC16F873 PIC16F874 PIC16F876 PIC16F877

Esta familia es de las que tienen memoria tipo Flash, lo que nos permite reprogramarlos las veces que sea necesario sin necesidad de usar ningún otro dispositivo más que el propio programador. Este aspecto es muy importante a la hora del diseño de un dispositivo para evitar pérdida de tiempo en borrar los µC y volver a programarlos.

Las características principales que hacen de esta familia un poco más potente que otras son:

Conversor Analógico/Digital de 10 bits Set de 35 instrucciones 3 Temporizadores + Watchdog Timer o Perro Guardián 2 módulos PWM Protocolos de Comunicaciones USART, PSP e I²C

Todos los μC de la firma Microchip cuentan con registros  internos (la mayoría de estos son de escritura-lectura) los cuales nos permiten configurar cada bloque para que funcione de acuerdo a nuestras necesidades.

Para las familia 16F87X estos registros son de 8 bits y podemos acceder a cada uno de ellos, o bien a todo el registro. También existen algunos registros particulares de 16 bits pero físicamente son dos registros de 8 unidos.

Para cada μC existen tres bloques bien diferenciados de memoria. Estos son:

Memoria de programa: Lugar físico donde se guarda el programa. Memoria de datos: Lugar físico donde se guardan datos, EEPROM Memoria de registros: Lugar físico de los registros que controlan cada módulo.

La Memoria de registros es la parte de la memoria se encuentran los registros que manejan a cada módulo del μC y también existen registros no definidos o bien a definirse por el programador para cualquier uso (variables, constantes, acumuladores auxiliares, etc.) estos registros de propósito general también son de 8 bits y se definen asignándoles un nombre y una dirección.

Datasheet pic 16F873A

LM35: El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC. Su rango de medición abarca desde -55°C hasta 150°C. La salida es lineal y cada grado centígrado equivale a 10mV, por lo tanto:

150ºC = 1500mV

-40ºC = -400mV

Sus características más relevantes son:

Esta calibrado directamente en grados Celsius.

La tensión de salida es proporcional a la temperatura.

Tiene una precisión garantizada de 0.5°C a 25°C.

Opera entre 4 y 30 volts de alimentación.

Baja impedancia de salida.

Baja corriente de alimentación (60uA).

Bajo costo.Destacables

El LM35 no requiere de circuitos adicionales para calibrarlo externamente.La baja impedancia de salida, su salida lineal y su precisa calibración hace posible que este integrado sea instalado fácilmente en un circuito de control.Debido a su baja corriente de alimentación se produce un efecto de auto calentamiento muy reducido.Se encuentra en diferentes tipos de encapsulado, el más común es el TO-92, utilizada por transistores de baja potencia.

OBJETIVO

En esta práctica el alumno debe comprender las limitaciones que se imponen sobre el lenguaje c con el que se programan las aplicaciones, para tratar de ajustarse a los recursos que tiene un microcontrolador. Así mismo se profundiza en el conocimiento de los puertos de entrada/salida

El circuito que se ha construido, consiste en un sensor de temperatura LM35, el cual otorga el valor de la temperatura en el ambiente, para tal propósito, se encuentra conectados por medio de un conversor análogo/digital, el ADC0804.

Nuestro tercer objetivo era el de recibir una señal analógica, usar los convertidores analógico-digital (ADC) del PIC e igualmente usar esos datos para realizar algún proceso, en este caso mostrar en la salida la temperatura actual.

Reafirmar los conceptos de microcontrolador y funcionamiento.

Programar el PIC 16F873A

Aprender a usar herramientas y software necesario para el control de PIC y sistemas.

Familiarizarse con la programación (Lenguaje C).

Simulación de sistemas electrónicos en PROTEUS.

Uso de programador picnano para PIC.

METODOLOGIA Y DESARROLLO.

Antes que nada se nos fue proporcionada una lista con una serie de conceptos acerca de lo que es un microcontrolador y las diferencias que existen con un microprocesador, posteriormente para realizar las practicas propuestas por el profesor, nos dispusimos a planchar y soldar el sistema mínimo, esto parar colocar el pic y unirlo con las demás placas. Posteriormente nos dispusimos a programar en el lenguaje c con la ayuda del software ccs c compiler esto para pasar el programa a los que es el pic. Para la simulación del programa y la elaboración de las placas del sistema mínimo, display, LED’s y botones pull up/pull down se usó Proteus con los diferentes softwares integrados para simulación y elaboración de PCB’s.

En la parte de la programación del microcontrolador se utilizó un PIC16f873A que es uno de los microcontroladores más populares del mercado actual

Para la programación de PIC’s se debe tomar en cuenta la arquitectura de éste y para conocerla debe consultarse el Data sheet o hoja de datos del PIC programar.

El objetivo del programa es que al momento de conectar el pic al sistema mínimo y de este a las placas de push buttons y a la de los display de lcd de 16x 2, este al sistema minimo con 2 lm35, la temperatura marcada en el lm35 debe ser la que sea lea en el display.

Una vez terminado el programa en ccs c compiler, debe compilarse y depurarse y revisar que no contenga ningún error, una vez hecho esto se creará un archivo con extensión (.HEX) el cuál utilizaremos para simular en ISIS y para grabarlo en el microcontrolador.

Básicamente se puede decir que para compilar el programa y crear el archivo se debe guardar como la extensión .ASM

Y él .HEX nos sirve para grabar en el micro.

Programa realizado en CCS C COMPILER:

#include <16f873a.h>#device adc = 10 // convertidor analógico digital.#use delay (clock = 20000000)#fuses HS, NOWDT#include <lcd.c>

#byte trisa = 0x85#byte porta = 0x05#byte trisb = 0x86#byte portb = 0x06#byte trisc = 0x87#byte portc = 0x07

void main(){ trisc = 0xFF; int16 dato_1 = 0,dato_2 = 0,offset_1 = 0,offset_2 = 0 ; float temp1 = 0,temp2 = 0,off_1f = 0,off_2f = 0 ; float t1 = 0,t2 = 0, temper1 = 0, temper2 = 0 ; float prom = 0; setup_adc_ports (All_ANALOG); // configuración de los pines del adc. setup_adc (ADC_CLOCK_INTERNAL); // obtener muestreos del sensor. delay_ms(10); lcd_init ();

printf (lcd_putc, "\nC-R M503"); delay_ms(3000); printf (lcd_putc, "\fTermometro "); printf (lcd_putc, "\nExamen Micros"); delay_ms(3000);

for (;;) { set_adc_channel (0); delay_us (20); dato_2 = read_adc (); // sensor 1. delay_us(20); set_adc_channel (1); delay_us (20);

dato_1 = read_adc (); // sensor 2. delay_us(20); set_adc_channel (2); delay_us (20); offset_1 = read_adc (); // offset1 delay_us(20); set_adc_channel (3); delay_us (20); offset_2 = read_adc (); // offset2 delay_us(20); temp1 = dato_2* 500.0 / 1024; temp2 = dato_1* 500.0 / 1024; delay_ms(100); off_1f = offset_1* 5.0 / 1024; off_2f = offset_2* 5.0 / 1024; delay_ms(100); if(off_1f<2.5) { t1= off_1f*4 -10; } if(off_1f>2.5) { t1= off_1f*4 -10; } if(off_2f<2.5) { t2= off_2f*4 -10; } if(off_2f>2.5) { t2= off_2f*4 -10; } temper1=temp1-t1; temper2=temp2-t2; prom = ((temper1+temper2)/2.0); if(bit_test(portc,0)==1) { printf (lcd_putc, "\fTemperatura Prom ");

printf (lcd_putc, "\n %1.0f C",prom); } else { printf (lcd_putc, "\ftemp. 1 = %1.0f C",temper1); printf (lcd_putc, "\ntemp. 2 = %1.0f C",temper2); } }}A continuación se muestran las dos prácticas realizadas, donde se muestra los respectivos programas y circuitos realizados:

PRACTICA 3

Componentes:

Sistema mínimo Programador de pics PICNANO 1 Display Lcd 16x2 8 resistencias de 330 Ohms Pines hembra troquelados Pic 16F873A Alambre de protoboard 1 push buttoms

Programa:

Simulación:

CONCLUSION

Podemos concluir que estas prácticas realizadas con el PIC16F873A , el compilador CCS C COMPILER y el software PROTEUS hay una infinidad de aplicaciones que se pueden realizar con la ayuda de los pic.Pero debido a su costo y tamaño, son muy útiles para manejar un conjunto reducido de funciones. Por ejemplo: A pesar de que muchos de los aparatos de hoy están controlados por una computadora, casi nadie se imaginaría un servidor X Serve de Apple conectado al horno de microondas o al tostador de pan para controlarlos.

Pudimos observar en esta practica la gran variedad   de incomparable facilidad de manejo que presenta usar PIC's para realizar proyectos que requieran del uso de la electrónica, pues además de su facilidad de programación, su estabilidad   y gran capacidad de procesamiento, deja a nuestra imaginación todo lo que queramos hacer.Es necesario que los controladores de la pantalla de LCD sea compatible con los controladores del pic ya que de lo contrario no aparecerá la información deseada en la pantalla ni mucho menos los datos dados por el sensor de temperatura.

En general nos gustó mucho abrir nuestro panorama acerca de los microcontroladores y en esta práctica aprendimos a usar el pic 16F783A, empezar a conocer los puerto A y B del Pic, a ver la forma en como ejecuta su función el pic una vez que ha sido programado y que para resolverlo no es necesario seguir una sola dirección, ya que se puede resolver el circuito de diferentes maneras.

Sabemos también, que es más aplicable y sutil el manejo de PIC o microcontroladores, pues facilita la aplicación y manipulación a diversos proyectos.

Es claro que en el medio que vivimos, la información es uno de los pilares fundamentales en el desempeño de nuestras vidas, y también que, en el área de ingeniería, la información es una de las claves del éxito de nuestras invenciones.Pero esta información no tendría significado ni aplicación si no pudiéramos controlarla y manipularla. Por tal motivo el software nos brinda una gran herramienta, a la hora de actuar con dicha información.

En conclusión, nosotros obtuvimos una nueva constante del sensor de temperatura LM35 aplicada a las condiciones de medición que utilizamos.

.