Issuu on Google+

PROYECTO CONTROL DE TEMPERATURA

MANTENIMIENTO ELECTRONICO INDUSTRIAL E INSTRUMENTAL INDUSTRIAL 28409

CENTRO INDUSTRIAL DE LA EMPRESA Y LOS SERVICIOS “C.I.E.S”

PROYECTO CONTROL DE TEMPERATURA

APRENDICES: JESMELY DAVIANA DIAZ ANGARITA EDWARD DANIEL RODRIGUEZ SANTOS MANUEL ALEJANDRO JAIMES PINILLA FABIAN MAURICIO RINCON RAMIREZ CARLOS ALBERTO SANCHEZ GARCIA

INSTRUCTOR: HERNANDO GOMEZ PALENCIA

MANTENIMIENTO ELECTRONICO INDUSTRIAL E INSTRUMENTAL INDUSTRIAL 28409

CENTRO INDUSTRIAL DE LA EMPRESA Y LOS SERVICIOS “C.I.E.S”

TABLA DE CONTENIDO •

DEDICATORIA

GLOSARIO

OBJETIVOS

INTRODUCCION LENGUAJE DE PROGRAMACION C

INTRODUCCION PROYECTO CONTROL DE TEMPERATURA (LM35)

DESARROLLO Y FASES DEL PROYECTO

ELEMENTOS DEL CIRCUITO

PROGRAMA DEL PROYECTO CCS

SIMULACION DEL PROYECTO (PROTEUS)

DISEÑO DEL CIRCUITO EN ARES

IMPRESO DEL CIRCUITO

PROYECTO FINAL (MONTAJE,PRACTICAS Y EVIDENCIAS)

CONCLUSIONES

BIBLIOGRAFIA

DEDICATORIA

ESTIMADO INSTRUCTOR Y COMPAÑEROS APRENDICES: Este informe es elaborado con el objetivo de probar y mostrar nuestro interés y aprendizaje como evidencia de nuestra enseñanza. Los invitamos a ver nuestra dedicación e interés por aprender y llevar a la practica lo aprendido en el ambito de programación de microcontroladores en lenguaje C en la competencia de desarrollo de proyectos con pic c, por ultimo esperamos valoren y aprecien nuestro trabajo.

GLOSARIO *MICROCONTROLADOR: Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: unidad central de procesamiento, memoria y unidades de E/S (entrada/salida). *LM35: es un sensor de temperatura con una precisión calibrada de 1ºC y un rango que abarca desde -55º a +150ºC. *LENGUAJE C: es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos. *PROTEUS: es un programa para simular circuitos electronicos complejos integrando inclusive desarrollos realizados con microcontroladores de varios tipos, en una herramienta de alto desempeño con unas capacidades graficas impresionantes. *ARES: es una programa de diseño de placas de circuitos electrónicos. *CCS: es un compilador que convierte el lenguaje de alto nivel (c) a instrucciones de código de máquina que funciona en un procesador (normalmente en un PC) diferente al procesador objeto.

OBJETIVOS GENERAL: •

Diseñar y elaborar un proyecto de control de temperatura mediante un programa diseñado en lenguaje,controlado por un pic (18f2550) en donde un sensor (lm35) es el encargado de leer la temperatura la cual sensamos y controlamos a la vez mediante un bombillo (aumente temeperatura) y un cooler (disminuya temperatura).

SECUNDARIOS: •

Demostrar nuestro aprendizaje mediante la realización de este proyecto

Analizar y mostrar el desempeño y desenvuelve en el tema de lenguaje c programando.

Desarrollar nuestro nivel de pensamiento y creatividad mediante la ejecución de programación de pic.

Obtener la capacidad de llevar a cabo un proyecto en todos sus ámbitos programación, simulación, montaje y presentación final.

Seguir demostrando nuestro desempeño en montajes de circuitos electrónicos.

