Sunteți pe pagina 1din 14

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 1 de 14

Control programable de temperatura para un tanque


Juan Quiroz - 1160150 Jaime Galindo - 1160161 Juan Fonseca 1160160

I. INTRODUCCIN

Implementar una etapa de potencia para un motor dc y un relevo Implementar un circuito con pantalla grfica y teclado matricial usando un PIC16F877 con los sensores y actuadores mencionados. Implementar el sistema completo y graficar las temperaturas reales con las de referencia.

os sistemas de control varan segn su aplicacin y su robustez, sus ventajas y desventajas de acuerdo a la aplicacin. Decir que uno es mejor que otro siempre es una posicin relativa. Demostrar un sistema de control con aceptable costo beneficio es el propsito del presente proyecto.

II. PLANTEAMIENTO DEL PROBLEMA Los controles de temperatura para un tanque, y los controles de velocidad para un motor de corriente contnua son variados y diversos, aunque sigue siendo el control PID uno de los ms usados. Sin embargo para una determinada aplicacin el costo beneficio de un control PID puede ser desventajoso frente a un control menos complejo como el secuencial o el ON-OFF. Permitir un sistema de control secuencial y ON-OFF mantener una temperatura y una velocidad de mezcla constante programada? III. OBJETIVOS 2.1 General Determinar si un sistema de control ON-OFF y secuencial permiten lograr una temperatura constante y uniforme fijada por usuario en un tanque en pequea escala.

IV. DESARROLLO DE LA PRCTICA

El sistema se basa en dos actuadores y dos sensores para la planta. Tal como lo muestra la figura 1.
Figura 1. Esquema general de los perifricos de salida y actuadores Se procedi a implementar los dos sensores y los dos actuadores de la siguiente forma: El sensor de temperatura se basa en el LM35, sensor de caractersticas lineales. Se le adiciona una etapa de acondicionamiento de una configuracin Seguidor y a continuacin un No inversor. Tal como se ilustra en la figura 2.

2.2 Especficos Implementar y Calibrar un sensor de temperatura basado en el lm35 Implementar y Calibrar un sensor de velocidad basado en un codificador.

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 2 de 14

if((tempreal<tempsup)&&(cambiotemp==0)){ OUTPUT_HIGH(PIN_C3);} else{ if((tempreal<tempinf)&&(cambiotemp==1)){ cambiotemp=0;} else{ OUTPUT_LOW(PIN_C3); cambiotemp=1;} } Cuando la temperatura supera el valor fijado por el usuario el sistema apaga la resistencia calentadora. Cuando la temperatura est por debajo, la resistencia es encendida. Figura 2. Circuito de Acondicionamiento sensor LM35. Con R2 igual 5k y R1 igual a Diez 10k El sensor de velocidad se basa en un encoder instalado sobre un disco con seis orificios. Esto con el fin de que la frecuencia de los pulsos estuviera en un rango de 40 y 180 hz. Una interrupcin externa Con estos valores el microcontrolador era bastante preciso. La estapa de potencia para el motor dc se bas en el controlador de Altos y Bajos IR2110. Se implement con una compuerta lgica inversora seguida de un optoacoplador que entregaba los pulsos al controlador. Esto puede apreciarse en la figura 3. La interfaz de usuario principalmente est implementada sobre un teclado matricial y una pantalla grfica, cuyas conexiones se ilustran en los anexos de Arquitectura del Sistema. Se hizo necesario modificar la librera de la pantalla grfica para evitar ocupar el pin RB0, usado para las interrupciones. Esto reemplazando PIN_B0 por PIN_B6. #ifndef GLCD_CS1 #define GLCD_CS1 #endif

PIN_B0 // Chip Selection 1

