Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.1 INTRODUCCIN
En este captulo se describen las tcnicas de control de temperatura existentes as como los diferentes tipos de controladores disponibles en el mercado. El control de temperatura ms difundido para los hornos elctricos utilizados para cermica y vidrio consisten de dispositivos llamados pirmetros, los cuales permiten al usuario fijar una temperatura dada, temperatura de operacin y mediante control apagado/encendido inician el encendido de los elementos calefactores que consisten de resistencias elctricas que mediante el paso de la corriente elctrica generan calor, de sta manera inicia el proceso de calentamiento. Mediante sensores de temperatura llamados termopares el pirmetro mide la temperatura en el horno y al llegar sta al 1
valor preestablecido el pirmetro desconecta las resistencias para de sta manera mantener la temperatura al valor establecido conectando y desconectando los elementos calefactores segn sea necesario. El otro tipo de controlador de temperatura llamado controlador programable de temperatura consiste de una microcomputadora que permite al usuario disponer de diferentes programas preestablecidos de horneado, que incluyen facilidades como: Calentamiento del horno de manera gradual a una razn de cambio constante. Apagar el horno cuando alcaza la temperatura fija. Mantener el horno a la temperatura fijada y despus de un tiempo fijado de antemano apagar el horno automticamente. Iniciar el calentamiento a una hora y fecha fijada de antemano para el siguiente horneado de piezas.
El desarrollo propuesto consiste en disear una microcomputadora con las interfaces de hardware y software necesarias para implementar un controlador programable de temperatura con las funciones descritas anteriormente.
termopares se emplean como sensores de temperatura y para su fabricacin pueden utilizarse materiales tales como: hierro-constantan, cromo- aluminio. Los termopares estn entre los sensores de temperatura ms fciles de utilizar y de obtener, y se utilizan extensamente en ciencia e industria. La eleccin del tipo ptimo del termopar se basa en la temperatura de aplicacin, el medio al que ser expuesto, la vida til necesaria, la exactitud requerida y el costo. Cuando un conductor metlico es sometido a una diferencia de temperatura, entre sus extremidades surge una fuerza electromotriz (F.E.M.), cuyo valor por lo general no excede el orden de magnitud de milivoltios, como consecuencia de la redistribucin de los electrones en el conductor cuando stos se someten a un gradiente de temperatura.
El valor del voltaje, depende de la naturaleza del material y del gradiente de temperatura entre sus extremidades. En el caso de un material homogneo, el valor del voltaje, no depende de la distribucin de temperatura a lo largo del conductor, pero si, como hemos dicho anteriormente, de la diferencia de temperatura entre sus extremidades. Este fenmeno es bsico para poder entender la termoelectricidad y su aplicacin en la medicin de temperatura. La siguiente ecuacin muestra el voltaje generado en la unin el voltaje de referencia V = a (tj1 - tref) donde a es el coeficiente de Seebeck del termopar K (Cromo-Aluminio), as para el cromo-aluminio a es de 0.040 mV por grado centgrado. El siguiente paso es medir la temperatura del bloque isotrmico (tref) y emplear esta informacin para conocer la temperatura de la unin J1 (tj1).
VoutT = VoutT 0
Donde:
T T0
4
T = temperatura desconocida To = temperatura de referencia Cuando se calibra a 25 C el LM35 tiene un error de 1C sobre un rango de 100C. Sus principales aplicaciones son como: Sensor de temperatura Control de temperatura Algunas de las configuraciones de sus aplicaciones tpicas como sensor de temperatura se muestran en las siguientes figuras:
Para la compensacin a temperatura ambiente del termopar se utiliza el sensor de temperatura Lm35, el cual entrega una seal de 10 mv/C y puede operar en un rango de 0C a 100 C. Los circuitos de la etapa de sensado y acondicionamiento se muestran en la figura 1.3
El amplificador operacional utilizado es un LT 1014 de la empresa Linear Technology con las siguientes caractersticas relevantes: Operacin con una sola fuente Bajo voltaje de offset tpico 50 mximo, 180 micro volts Alta ganancia Bajo corrimiento 2 micro volts / C Mximo La razn de rechazo al modo comn (o CMRR) Mayor a 94 dB La compensacin de temperatura ambiente se hace por programa en el microcontrolador. Ganancia es la ganancia del amplificador operacional El voltaje de salida del Amplificador operacional en modo No inversor est dado por: Ganancia = (1 + RF/RI) Ganancia = 100 RI = 4.7k RF = (100-1)RI = 99(4700) = 465.3K Ohms Siendo RF la resistencia de retroalimentacin y RI la resistencia de entrada. Para evitar ruido de alta frecuencia se tiene un filtro pasa bajos pasivo formado por la resistencia R2 y el capacitor C8., siendo su frecuencia de corte: R2 = 4700 ohms C8= .1 Micro f Fc = 1/2piRC = 1/6.28x4700x.0.0000001 = 1/0.029516 FC = 338 HZ
La resistencia R1 tiene como funcin detectar la condicin de falla del termopar, cuando este se abre o est desconectado, dando como resultado un voltaje mximo a la salida del amplificador operacional (5 volts).
2.1 INTRODUCCIN
La Unidad de control y procesamiento est constituida por un Microcontrolador PIC16F887 de la Compaa Microchip, el cual cuenta con los puertos de Entrada/Salida, Memoria de Programa y de Datos, as como los convertidores Analgico digitales necesarios para poder leer las seales analgicas provenientes de los sensores. Se eligi este tipo de microcontrolador por su bajo costo, amplia gama de herramientas de desarrollo disponibles en el mercado proporcionadas por el Proveedor as como de diferentes compaas independientes y su disponibilidad en Mxico
2.2 CPU
El PIC16F887 incorpora un CPU RISC de B-bits de datos y 16 bits de memoria de programa a este tipo de arquitectura se le llama arquitectura Harvard, donde la memoria de programa y la memoria de datos se encuentran en buses diferentes, permitiendo mayor velocidad de acceso. Principales caractersticas: Arquitectura RISC Frecuencia de Operacin 0-20 MHz Oscilador interno de precisin calibrado de fbrica +/- 1% Seleccin de frecuencia por Software con un rango de 8MHz a 31KHz Voltaje de alimentacin de 2.0-5.5V 35 Pines de Entrada/Salida -Alta corriente de salida (source/sink) para operar directamente un LED -Resistencias de pull-up programables individualmente por software 8K de memoria ROM con tecnologa FLASH -El Chip puede ser reprogramado hasta 100.000 veces Programacin Serie In-Circuit. El Chip puede ser programado aun instalado en la tarjeta. 256 bytes de memoria EEPROM -Los datos Pueden ser escritos en EEPROM ms de 1.000.000 de veces 368 bytes memoria RAM convertidor: A/D -14-canales -resolucin 10-bits 3 temporizadores/contadores independientes Temporizador Watch-dog modulo Mejorado de USART -Soporta RS-485, RS-232 y LIN2.0 -Auto Deteccin de -Baud
2.3.1 Flash/ROM
La memoria ROM es usada para guardar de forma permanente el programa que va a ser ejecutado. Esta memoria es a menudo llamada memoria de programa . El PIC16F887 tiene 8K words de memoria ROM (en total 8192 localidades). Ya que esta ROM est hecha con tecnologa de Memoria Flash, su contenido puede ser cambiado mediante un voltaje de programacin especial (13V). El diagrama a bloques de la memoria se muestra en la figura 2.1
10
2.3.2 EEPROM
Similar a la memoria de programa, el contenido de la EEPROM es guardado de manera permanente, an cuando haya un corte de energa. Sin embargo, a diferencia de la ROM, el contenido de la EEPROM puede se cambiado durante la operacin del microcontrolador. Debido a sta caracterstica de la memoria EEPROM (256 localidades) es la indicada para salvar los resultados creados y usados durante la operacin.
2.3.3 RAM
La RAM es el tercero y ms complejo tipo de memoria del microcontrolador. En este caso, consiste de dos partes: Registros de propsito general y registros de funciones especiales (SFR). Ambos tipos de registros pierden su informacin cuando se apaga la fuente de alimentacin. Ambos tipos de registros son manufacturados de la misma forma, aunque las funciones que realizan son diferentes. Los Registros de propsito general son usados para almacenamiento temporal de datos y resultados creados durante la operacin del microcontrolador. Los Registros especiales son tambin localidades de RAM, pero a diferencia de los registros de propsito general, su propsito est predeterminado durante el proceso de manufactura y no puede ser alterado, ya que sus bits estn fsicamente conectados a circuitos particulares en el chip, por ejemplo al convertidor Analgico digital, mdulo serie de comunicaciones, etc., cualquier cambio en su contenido afecta la operacin del microcontrolador o alguno de sus circuitos. Por ejemplo , cambiando los bits del registro TRISA, la funcin de cada pin del puerto A puede ser cambiado como entrada o salida. Otra caracterstica de stas localidades de memoria, es que tienen sus nombres ( los registros y sus bits), facilitando de manera considerable la escritura de programas, ya que los Lenguajes de Alto Nivel, pueden usar la lista de todos los registros con sus direcciones exactas, es suficiente especificar el registro por su nombre, para leer o cambiar su contenido. La memoria RAM est particionada en cuatro bancos. Antes de acceder algn registro durante la escritura del programa ( para leer o cambiar el contenido), es necesario seleccionar el banco que contiene el registro. Son usados dos bits del Registro de estado para seleccionar el banco que contiene el registro. A fin de facilitar la operacin, los SFR ms usados tienen la misma direccin en todos los bancos. En la figura 2.3 se muestran el mapa de memoria RAM.
11
12
13
14
Bit 6-4 todos en 1 oscilador interno a 8 MHZBit 3 Oscilador interno Bit2 Bit 1 Bit 0 es de solo lectura es de solo lectura
15
Esta flexibilidad en el sistema de reloj est especialmente indicada para ahorrar energa, ya que se puede ocupar un cristal de baja frecuencia, por ejemplo 32 KHz, para los perifricos, mientras la CPU se opera mediante el oscilador interno a una frecuencia que puede ir de los 31 KHz a los 8 MHz, dependiendo de la configuracin y caractersticas del dispositivo en particular. Adems para contrarrestar el efecto de corrimiento de frecuencia del oscilador interno se puede corregir peridicamente con la seal ms estable proveniente del oscilador de baja frecuencia controlado por cristal.
16
El registro OPTION_REG define los parmetros de resistencias de pull up, el tipo de seal que dispara la interrupcin y el factor de divisin de la frecuencia de reloj que alimentar al temporizador 0 ( TIMER 0) Bit 7 = 1 Resistencias de pull up deshabilitadas Bit 6 = 0 Interrumpe a la subida Bit 5 = 0 Fosc/4 Bit 4 = 0 El temporizador incrementa a la subida Bit 3 = 0 El divisor se asigna al temporizador 0 Bit 2-0 = 1 El divisor es de 256
OPTION_REG = 0x87;
17
18
2.5.4 Programacin del registro ADCON0 Este registro define el oscilador que utilizar para funcionar el ADC interno, la habilitacin del CAD. Bit 7-6 00 osc/2 Bit 2-5 seleccin de canales Bit 1 bit de estado solo lectura Bit 0 1 se habilita el CAD ADCON0 = 0B00000001 Osc/2, CAD habilitado
19
2.5.5 Programacin del registro ADCON1 Este registro define si el resultado de la conversin se justifica a la derecha o izquierda, el voltaje de referencia que utilizar el ADC, Bit 7 1 Bit 6 Bit 5 0 Bit 4 0 Bit 0-3 justificado a la derecha no se usa vss es el voltaje de referencia negativa vdd es el voltaje de referencia positiva no se usan
ADCON1 = 0b10000000;//bit 07 1 justificado a la derecha Justificado a la derecha y los voltajes de referencia son 0 y 5 V de la fuente.
20
2.5.5 Programacin del registro ANSEL Este registro define cuales de las 8 primeras entradas se configurarn como entradas analgicas, en nuestro caso solo se utilizan las primeras 2. ANSEL = 0B00000011 Configura AN0 y AN1 como entradas analgicas
2.5.6 Programacin del registro ANSELH Este registro define cuales de las 4 ultimas entradas se configurarn como entradas analgicas, no se estn usando como entradas analgicas por lo tanto se inicializa con 0. . ANSELH = 0; 2.5.7 Programacin del registro TRISA Este registro se puede configurar como entrada (1) o salida (0), los primeros 2 bits se estn utilizando como entradas y los restantes no se estn usando, por lo que lo configuramos como entradas todos los bits escribiendo unos en todos los bits. TRISA = 0xFF;//puerto A como entradas 2.5.8 Programacin del registro TRISE Se est usando como salida por lo que se inicializa con 0.
TRISE = 0;
// PORTE es salida
2.5.9 Programacin del registro PORTB. En el Puerto B est conectado el teclado matricial de 3 x 4, el cual debe ser inicializado antes de poder usarlo, la inicializacin se hace mediante la rutina de inicializacin del teclado que incluye el compilador Mikroc. Keypad_Init(&PORTB); 2.5.10 Programacin del registro PORTD En el Puerto D est conectado display LCD, el cual debe ser inicializado antes de poder usarlo, la inicializacin se hace mediante la rutina de inicializacin del display que incluye el compilador Mikroc. Lcd_Init(&PORTD);
21
2.5.11 Programacin del registro INTCON Este registro define que perifricos pueden interrumpir al procesador. Bit 7 1 Bit 6 0 Bit 5 1 Bit 4 0 Bit 3 0 Bit 0-2 Habilita interrupciones globales Deshabilita interrupciones al USART Habilita interrupciones al TMR0 Deshabilita interrupciones externas Deshabilita interrupciones al puerto B Solo lectura Hablita interrupcin de TMR0 e interrupciones globales
INTCON = 0xA0;
22
Temporizador/contador de 8 bits Divisor de 8 bits Fuente programable de reloj interna y externa Interrupcin en sobre flujo Reloj programable externo
El temporizador TMR0 se utiliza como temporizador para generar interrupciones cada 20 ms , que es la base de tiempo que utiliza el sistema para sincronizar y llevar acabo todas las actividades. Para calcular que valor debe ser cargado al temporizador se utiliza la siguiente frmulas: Periodo de reloj = 1/8000000 = .125 us para f = 8 mhz Valor a cargar = 256-tiempo requerido de interrupcin/(4 x periodo de reloj x divisor) Valor = 256 20ms/4x.000125 x256 = 256 - 156.25 = 100 TMR0 = 100; valor inicial TIMER0
El temporizador debe ser cargado con el valor 100 para que al llegar el contador a 0 genere una interrupcin ( cada 20 ms).
23
Par de registros (TMR1H:TMR1L) 16 bits temporizador/contador Fuente de reloj programable (interna o externa) Divisor de 3 bits Interrupcin de sobre flujo
Cuando usa fuente de reloj interno se utiliza como temporizador, mientras que si usa reloj externo se utiliza como contador. En la figura 2.7 se muestra el diagrama a bloques de temporizador TMR1 y en la tabla 2.8 se muestra el registro de control del TMR1 T1CON.
24
25
26
Registro del RMR2 de 8 bits Registro del periodo PR2 de 8 bits Interrupcin cuando TMR2 y PR2 son iguales Divisin de entrada programable por software (1:1, 1:4, 1:16) Divisin de salida programable por software (1:1, 1:4, 1:16)
En la figura 2.8 se muestra el diagrama a bloques de TMR2 y en la tabla 2.9 el registro de control del TMR2
27
28
29
3.1 INTRODUCCION
Para resolver un problema es recomendable dividirlo en varios problemas de menor complejidad y resolver cada uno de estos por separado para finalmente unir las soluciones resultantes y resolver el problema principal. Esta forma de trabajar es de vital importancia en la programacin y constituye una herramienta indispensable tanto en el diseo como en la elaboracin del cdigo fuente. El diseo propuesto consiste de una microcomputadora con los mdulos de entrada necesarios para medir la seal de entrada, interfaz de entrada y salida de datos, as como la etapa de potencia, como se muestra el la figura 3.1
DISPLAY LCD
SALIDA
RESISTENCIAS
SENSOR
ENTRADA ENTRADA
HORNO
TECLADO
3.2 TEMPERATURA
30
Para la lectura de la temperatura ambiente se utiliza la entrada analgica 1 del convertidor analgico digital (An1), este pin es conectado a la salida del circuito de temperatura, como se muestra a continuacin.
Para medir la temperatura dentro del horno se utiliza como sensor el termopar y la circuitera asociada que acondiciona la seal del termopar y queda lista para ser conectada a la entrada An0 del microcontrolador. Despus de haber configurado el convertidor analgico digital y dado la orden para que inicie la conversin, al resultado arrojado por el convertidor es necesario realizarle una operacin, esto con el fin de obtener una medida confiable, al valor medido por el termopar se le debe sumar la temperatura ambiente detectada por el sensor LM35. La siguiente operacin debe ser realizada a cada resultado del convertido analgico a digital. Temperatura = (Lectura An0x5000)/(1024x4) + (Lectura An1x5000)/(1024x10) Debido a las caractersticas del circuito de temperatura mencionadas en el captulo 2 y realizando lo anterior nuestra lectura de temperatura esta lista para ser enviada a travs del display de cristal liquido LCD, dicha rutina se muestra a continuacin:
ADCON0 = 0B00000001;// BIT 0 habilita ADC, BITS 6 Y 7 EN 0 OSC/2 // BITS 6 Y 7 EN 1 FREC OSC RC ADCON1 = 0b10000000;//bit 07 1 justificado a la derecha //bit 5 0 = referencia - vss bit 04 0 = ref + vdd ANSEL = 0B00000011; // Configura AN0 y AN1 como entradas analgicas ANSELH = 0;
31
TMR0 = 100; // Timer0 initial value INTCON = 0xA0; // Enable TMRO interrupt cnt = 0; // Initialize cnt Delay_ms(500); // Delay 15 mili second Keypad_Init(&PORTB); Lcd_Init(&PORTD); // LCD est connected to PORTD Delay_ms(20); // Delay 15 mili second Lcd_Cmd(LCD_CLEAR); Delay_ms(500); // Delay . second Lcd_Out(1,1,"Controlador de Temperatura"); Lcd_Out(2,1,"Elije la opcin deseada 1,2,3"); Delay_ms(500); // Delay . second Lcd_Cmd(LCD_CLEAR);
do { if (cnt >= 50) { PORTE = ~PORTE; // Toggle PORTB LEDs cnt = 0; tmp++ ; Lcd_Cmd(LCD_CLEAR); Vin0 = Adc_Read(0); // Lee el canal 0 (AN0) Vin1 = Adc_Read(1); // Lee el canal 1 (AN1) T0 =( (Vin0 * 5000) >> 10)/4; // T0 = (Vin0 x 5000) /(1024 x 4) T1 =( (Vin1 * 5000) >> 10)/10; // T1 = (Vin1 x 5000) / (1024 x 10) Temperatura = T0 + T1 Lcd_Out(2,1,"TEMP C = "); // Display " TEMP C = " LongToStr(Temperatura,op); // Se convierte a string en "op" j=0; for(i=0;i<=11;i++) { if(op[i] != ' ') // If a blank { lcd[j]=op[i]; j++; } } // Display result on LCD // Lcd_Out(2,10,lcd); // salida a LCD Delay_ms(1000); // Espera 1 segundo // Reset cnt } } while(1); }
32
El LCD se conecta al puerto D en modo 4 bits, con el fin de minimizar el nmero de bits del Microcontrolador y facilitar el diseo del circuito impreso, de tal manera que para su manejo se utilizan 4 bits para datos y 2 para control, con lo que se necesitan solo 6 bits de un puerto de 8 bits. En la tabla 3.1 se muestra las seales asociadas al controlador del display.
Numero de Pin 1 2 3
Estado Lgico 0 1
Descripcin 0V +5V 0 - Vdd D0 D7 son interpretados Como comandos D0 D7 son interpretados como datos
RS
33
R/W
0 1
escribe datos (del controladorr al LCD) Lee datos (del LCD al controlador) Acceso a LCD deshabilitar operacin Normal Datos/comandos son transferidos al LCD Bit 0 LSB Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 MSB Iluminacin del display
D0 D1 D2 D3 D4 D5 D6 D7 Led Led +
34
.
Figura 3.4 Mdulo de entrada de datos
La interconexin entre el microcontrolador El Teclado matricial de 3 columnas por 4 renglones, con un total de 12 teclas se conecta al puerto B, este tipo de arreglo permite minimizar el nmero de bits del Microcontrolador, de tal manera que para su manejo se utilizan 3 bits para columnas y 4 bits para renglones con lo que se necesitan solo 7 bits de un puerto de 8 bits en lugar de 12 si se conectaran 12 interruptores en paralelo.
35
.
Figura 3.5 Mdulo de potencia
El opto acoplador es controlado por el bit 0 del puerto D, que a su vez activa el triac de potencia que controlar la carga resistiva del Horno, o la bobina de un contactor de Potencia en caso de que la potencia a manejar sea mayor a la capacidad del triac, .
36
La fuente de alimentacin est formada por un regulador de voltaje lineal que genera 5 v y los capacitares de desacoplo en la entrada y salida de la fuente. Para su operacin, se requiere una fuente externa de 9v cc no regulada o alimentacin de bateras.
37
Computadora personal con el Sistema operativo Windows XP Compilador Mikroc Versin 8.1 de la Compaa Mikroelectronika MPLAB IDE de la Compaa Microchip Technology Inc. Programador de PIC MPLAB ICD 2 de la Compaa Microchip Technology Tarjeta de desarrollo PICDEM 2 de la Compaa Microchip Technology
38
3.8.1 MAQUINAS DE ESTADOS FINITOS Hay dos tipos de maquinas de estados finitos: Mealy cambia su accin basada en el estado actual y sus entradas. Moore cambia su accin solamente basada en su estado actual.
39
La parte mas importante del mtodo de mquinas de estados finitos es dibujar los diagramas de estado que nos permite concentrarnos en el problema, ms que en las variables o en el cdigo a desarrollar. En una mquina de estados hay una variable de control llamada variable de estado, que representa el estado actual de la mquina. Cada valor de la variable de estado direcciona a la mquina de estados a un estado diferente y permanece en ese estado hasta que la variable de estado cambie. La ventaja de utilizar mquinas de estados es que fcilmente se pasa de la grfica de estados al cdigo en cualquier lenguaje de programacin. En lenguaje C con la siguiente estructura de programa se representan los estados de la mquina de estados representada en la Figura 3.5 enum maquina_de_estado { espera, paso1,paso2,paso3,paso4,paso5 } enum maquina_de_estado estado La condicin describe cuando el estado de la maquina de estados debe ir de la condicin actual al siguiente. La accin describe que pasa cuando la condicin se cumple, que acciones se deben tomar en el estado actual.
40
enum maquina_de_estado { espera, paso1,paso2,paso3,paso4,paso5 }; enum maquina_de_estado estado = Espera; while(1) { // (1) switch ( stado ) { case Espera : if bandera == 1 conecta resistencia() estado = paso1; break; case Paso1 : break; case Paso2 : break; case Paso3 : break; case Paso4 :
El programa principal, donde se inicializan los perifricos, se analizan los comandos de usuario para iniciar el proceso y posteriormente quedarse en un ciclo infinito, leyendo el teclado para leer comandos como se muestra en la Figura 3.9.
41
42
CAPTULO 4 CONCLUCIONES
43
Con ste desarrollo se cumple con las premisas de tener un producto de buenas caractersticas , precio econmico que pueda ser adquirido por artesanos de bajos recursos de nuestro pas. Para disear e implementar un sistema con microcontroladores, es necesario conocer la arquitectura del microcontrolador, conocer las herramientas de desarrollo disponibles, el compilador de C para el microcontrolador en cuestin , as como conocer la filosofa de programacin en tiempo real para poder usar las facilidades al mximo tanto de las herramientas como las del microcontrolador. La programacin del microcontrolador en un lenguaje de alto nivel como el lenguaje C, tiene las ventajas de reducir los costos y tiempos de desarrollo y que las aplicaciones puedan portarse con relativa facilidad a otros microcontroladores existentes en el mercado. El costo neto del controlador de temperatura en cantidades de 100 es de $500.00 el cual es un precio competitivo con los controladores de temperatura mas censillos que se venden en nuestro pas.
Los microcontroladores actuales tienen la suficiente versatilidad, poder y bajo costo como para implementar una gran variedad de aplicaciones industriales con un mnimo de componentes externas, lo que redunda en bajo costo, confiabilidad y bajo consumo de energa. Si el diseo de la tarjeta del microcontrolador se hace pensando en utilizarla para diferentes proyectos, el costo se incrementa de manera insignificante pero permitira la reutilizacin del hardware y gran parte del software minimizando contos en proyectos futuros y reduciendo drsticamente el tiempo de tener en el mercado un producto nuevo.
44
Apndice A: ESPECIFICACIONES
Temperatura
Escala de temperatura Celsius C Rango de medicin 0C a +1200C Resolucin 1C Exactitud +/- 2 C a 1000C
45
Apndice C:
GLOSARIO
ADC.- Convertidor Analgico a Digital. Arquitectura Harvard.- Es una arquitectura almacenamiento separado para datos y programa. de computadoras que utilizan
CPU.- Unidad Central de Procesamiento (Central Processing Unit), o simplemente el procesador, es el componente en una computadora que interpreta las instrucciones y procesa los datos. LM35: Sensor de precisin de temperatura de salida analgica LSB.- Bit menos significativo (Least-Significant Bit). MCLK.- Reloj maestro. MIPS.- Es el acrnimo de "millones de instrucciones por segundo". Es una forma de medir la potencia de los procesadores. MSB.- Bit mas significativo (Most-Significant Bit). PIC16FXXX.- Es una familia de microcontroladores producidos por Microchip Technology. Pirmetro: La radiacin se enfoca hacia un filamento y un sensor ptico. El filamento es calentado por una corriente elctrica hasta que adquiere el mismo color que el objeto caliente por lo que desaparece por el fondo de este. La corriente del filamento es entonces una medida de la temperatura. RAM.- Memoria de acceso aleatorio (Random Access Memory). RISC.- De Arquitectura computacional, RISC (Reduced Instruction Set Computer), Computadora con Conjunto de Instrucciones Reducidas ROM.- Memoria de solo lectura (Read Only Memory). Termopar: Cuando dos alambres de distinto material se unen en sus terminales y una de ellas se calienta, existe corriente continua que fluye en el circuito termoelctrico. UART.- "Universal Asynchronous Receiver-Transmitter" ("Transmisor-Receptor Asncrono Universal"). Este controla los puertos y dispositivos serie. Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo.
46
APENDICE D PROGRAMAS
/* * Nombre del Proyecto: Control de Horno electrico * * Descripcin: Controlador de Temperatura de un Horno electrico * Configuracion de prueba: MCU: PIC16F887 Oscillador: Interno , 8.0000 MHz SW: * NOTAS: */ mikroC 8.1 para PIC
void interrupt() { cnt++; // increment counter kp = Keypad_Read(); TMR0 = 100; INTCON = 0x20; // clear TMR0IF } void main() { unsigned char K,a,u = 1; unsigned long Vin, mV,tmp=0; unsigned char op[12]; unsigned char i,j,lcd[6]; //OPTION_REG = 0x84; // Asiga prescaler a TMR0 1:32 OPTION_REG = 0x87; // Asigna prescaler a TMR0 1:256 //OSCCON = 0x60;// oscilador interno a 4 MHZ OSCCON = 0x71;// oscilador interno a 8 MHZ ADCON0 = 0B00000001;// BIT 0 habilita ADC, BITS 6 Y 7 EN 0 OSC/2 // BITS 6 Y 7 EN 1 FREC OSC RC ADCON1 = 0b10000000;//bit 07 1 justificado a la derecha //bit 5 0 = referencia - vss bit 04 0 = ref + vdd ANSEL = 0B00000011; // Configura AN0 y AN1 como entradas analgicas ANSELH = 0; TRISB = 0; //PORTB = 0xFF; // Initialize PORTB TRISE = 0; // PORTE como salida PORTE = 0xFF; // Inicialisa PORTB TRISA = 0xFF;//puerto a como entradas
47
TMR0 = 100; // Timer0 initial value INTCON = 0xA0; // Enable TMRO interrupt cnt = 0; // Initialize cnt Delay_ms(500); // Delay 15 mili second Keypad_Init(&PORTB); Lcd_Init(&PORTD); // LCD is connected to PORTD Delay_ms(20); // Delay 15 mili second Lcd_Cmd(LCD_CLEAR); Delay_ms(500); // Delay . second Lcd_Out(1,1,"PRUEBA 1"); Lcd_Out(2,1,"PRUEBA 2"); Delay_ms(500); // Delay . second Lcd_Cmd(LCD_CLEAR); do { if (cnt >= 50) { PORTE = ~PORTE; // Toggle PORTB LEDs cnt = 0; tmp++ ; Lcd_Cmd(LCD_CLEAR); Vin = Adc_Read(1); // Read from channel 0 (AN0) Lcd_Out(2,1,"TEMP C = "); // Display "mV = " mV =( (Vin * 5000) >> 10)/10; // mv = Vin x 5000 / 1024 LongToStr(mV,op); // Convert to string in "op" // LongToStr(tmp,op); // Convert to string in "op" j=0; for(i=0;i<=11;i++) { if(op[i] != ' ') // If a blank { lcd[j]=op[i]; j++; } } // Display result on LCD // Lcd_Out(2,10,lcd); // Output to LCD Delay_ms(1); // Wait 1 second // Reset cnt } } while(1); }
48
49
BIBLIOGRAFA
Programming and customizing the PIC Microcontroller. Predko, Myke USA,Mc Graw Hill 2008 1263 p Advanced PIC Microcontroller Projects in C: From USB to RTOS with the PIC 18F Series Dogan , Ibrahim UK, ISBN, 2008 544 P Modeling Software with Finite State Machines A Practical Approach Wagner, Ferdinand Schmuki, Ruedi Wagner, Thomas Wolstenholme, Peter USA, CRC Press 2006 362P
REFERENCIAS INFORMTICAS
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_User_Guide_51519c.pdf Tema: MPLAB IDE Users Guide, Microchip Technology Inc. Consulta: febrero 2009 http://ww1.microchip.com/downloads/en/DeviceDoc/41291F.pdfTema: MPLAB IDE Tema: PIC16F887 Data Sheet, Microchip Technology Inc. Consulta: febrero 2009
http://www.mikroe.com/pdf/mikroc/mikroc_manual.pdf Tema: mikroC Users Manual , MikroElectronika 2008. Consulta: Febrero de 2009
50