INTRODUCCION LENGUAJE DE PROGRAMACION C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos. La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portátil entre plataformas y/o arquitecturas. En la práctica, los programadores suelen usar elementos no-portátiles dependientes del compilador o del sistema operativo. FILOSOFÍA Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución. Es muy posible escribir C a bajo nivel de abstracción; de hecho, C se usó como intermediario entre diferentes lenguajes. En parte a causa de ser de relativamente bajo nivel y de tener un modesto conjunto de características, se pueden desarrollar compiladores de C fácilmente. En consecuencia, el lenguaje C está disponible en un amplio abanico de plataformas (seguramente más que cualquier otro lenguaje). Además, a pesar de su naturaleza de bajo nivel, el lenguaje se desarrolló para incentivar la programación independiente de la máquina. Un programa escrito cumpliendo los estándares e intentando que sea portátil puede compilarse en muchos computadores. C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de sistemas, para la que se diseñó originalmente.

CARACTERÍSTICAS PROPIEDADES •

Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.

Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).

Un sistema de tipos que impide operaciones sin sentido.

Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.

Acceso a memoria de bajo nivel mediante el uso de punteros.

Interrupciones al procesador con uniones.

Un conjunto reducido de palabras clave.

Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.

Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").

INTRODUCCION PROYECTO CONTROL DE TEMPERATURA El controlador de temperatura o termostato nos permite mantener la temperatura en un rango previamente seleccionado. Ésto es útil en el uso de climatizadores, cuando se desea mantener la temperatura de una sala para un ambiente suave. Conseguiríamos fácilmente que cuando llegue a una mínima temperatura el climatizador caliente y cuando llegue a una máxima enfríe. FUNCIONAMIENTO DEL CONTROL DE TEMPERATURA. Nuesto circuito es un termostato que, por lo tanto, nos controla la temperatura para que se mantenga entre dos límites previamente fijados. Esta placa tiene actualmente muchas posibilidades relacionadas con la temperatura y su variación, ya que es de gran utilidad poder mantener una temperatura en todo tipo de aparatos electrónicos para evitar ciertos peligros por exceso de calor o fallos debidos a un exceso de frio. • Para ello hacemos uso de un sensor: o En este caso un sensor LM35 que se encargará de detectar la temperatura. • Uso de un microcontrolador: O Para nuestro proyecto el 18f2550 en donde inyectaremos nuestro programa que nos controlara el circuito. • Y de dos transistores: o Uno de ellos (BC548) se encargará de calentar cuando la temperatura llegue al mínimo establecido. o El otro (BC547) se encargará de enfriar cuando la temperatura llegue al límite máximo establecido. A través de un programa y mediante un pickit2 proyectamos a un microcontrolador (pic) el programa con el cual va a funcionar nuestro control de temperatura para encargarnos de que el circuito cumpla su cometido y que, además, se pueda reprogramar una vez fabricada Es decir, que no se limite siempre en las mismas temperaturas sino que en un momento dado podamos cambiarlo a nuestro gusto, tanto el límite superior como el inferior. Esto nos da lugar a un termostato mucho más versátil. EJEMPLO DE FUNCIONAMIENTO El circuito podría funcionar en el interior de cualquier aparato electrónico, dándole mayor seguridad. Un ejemplo válido de funcionamiento sería en una estufa eléctrica, en la que queramos mantener una temperatura entre 20 y 25 grados, sin llegar a salir en ningún momento de este margen. El termostato nos garantiza una temperatura totalmente personalizada y no simplemente calor, como hacen muchas estufas convencionales.