El sistema de control que se us es el Secuencial y el ON-OFF para la velocidad del motor y la temperatura respectivamente. Se ajusta el nivel de referencia para la velocidad, y se registra la velocidad dada por el encoder, sta diferencia se corrige de la siguiente manera: if((velreal<velref)) { valor++; } if((velreal>velref)) { valor--; } set_pwm1_duty(valor); Si el error es positivo se incrementa la variable Valor, que modifica el ciclo de trabajo. Si no es as, lo decrementa. La temperatura se controla de la siguente manera:

V. ARQUITECTURA ANEXOS A B

VI. PRESUPUESTO ANEXOS D VII. CONCLUSIONES El uso de un mezclador se hace fundamental en los procesos de control de temperatura, ya que la distribucin de temperatura no es homognea, y dificulta las mediciones. Otra opcin que se puede usar para no implementar el mezclador es usando ms de un sensor de temperatura en diferentes zonas y registrar los datos para compararlos. Usar un conversor de frecuencia a voltaje para bajas frecuencias no es recomendable debido a los

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 3 de 14

rizados que se generan. Aunque esto puede atenuarse con un capacitor disminuye su capacidad de respuesta. Registrar las revoluciones por segundo a travs de interrupciones logra resultados precisos. Se evidenci que a falta de un sistema de enfriamiento bajar la temperatura es un proceso bastante lento al punto que no lo hace viable. Usar un sistema de control ms complejo no siempre significa que es mejor en todo sentido. Todos ofrecen ventajas y desventajas. REFERENCIAS

[1]

[2] [3]

E. G. Breijo, Compilador CCS C y Simulador Proteus para Microcontroladores PIC, 1st ed. vol. 1, Alfaomega, 2008, pp. 6365. http://www.irf.com/product-info/datasheets/data/irfz44n.pdf Datasheet Optoacoplador 4N25 disponible en: http://www.datasheetcatalog.org/datasheet/fairchild/4N25.pdf Datasheet IR2110 disponible en: http://www.irf.com/product-info/datasheets/data/ir2110.pdf

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 4 de 14

ANEXO A. DIAGRAMA ELCTRICO

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 5 de 14

ANEXO B. DIAGRAMA ELCTRICO

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 6 de 14

ANEXO C. ALGORITMO

#use delay (clock= 4000000) #fuses XT,NOWDT,NOPROTECT,NOPUT #include <HDM64GS12.c> #include <graphics.c> #include <kbd.c> #use standard_io(C)

int16 TFB; int nuevopulso =0, cambio=0; int16 valor=0; char letraa[11][2]={"0","1","2","3","4","5","6","7","8","9","0"}; float teclas,AP; int x=20,f=1,y=0; char k=0; int n=1,ntres=1, num=0,numing=0; byte CONST variablex1[9] = {2,9,16,23,30,37,64,74,84}; int varx=0; int1 cambiotemp=0; int16 volt,tempreal,tempref=0,tempsup,tempinf; int16 tempreala=0,temprefa=0; int16 velref=0,velreal=00; int16 velrefa=30,velreala=20; int t1,t2,t3,t4, v1,v2,v3,v4,v5,v6; void pantalla(); void temperatura(); void velocidad(); void mostrar_menu(); char ufps[]="UFPS"; char cod1[]="1160150"; char cod2[]="1160160"; char cod3[]="1160161"; char ing[]="Ingenieria"; char ing1[]="Electronica"; char temp[]="Temp('c)"; char vel[]="Vel(Rpm)"; char real[]="Real"; char ref[]="Ref.";

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 7 de 14

char menu[]="0. Menu"; char menua[]="*. Cambiar Temperatura"; char menub[]="#. Cambiar Velocidad";

#INT_EXT void funcion_ext_int(){ if (cambio==0){ set_timer1(0); ext_int_edge(0,H_TO_L); cambio=1; } else{ TFB=get_timer1(); ext_int_edge(L_TO_H); cambio=0; } if(nuevopulso==0){nuevopulso=1;} }