EXPLICACIÓN TEÓRICA El circuito recibe alimentación de la fuente a través de dos conectores con una tensión de 12 v, que luego el regulador de tensión KA7805 repartirá entre los diferentes componentes. El sensor LM35DZ, capta la temperatura ambiental y hace corresponder a cada grado de temperatura 10 mili voltios. Esta información pasa al PIC, el obtiene la información captada por el sensor. Por otro lado, el cristal con sus dos condensadores de desacoplo DE 22pf, le indica al PIC que la frecuencia a la que habrá que trabajar será de 4 MHz, lo cual nos condicionará incluso el programa. Ahora llegamos a la zona importante del circuito, el PIC 18f2550, que es el que controla, mediante el programa, todas las funciones que le hayamos introducido al programa. Para comenzar debemos estudiar el PIC y según nuestro diseño distinguir entre entradas y salidas. Por supuesto, hay que saber las diferentes zonas del mismo según la numeración de sus puertos. Por ello, lo primero que haremos será activar un pin en concreto el A0 que corresponden a la entrada de la lectura de la temperatura captada por el sensor. El PIC, además almacenará dos temperaturas umbrales previamente definidas por nosotros, que indicarán la temperatura máxima permitida así como la mínima, de manera que al llegar a una de estas el PIC nos llevará a un circuito o a otro, que corresponden a las dos condiciones de temperatura una de ellas activar el bombillo para calentar y subir la temperatura la cual se ativa con el pin A3 y la otra condición de activar el cooler para bajar la temperatura mediante el pin A2. Por su parte, el display nos marcará en todo momento la temperatura a la que nos encontramos, leyendo la información obtenida directamente del PIC conectado mediante el PUERTO B. Hay dos circuitos diferentes, el de refrigeración y el de calefacción. Al llegar a una de las temperaturas umbrales activamos uno de los dos circuitos: - Si la temperatura es baja (27°C), activamos el circuito de calefacción (PIN A3) el cual activará un transistor (BC548) que funciona como un relé que encenderá el bombillo para que el sensor cense la temperatura que el bombillo hara subir. - Si la temperatura es alta (35°C), activamos el circuito de refrigeración (PIN A2), el cual activará otro transistor (BC547) que enecndera un cooler.

DESARROLLO Y FASES DEL PROYECTO PROGRAMAR Realizar el programa (alma del proyecto) con la ayuda y guía del instructor y con nuestros conocimiento obtenidos empezamos a entender lo que había que hacer, a separar las entradas de las salidas en el PIC, a insertar bucles en el código... así nuestro circuito empezaba a hacer algo ya. Luego solo era cuestión de ir optimizando el código para conseguir lo que queríamos. Finalmente después de hacerle ciertos números de configuraiones al programa salió tal y cual lo requeríamos conseguimos que fuera nuestro circuito, como termostato y como termómetro. DISEÑAR A partir de nuestro programa y guiados por el mismo podíamos empezar con nuestra simulación en PROTEUS, para preparar todas las conexiones y componentes del proyecto. Luego intentar utilizar las conexiones y componentes posibles para que la placa funcione, hasta aquí todo bien. Después dependiendo de la simulación en proteus pasamos a la simulación en el protoboard. ENRUTAR Enrutar es, seguramente una de las partes más importantes de la placa. Con ARES pasar nuestro circuito y ordenar adecuadamente los componentes así como conseguir optimizar el diseño, ocupando los espacios libres y reduciendo el tamaño es bastante costoso, pero no imposible. Lo cierto es que al principio costó, pero al final encontramos la manera, juntar componentes por zonas, esto es, todos los elementos que corresponden a una misma parte de la placa agruparlos (el pic, la lcd, los transistores, etc.). Así conseguimos tener varias zonas pequeñas bien colocadas y a partir de ahí intentar juntar esas zonas para formar un "todo". Después de enrutar todo varias veces al final conseguimos un diseño y esquema del circuito digno de traspasar en cuanto a tamaño y colocación de componentes (pese a contar con algún que otro puente). TRASPASAR (INSOLAR) Del programa de ares al estar listo nuestras rutas y pistas del circuito imprimimos el mismo y a su vez la parte de los componentes. Despues sacarle copia a la impresión en papel acetato para poder traspasarlo a la váquela aplanchando el acetato contra la váquela. Posteriormente después de haber traspasado el circuito a la váquela introducirla en un recipiente con cloruro férrico el cual deshace el cobre , dejándonos así las marcas y caminos del circuito, al terminar este paso del acido limpiamos la váquela con un brillo para quitar

la tinta y quedar solo el cobre, ya no nos queda sino abrir con el motor tul cada uno de los huequillos en donde van los pines de nuestros elementos. SOLDAR No ha sido tan gran problema el tema de soldar, salvo en algunos casos en que las pistas estaban muy juntas y había peligro de cortocircuito. Pero en general, fuímos obteniendo práctica y el trabajo fue fluyendo por sí solo. Conseguimos lograr una mejor soldadura calentando las patas de los componentes en lugar de calentar directamente el estaño con el soldador. De esta forma quedaba todo mucho más limpio de cara a la presentación A la hora de soldar el mayor problema fue soldar el microcontrolador y la lcd, porque los puntos están muy cerca un del otro, para el resto no tuvimos mayor problemas.

ELEMENTOS DEL CIRCUITO •

MICROCONTROLADOR PIC 18F2550

DISPLAY LCD 16X2

SENSOR DE TEMPERATURA LM35

EXTRACTOR DE 12V

BOMBILLO DE 12V

REGULADOR KA7805

TRANSISTOR BC548 Y BC547

CRYSTAL DE 4Mhz

2 CONDENSADORES DE 22pf

2 RESISTENCIAS DE 100Ω

RESISTENCIA DE 10Ω

2 DIODOS IN4007

PROGRAMA DEL PROYECTO CCS #include <18f2550.h> //LIBRERIA O PIC QUE SE VA A UTILIZAR. #use delay (clock=4000000) // DEFINIMOS EL CRISTAL OSCILADOR EXTERNO (4Mhz). #fuses NOBROWNOUT,NOWDT,PUT,CPD,NOLVP,INTXT,NOMCLR //DEFINIMOS LOS FUSIBLES QUE VAMOS A HABILITAR PARA USARLOS. #define use_portb_lcd true //DECIMOS Y ASEGURAMOS QUE VAMOS A USAR UNA LCD EN EL PUERTO B. #include <lcd.c> //LE PEDIMOS AL PIC QUE ME INCLUYA LA LCD PARA QUE LA RECONOZCA. #define retardo delay_ms(200) //DEFINIMOS UN RETARDO DE DOSCIENTOS MILISEGUNDOS. #define retardo2 delay_ms(500) //DEFINIMOS UN RETARDO (2) DE QUINIENTOS MILISEGUNDOS. #define temp1 input(pin_a1) //DEFINIMOS EL PIN A1 COMO ENTRADA DE LA MEDICION DE TEMP 1. #define temp2 input(pin_a0) //DEFINIMOS EL PIN A0 COMO ENTRADA DE LA MEDICION DE TEMP 2. #define Lampara pin_a3 // DEFINIMOS EL PIN A3 COMO SALIDA PARA UNA RESISTENCIA (LAMPARA 12 V). #define Cooler pin_a2 // DEFINIMOS EL PIN A2 SALIDA PARA UNA RESISTENCIA (COOLER).

int x=35; // DEFINIMOS X COMO UNA VARIABLE ENTERA CON UN VALOR DE 35. int l=29; // DEFINIMOS L COMO UNA VARIABLE ENTERA CON UN VALOR DE 29. float medicion; //DEFINIMOS EL TERMINO MEDICION COMO UN VALOR FLOTANTE. float voltaje; //DEFINIMOS EL TERMINO VOLTAJE COMO UN VALOR FLOTANTE. float t1,t2,t3;//DEFINIMOS T1, T2, T3 COMO VARIABLES FLOTANTES.