main() { glcd_init(ON) ; kbd_init(); port_b_pullups(true); setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); ext_int_edge(0,L_TO_H); enable_interrupts(global); enable_interrupts(INT_EXT); setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); glcd_text57(1,4,ufps,4,1); glcd_text57(1,35,ing,1,1); glcd_text57(60,45,ing1,1,1); glcd_text57(85,5,cod1,1,1); glcd_text57(85,15,cod2,1,1); glcd_text57(85,25,cod3,1,1); while(f==1)

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 8 de 14

{ k=kbd_getc(); if(k!=0) {f=0;} } setup_timer_2(T2_DIV_BY_1,244,1); setup_ccp1(ccp_pwm); pantalla(); while(true) { if((temprefa!=tempref)||(tempreala!=tempreal)||(velrefa!=velref)||(velreala!=velreal)){ if (temprefa!=tempref){ t1=tempref/10; t2=tempref%10; glcd_rect(25,17,75,28,1,0); glcd_text57(43,20,letraa[t1],1,1); glcd_text57(53,20,letraa[t2],1,1); temprefa=tempref; tempsup=tempref+2.0; tempinf=tempref-2.0;} if (tempreala!=tempreal){ t3=tempreal/10; t4=tempreal%10; glcd_rect(25,33,75,43,1,0); glcd_text57(43,36,letraa[t3],1,1); glcd_text57(53,36,letraa[t4],1,1); tempreala=tempreal;} if (velrefa!=velref){ v1=velref/(100); v2=(velref%100)/10; v3=(velref%100)%10; glcd_rect(79,17,125,28,1,0); glcd_text57(92,20,letraa[v1],1,1); glcd_text57(102,20,letraa[v2],1,1); glcd_text57(112,20,letraa[v3],1,1); velrefa=velref;} if (velreala!=velreal){ v4=velreal/(100); v5=(velreal%100)/10; v6=(velreal%100)%10;

INF-MCU

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 9 de 14

glcd_rect(79,33,125,43,1,0); glcd_text57(92,36,letraa[v4],1,1); glcd_text57(102,36,letraa[v5],1,1); glcd_text57(112,36,letraa[v6],1,1); velreala=velreal;} }

set_adc_channel(1); volt=read_adc(); tempreal=(((volt*5.0)/255.0)*10);

if((tempreal<tempsup)&&(cambiotemp==0)){ OUTPUT_HIGH(PIN_C3);} else{ if((tempreal<tempinf)&&(cambiotemp==1)){ cambiotemp=0;} else{ OUTPUT_LOW(PIN_C3); cambiotemp=1;} } if((velreal<velref)){ valor++;} if((velreal>velref)){ valor--;} set_pwm1_duty(valor); if(nuevopulso==1){ velreal=(500000.0/(TFB))+1; nuevopulso=0; } k=kbd_getc(); if ((k=='*')||(k=='#')||(k==48)){ if (k=='*'){ temperatura(); while (k!='#'){ k=20,x=20; k=kbd_getc(); x=k-48; if((x==1)||(x==2)||(x==3)||(x==4)||(x==5)||(x==6)||(x==7)||(x==8)||(x==9)||(x==0)) {numing++;y=1;}

INF-MCU

10

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 10 de 14

if ((numing==1)&&(y==1)){t1=x;temperatura();} if ((numing==2)&&(y==1)){t2=x;temperatura();} if (numing==2){numing=0;} y=0; } tempref=((t1*10)+t2); numing=0; K=0; } if (k=='#'){ velocidad(); while (k!='*'){ k=20,x=20; k=kbd_getc(); x=k-48; if((x==1)||(x==2)||(x==3)||(x==4)||(x==5)||(x==6)||(x==7)||(x==8)||(x==9)||(x==0)) {numing++;y=1;} if ((numing==1)&&(y==1)){v1=x;velocidad();} if ((numing==2)&&(y==1)){v2=x;velocidad();} if ((numing==3)&&(y==1)){v3=x;velocidad();} if (numing==3){numing=0;} y=0; } num=((v1*10)+v2); Velref=((num*10)); velref=velref+v3; numing=0; K=0; } if(k==48){ mostrar_menu(); }

pantalla(); } } }