void main (void)//FUNCION PRINCIPAL. { setup_adc_ports (0x0e);//CONFIGURAMOS LA CONVERSION ANALOGA DIGITAL EN EL PUERTO 0X0E O PUERTO A0. setup_adc (adc_clock_internal);//CONFIGURAMOS EL RELOJ INTERNO DE LA CONVERSION ANALOGA DIGITAL. lcd_init();//INICIAMOS LA LCD. lcd_putc ("temperatura=");//IMPRIMIR EN LA LCD TEMPERATURA=. while (true)//FUNCION HAGASE MIENTRAS SEA VERDADERO. {

t1=x;//DAMOS A T1 EL VALOR DE X=35. t3=l;//DAMOS A T3 EL VALOR DE L=29. set_adc_channel (0);//CONFIGURACION DEL CANAL (0) PARA EL CONVERSOR ANALOGO DIGITAL. retardo;//TIEMPO PARA ESTABILIZAR EL CANAL DE ADC. medicion=read_adc();//DECLARANDO MEDICION COMO:LECTURA DEL CONVERSOR ANALOGO-DIGITAL. voltaje=(medicion/255)*5;//DECLARANDO VOLTAJE COMO: LA MEDICION/255(BITS) *5 (VOLTIOS). t2=voltaje*100;//DEFINIMOS T2 COMO EL RESULTADO DE MULTIPLICAR EL VOLTAJE *100 (MILIVOLTIOS A VOLTIOS). printf (lcd_putc,"\n%1.2fgrados",t2);//IMPRIMIR RESULTADO DE T2 CON UN VALOR ENTERO Y DOS DECIMALES.

if (t2<=t3)//CONDICION:SI T2 ES MENOR/IGUAL QUE T3. { output_high(pin_a3);//PONGAME EN ALTO EL PIN_A3 (BOMBILLO). output_low(pin_a2);//PONGAME EN BAJO EL PIN_A2 (COOLER). } if (t2>=t1)//CONDICION:SI T2 ES MAYOR/IGUAL QUE T1. { output_high(pin_a2);//PONGAME EN ALTO EL PIN_A2 (COOLER). output_low(pin_a3);//PONGAME EN BAJO EL PIN_A3 (BOMBILLO). } } }// CERRAMOS O FINALIZAMOS EL PROGRAMA.

SIMULACION DEL PROYECTO EN PROTEUS

DISEテ前 DEL CIRCUITO EN ARES

IMPRESO DEL CIRCUITO

PROYECTO FINAL (MONTAJE, PRテ,TICAS Y EVIDENCIAS) *CIRCUITO EN LA BAQUELA

*MONTAJE DE ELEMENTOS EN LA BAQUELA

*ALCANCE MINIMO DE LA TEMPERATURA. (ENCIENDE BOMBILLO PARA SUBIR LA TEMPETURA)

*ALCANCE MAXIMO DE LA TEMPERATURA. (ENCIENDE COOLER PARA BAJAR LA TEMPERATURA)

CONCLUSIONES •

Demostramos nuestro aprendizaje mediante la realización de este proyecto

Analizamos y mostramos nuestro desempeño en el tema de lenguaje c programando.

Desarrollamos nuestro nivel de pensamiento y creatividad mediante la ejecución de programación de pic c.

llevamos a cabo un proyecto en todos sus ámbitos programación, simulación, montaje y presentación final.

Seguiremos demostrando nuestro desempeño en montajes de circuitos electrónicos.

Nuestro proyecto sirve de gran utilidad por su versátil control y reprogramación que se puede ajustar a diferentes necesidades ya sea por ejemplo en un horno o incubadora, etc.

Esta de más resaltar la gran importancia y avance tecnológico q tiene hoy en día el lenguaje c al igual que los pic que salen al mercado y las grandes e interesantes cosas que podemos hacer con ellos.

BIBLIOGRAFIA •

WWW.MTOELECTRONICOINDUSTRIAL.BLOGSPOT.COM


proyecto control de temperatura