void pantalla(){

INF-MCU

11

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 11 de 14

glcd_fillScreen(0); glcd_fillScreen(0); glcd_text57(25,5,temp,1,1); glcd_text57(80,5,vel,1,1); glcd_text57(1,20,ref,1,1); glcd_text57(1,36,real,1,1); glcd_rect(98,53,125,62,1,1); glcd_text57(100,55,ufps,1,0); glcd_text57(1,55,menu,1,1); glcd_line(25,15,126,15,1); glcd_line(25,31,126,31,1); glcd_line(25,47,126,47,1); glcd_line(77,1,77,47,1); glcd_text57(43,20,letraa[t1],1,1); glcd_text57(53,20,letraa[t2],1,1); glcd_text57(43,36,letraa[t3],1,1); glcd_text57(53,36,letraa[t4],1,1); glcd_text57(92,20,letraa[v1],1,1); glcd_text57(102,20,letraa[v2],1,1); glcd_text57(112,20,letraa[v3],1,1); glcd_text57(92,36,letraa[v4],1,1); glcd_text57(102,36,letraa[v5],1,1); glcd_text57(112,36,letraa[v6],1,1); } void temperatura(){ glcd_rect(25,17,75,28,1,1); glcd_text57(43,20,letraa[t1],1,0); glcd_text57(53,20,letraa[t2],1,0); } void velocidad(){ glcd_rect(79,17,125,28,1,1); glcd_text57(92,20,letraa[v1],1,0); glcd_text57(102,20,letraa[v2],1,0); glcd_text57(112,20,letraa[v3],1,0); } void mostrar_menu(){ glcd_fillScreen(0); glcd_fillScreen(0); glcd_text57(1,10,menua,1,1); glcd_text57(1,20,menub,1,1); delay_ms(3000); }

INF-MCU

12

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 12 de 14

ANEXOS D. PRESUESTO FUENTES RUBROS ESTUDIANTE Efectivo Personal Equipos Software Componentes Material Bibliogrfico TOTAL 60 60 910 Especie 240 320 250 UFPS Efectivo Especie EXTERNA Efectivo Especie 240 320 192 0 TOTAL

Tabla 1.Presupuesto Global del proyecto por fuentes de financiacin (en miles de $).

Nombre del estudiante

Funcin dentro del proyecto

Dedicacin Horas/semana

$/h

Fuentes # de TOTAL meses Estudiante UFPS Externa

Juan Jos Programado Quiroz r Omaa Jaime Programado Arturo r Dulc Juan Camilo Programado r Fonseca TOTAL

80

80

4 4

5 5

1 1

80 80

80 80 240

Tabla 2. Descripcin de los gatos de personal (en miles de $).

INF-MCU

13

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 13 de 14

Descripcin $/h

Horas de uso

Cantida d

Fuentes Justificacin Estudiante UFPS Externa Programacin del PIC y 320 simulacin en proteus. TOTAL

Computador 5 Personal TOTAL

16

320

320

Tabla 3. Descripcin de los equipos de uso propio (en miles de $).

Fuentes Descripcin $/h Horas Cantidad Justificacin de uso 16 80 Software usado para programar el PIC 112 Software usado para simular circuitos con PIC Estudiante UFPS Externa Total

CCS Compiler

80

80

Proteus

16

112

112

192

Tabla 4. Descripcin del software de uso propio (en miles de $).

INF-MCU

14

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA INSTRUMENTACIN

Versin: 1.0 Pgina: 14 de 14

Fuente Descripcin Cantidad Precio Total Estudiante UFP S Externo Total

PIC16F877A Componentes discretos LM35 Vaso Precipitado Motor DC Otros

1 1 1 1 1 1

16 10 5 16 12 15

16 10 5 16 12 15

16 10 5 16 12 15

16 10 5 16 12 15 74

Tabla 5. Descripcin de componentes de uso propio (en miles de $).

S-ar putea să vă placă și