Microcontroladores
Microcontroladores
Microcontroladores
REPORTE DE PRCTICA:
Profesor: Ricardo lvarez Gonzlez Integrantes del Equipo: Elio Moiss Gonzlez Ruz Rigoberto Cerino Jimnez Ludwin Iturbe Ortz Martin Alfonso Ibarias Alfaro 200808346 200800620 200802412 200832745
Microcontroladores
Microcontroladores
1. Introduccin
Desde hace varios aos, la mano del hombre ya no es tan necesaria para poder controlar todos aquellos equipos y artefactos que utilizamos diariamente ya sea como por ejm. El alumbrado pblico controlar la calefaccin, controlar el llenado de un pozo con agua, etc. Hoy en da, existe la posibilidad de que ciertos sistemas especficos puedan controlar y/o efectuar el manejo por si solos (Automtico). Los elementos necesarios, mediante los cuales se puede obtener los efectos deseados sin la intervencin de la mano del hombre se denominan sensores o actuadotes. Dependiendo de la variacin de la magnitud que controlen podemos tener el siguiente listado bsico: El Termostato (Acta con los cambios de temperatura), Interruptor Crepuscular (Acta con los cambios de luz solar), Temporizador (Acta con los cambios del tiempo), Hidronivel (Acta con los cambios de fluidos), etc. Los beneficios obtenidos por el usuario de estos sistemas de control automtico son: Confort (comandar sistemas o artefactos desde cualquier lugar por medio de un control o en forma automtica, seguridad (crear situaciones de simulacin de personas dentro de una propiedad o simplemente un alarma, y el ahorro de tiempo (simplificando las tareas diarias). El tema de este proyecto es desarrollar un sistema de control del nivel de agua en un tinaco, hacindolo llenar al activar una bomba y verificar el nivel de agua que tiene la cisterna que es la fuente de alimentacin del tinaco, empleando todos los conocimientos adquiridos hasta el momento. Se desea integrar todas aquellas tcnicas y estrategias estudiadas en las etapas de anlisis y diseo, para alcanzar una solucin satisfactoria en la aplicacin concreta. Para ello se debe inicialmente identificar los componentes de esta aplicacin real. Posteriormente se realizarn estudios de las diferentes seales que en dicha aplicacin existen: entrada, salida, errores etc. Tambin se analizarn las condiciones de estabilidad del sistema de control. Finalmente se disear un un programa controlador que pueda satisfacer las especificaciones temporales exigidas, manteniendo en todo momento sus condiciones de estabilidad y pronta respuesta.
2. Objetivos
3 Objetivo General Desarrollar un sistema automatizado para el llenado de un tinaco de agua. Sensar fluidez de tuberas en salida de la cisterna y entrada del tinaco.
Benemrita Universidad Autnoma de Puebla Microcontroladores
Lograr crear un etapa que soporte los requerimientos de una bomba de a caballo. Crear un sistema que involucre los aspectos anteriores. Lograr que el sistema opere en forma automtica sin problemas de calentamiento o cortos en los circuitos.
Objetivos Particulares a) Disear un programa que permita el control del nivel de agua en un tinaco. Que ste verifique por el nivel de agua que tiene el tinaco, si es muy bajo, el programa pregunta por el nivel de agua en la cisterna, la cual alimenta el tinaco. Si el nivel es considerable, entonces manda a checar si la bomba esta purgada, si es asi, entonces procede a encenderla hasta que el tinaco alcance su nivel mximo de agua. El programa ser construido en lenguaje ensamblador para crear el control total del sistema utilizando un PIC 16f84a. b) Crear un programa en lenguaje C para enviar datos a una LCD para indicar cada accin, tinaco vaco, bomba encendida, nivel de agua optimo (tinaco lleno), bomba apagada. Utilizando un PIC 18f4550.
Microcontroladores
HIDRONIVELES MECNICOS Este tipo de hidroniveles se basa simplemente en lo descrito a continuacin: Son elementos sencillos y clsicos para detectar niveles en recipientes de un cierto tamao como depsitos, cisternas, arquetas, albercas, pozos abiertos etc. Econmicos y de fcil instalacin ya que solo hay que descolgarlo en el interior del recipiente.
Cuando el nivel del agua esta bajo, existe una boya colocada que hace que la llave de paso del agua se abra mediante un sistema de polea situada en lo alto del depsito. Con forme el agua va aumentando su nivel, la boya ir cerrando la llave de paso del agua, hasta que llegue el momento que el nivel sea el mximo de agua y por tanto la llave estar totalmente cerrada impidiendo el paso del agua. Si el nivel de agua en el depsito o pozo disminuye, la boya abrir nuevamente la llave de paso del agua, llenando nuevamente el depsito. Existen otro tipo de hironiveles mecnicos como: Detector de nivel neumtico. Se trata de un detector de presin muy sensible. Se rosca a la parte superior de un tubo, el otro extremo queda abierto y posicionado a la altura deseada de deteccin. Cuando el lquido subiendo tapona el extremo abierto, el aire en el interior del tubo se comprime y hace actuar un contacto conmutado. El tubo lo pone el usuario de acuerdo con el liquido a detectar y puede ser de metal, plstico, vidrio, acero etc. Es un dispositivo til, seguro y muy econmico para cualquier liquido, agresivos, viscosos, alimenticio, acido. Es muy usado en la industria qumica y las depuradoras. Control de nivel por desplazamiento El cono del controlador debe estar expuesto al material a detectar. Cuando el talud se pone en contacto con el cono ejerce contra ste una presin progresiva desplazando el conjunto cono-varilla y actuando un interruptor. Al vaciarse el pndulo recupera la posicin normal y deja de actuar el interruptor.
Microcontroladores
Control de nivel de membrana Estos controladores se basan en un interruptor accionado por una membrana. La membrana debe estar expuesta al material a controlar. A medida que el material entra en el silo se amontona y cubre la membrana, la presin que ejerce la obliga a retroceder presionando el mecanismo que acciona un interruptor. Este interruptor sirve para la puesta en marcha o paro de seales visuales, acsticas o los mecanismos de carga y descarga en silos y recipientes
HIDRONIVELES ELCTRONICOS Los circuitos de hidroniveles elctricos se han ido fabricando desde los ms simples con transistores hasta otros ms complejos y por tanto ms seguros y con un funcionamiento ms exacto. Existe una gran variedad de hidroniveles electrnicos dependiendo de su funcionamiento, es que, se dar el tipo de lquido adecuado para su aplicacin. As pues tenemos los siguientes: Control de nivel ptico Control de nivel ptico para lquidos no conductivos. Se trata de un pequeo sensor de nivel para lquidos transparentes. El sensor emite hacia fuera una luz infrarroja, que se refleja en su propia punta semiesfrica y vuelve al interior. Cuando esta sumergido la luz se refracta hacia afuera y no la detecta l mismo. Es muy til para depsitos y tuberas bajo presin, y para conectar directamente a autmatas. Control de nivel por vibracin Control de nivel por vibracin para lquidos con salida rel. Dispone de un diapasn que queda introducido en el recipiente. Este diapasn esta vibrando a una frecuencia fija determinada, al contacto con el producto, altera la vibracin y este cambio es detectado por el circuito electrnico de control. Se conecta en serie con la carga y lleva un piloto indicador de estado.
Rel
El rel o relevador es un dispositivo electromecnico. Funciona como un interruptor controlado por un circuito elctrico en el que, por medio de una bobina y un electroimn, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos elctricos independientes. Fue inventado por Joseph Henry en 1835.
Benemrita Universidad Autnoma de Puebla Microcontroladores
Dado que el rel es capaz de controlar un circuito de salida de mayor potencia que el de entrada, puede considerarse, en un amplio sentido, como un amplificador elctrico. Como tal se emplearon en telegrafa, haciendo la funcin de repetidores que generaban una nueva seal con corriente procedente de pilas locales a partir de la seal dbil recibida por la lnea. Se les llamaba "relevadores" CARACTERSTICAS GENRICAS
CORRIENTE DE EXCITACIN: Es la corriente necesaria que necesita el rel para que funcione. TENSIN NOMINAL: La tensin para la cual esta diseado el rel. TENSIONES DE TRABAJO: Son las tensiones mximas y mnimas a las que el rel funciona. CONSUMO NOMINAL DE LA BOBINA: La corriente que pasa por el rel cuando se le aplica la tensin nominal.
Microcontroladores
Estado de reseteo. El sistema empieza de un estado inicial donde los registros de las salidas se ponen a 0 del micro-controlador. Esto lo realiza durante dos segundos, en el cual parpadea el LED de color rojo. Este estado tambin comienza si la energa por causas externas, se pierde por un momento. Estado de apagado. Este estado ocurre despus de que el micro-controlador checa cada uno de los sensores de nivel de agua. Si la cisterna cumple con el nivel ptimo de agua y el depsito no requiere agua, el sistema permanece en apagado encendiendo el LED de color amarillo. Estado de encendido temporal. Cuando el depsito requiere agua, el sistema revisa antes de encender la bomba si sta se encuentra purgada para que se pueda encender. En caso de que est purgada, pero la bomba no funcione, se inserto un sensor en la manguera antes de que entre al deposito, de tal forma que indique que si esta bombeando. Si no ocurre, el sistema se apaga. El cambio de este estado se indica con el LED azul y el parpadeo del LED amarillo. Estado de encendido. Este ocurre si todas las condiciones se cumplen, por lo que estar encendida la bomba hasta que el depsito llegue a su nivel mximo o la cisterna no tenga el agua suficiente. El cambio de estado de encendido a estado de apagado se indica con el LED de color rojo que parpadea.
De esto hemos obtenido las terminales claves para el funcionamiento del hidronivel: La primera terminal es el denominado mximo, el cual, se colocara en el lugar determinado por nosotros para que sea el nivel mximo al que nosotros queremos llenar el recipiente. 8 La segunda terminal es el denominado mnimo, el cual, tambin ser colocado a nuestro gusto para indicar el nivel mnimo de lquido. La tercera terminal es el comparador, el cual, ser colocado en la cisterna para detectar si hay agua o no en este, si no hubiera este enva un voltaje
Benemrita Universidad Autnoma de Puebla Microcontroladores
haciendo que el circuito no funcione, para que el motor no se active este sirve de proteccin para la hidrobomba. De otro modo diremos que cuando haya liquido en el recipiente, habr conduccin, al haber conduccin circulara voltaje a traves de los terminales antes mencionados, a esto, diremos que es un pulso positivo uno (1). Al contrario de esto, cuando no hay liquido, no habr conduccin, al no haber conduccin, no habr voltaje entre los terminales, entonces diremos que es un pulso negativo (0). Dicho esto obtenemos las Condiciones de Operacin del Diseo: Queremos que se encienda el motor, cuando el nivel mximo y mnimo sean 0. Queremos que se apague el motor, cuando el nivel mximo y mnimo sean 1. Cuando el motor este encendido y el nivel mnimo sea 1 el motor deber de apagarse, slo si el nivel mximo cambia a 1. Cuando el motor este apagado y el nivel mximo es igual a 0, el motor slo deber de encenderse cuando la condicin nivel mnimo sea igual a 0. Estas condiciones se observan mejor en la siguiente tabla, en la cual se muestran los cambios de estado entre los depsitos de agua para las dos posibles condiciones de secuencia. .
Mximo 0 1 1 Mnimo 0 0 1 Salida 0 1 1
Para que nuestro circuito funciones tiene cumplir la condicin de Cuando llegue al nivel mximo se detenga la bomba, pero cuando disminuya siga detenida hasta el momento de que llegue al nivel mnimo, es decir que est el liquido por debajo de este. Antes de empezar a disear nuestro esquema del circuito lgico tenemos que analizar el funcionamiento de los terminales de entrada, los detectores. Analizaremos el funcionamiento del sensor de nivel mnimo. Como podemos ver, una de las condiciones que no se podrn llevar a cabo es el que el nivel mximo este conduciendo y el nivel mnimo no, puesto que dicha situacin resulta imposible, as que partiendo de eso, diremos que el sensor de nivel mnimo ser el que encienda la bomba slo si este deja de conducir, es
Microcontroladores
decir cuando el agua deje de hacer contacto con l, situacin que es la seal para llenar de nuevo nuestro tinaco. Ahora veamos que sucede con nuestro nivel mximo, como ya habamos hecho mencin anterior, este sensor podr o no podr estar en ON, sin ningn problema con la lgica del sistema, para cualquier combinacin posible excepto una que es la que se puede apreciar en la siguiente tabla de verdad.
Mximo 0 1 1
Mnimo 0 0 1
Salida 0 1 1
La funcin del nivel mximo es contrara a la del nivel mnimo, es decir el nivel mximo apagar el motor de la bomba para evitar un posible desbordamiento de lquido, el nivel mximo esta por debajo del borde el tinaco, por lo que en el momento en el que el agua haga contacto con el este conducir e indicara al sistema lgico la orden de reset, es decir apaga la bomba. El circuito lgico tiene la misin de recibir las seales enviadas por los sensores y procesarlas para dar una salida y determinar si encender o apagar a la bomba, este circuito tendr la necesidad de ser un circuito secuencial es decir cuando el nivel del agua este por arriba del mnimo al ir subiendo o por arriba del nivel del mnimo cuando venga bajando.
Utilizamos clemas donde iran conectados los sensores: 1. En la Clema numero 1 y que corresponde RB1 en el pic16 se encuentre el nivel de agua en cisterna. Adems este mismo esta conectado al pic18 en el pin RB0 para mostrar el mensaje desplegado en la LCD. 2. En la clema numero 6 que corresponde al pin RB3 del pic se encuentra nuestro sensor de purgado. Adems este tambin va conectado al RB1 del pic 18 para indicar el mensaje purgar bomba. 3. En la tercera clema que corresponde a RB5 en el pic se encuentra el indicador de el nivel mas bajo de agua en el tinaco. 4. En la clema numero 5 que corresponde a RB6 en el pic se encuentra el indicador de nivel, que hace referencia al nivel mximo de agua en el tinaco, Nivel optimo. Adems este LED iba al RB4 del pic 18 para indicar tinaco lleno. 5. En la clema numero 8 se encuentra el sensor de fluidez que corresponde a RB7 en el pic. Adems este va al RB2 del pic 18 para indicar que hay que verificar el sistema de tuberas entre la cisterna y el tinaco.
Benemrita Universidad Autnoma de Puebla Microcontroladores
10
Las salidas de nuestro sistema estn representados mediante LEDs de distintos colores para distinguir lo que indica cada uno: Led RA1 pin 18 del pic16: indica que el sistema esta encendido. Led RA0 pin 17 del pic16: se prende durante 2 segundos cada vez que se inicia el sistema. Led RA3 pin 2 del pic16: parpadeaba por unos segundos antes de apagar la bomba, es decir cuando nuestro tinaco esta a punto de llenarse. Led RA2 pin 3 del pic16: indica que la bomba estaba prendida, manda la seal al puente H para activar el relevador y prender la bomba (la bomba fue simulada colocando un foco, alimentado por corriente alterna) y adems manda una seal al RB3 del Pic18 para que por medio de la LDC indique que la bomba estaba llenando el tanque.
Etapa de potencia.
La etapa de potencia consta de un puente H y un relevador, los cuales permiten que los niveles lgicos sean amplificados, de tal forma que no se exijan corriente de ms al sistema de control. Otra ventaja de usar estos elementos en que no permiten corrientes inversas, las cuales pueden daar el sistema de control. Una de las desventajas y cabe la pena mencionar es el arqueo que tiene el relevador, pues causa desgaste y no son muy seguros, adems de inducir energa que se traduce en ruido. Se tiene un diseo alternativo, que aun no ha sido probado en fsico, que usa elementos de estado solido, que reducen el arqueo, maximizan el tiempo de vida adems de eliminar el ruido producido. El circuito propuesto es el siguiente:
11
Microcontroladores
El sistema consta de un opto acoplador y un TRIAC. Si se activa el opto acoplador es activado por el micro-controlador, este permite circular una pequea corriente por la compuerta, hasta que esta supere el voltaje de umbral, se pone en corte el TRIAC. Se tiene una red Snubber, la cual protege al TRIAC del sobre voltajes y sobre corrientes. Si el opto acoplador es desactivado, existe el cruces por cero, lo cual casusa un apagado natural.
INFORMACION HARDWARE
Micro-controlador PIC16F84A
Puente H. L293B
Operacionales LM324
12
Microcontroladores
Resistores.
Placa Fenlica.
13
Microcontroladores
Programador.
PIC 18f4550
Display LCD
14
Microcontroladores
6. Anlisis de Resultados
Para la simulacin y comprobacin del programa se utiliz el emulador ISIS.
Nuestro sistema totalmente armado y conectado. Utilizamos botes de plstico para simular una cisterna y un tinaco. Los llenamos de agua y mediante alambres conectados a clavos hicimos que el sistema tuviera continuidad dentro de los botes, colocamos los clavos a una pequea distancia para que as generara un arco elctrico y de esta manera el sistema detectara los momentos en que esta lleno, o vaco, tanto el tinaco como la cisterna.
15
Microcontroladores
En el momento en que el bote que representa al tinaco se vaca, el nivel mas bajo (representado por un par de clavos) deja de conducir energa y entonces este manda una seal a nuestro PIC16 para encender la bomba, al mismo tiempo la seal llega a nuestro PIC 18 para enviar via LCD el mensaje de Bomba encendida
16
Microcontroladores
Una vez que el bote que simula el tinaco se llena, el par de clavos que esta en la parte superior, que indica el nivel optimo del tinaco, se activa, es decir deja pasar la corriente para enviar una seal a ambos PICs, apaga la bomba y el mensaje se representa por la LCD
17
Microcontroladores
Tenamos planeado implementar comunicacin serial hacia una interfaz realizada en el software LabVIEW y de esta forma representar nuestra cisterna, tinaco y bomba de manera grfica, de tal forma que el PIC18 mandara las seales a la PC y mediante dicha interfaz, se representara el llenado del tinaco y el vaciado de la cisterna, as como el encendido de la bomba. Pero tuvimos problemas con la instalcion de los drivers que necesitbamos para realizar completamente la comunicacin serial. El programa ya estaba completo y funcionando.
18
Microcontroladores
7. Conclusiones
Mediante este proyecto pusimos en prctica los conocimientos adquiridos en el curso de microcontroladores, utilizamos dos tipos de PICs, de la familia 16 y de la familia 18. El primero fue utilizado para todo el funcionamiento del sistema, mientras que el 18 fue implementado para enviar datos hacia nuestra LCD. Se logro implementar clavos como mtodo de sensado, haciendo pasar por ellos un voltaje de 12 volts, mismos que al provocar un corto con el agua entregaban 5.6 voltios. Se logro implementar amplificadores operacionales en su configuracin comparador para entregar 5 voltios a la entrada del pic. El pic16f84a logro detectar los pulsos de 5voltios para el control de la bomba de agua. El pic18f4550 logro detectar los pulsos de 5 voltios para el control de la LCD. Se logro implementar satisfactoriamente un puente H que entregara 12 voltios al relevador. Nuestro relevador utilizado logro manipular voltaje alterno de 127volts rms sin mostrar problemas de calentamiento. Se logro implementar un sistema acoplado con lenguaje C y lenguaje ensamblador.
19
Microcontroladores
Se logro implementar un sistema que funcionara con voltaje DC y voltaje AC. Se logro crear un sistema que controlara el llenado de un tinaco de forma inteligente y que mostrara al usuario toda la informacin necesaria para su comodidad.
8. Referencias
[1] Hoja de datos del PIC 18F4550 [2] Hoja de datos del PIC 16F34A [3] http://www.forosdeelectronica.com/tutoriales [4] http://es.wikipedia.org/wiki/Rel%C3%A9
9. Apndices
Implementacin del control.
La implementacin del algoritmo se desarrollo en el ambiente de programacin MPLAB de la empresa MICROCHIP. CODIGO IMPLEMENTADO
__CONFIG _CP_OFF& _WDT_OFF&_PWRTE_ON&_XT_OSC
LIST
20
CBLOCK 0X0C
Microcontroladores
CONTADOR ENDC
PORTB,1 PORTB,3
STATUS,RP0 TRISA
movlw b'11111111' movwf TRISB bcf clrf STREPOSO clrf PORTA ;parpadeo LED bcf call bsf call bcf call PORTA,0 Retardo_500ms PORTA,0 Retardo_500ms PORTA,0 Retardo_500ms PORTA,0 Retardo_500ms PORTA,0 PORTA STATUS,RP0
21
Microcontroladores
PORTA,1
bcf btfsc goto goto ST1 btfsc goto goto ST2 btfss goto goto STA incf
;sensor de la manguera
CONTADOR,F
movlw d'2' subwf CONTADOR,W btfsc goto ST3 bcf PORTA,1 bomba Retardo_1s PORTA,1 STATUS,C STREPOSO
22
Microcontroladores
call bcf call bsf call bcf ST4 btfsc goto goto ST5 btfsc goto goto ST6 btfss call STAPAG bcf bsf call bcf call bsf call bcf call
nivel2sensortinaco ST5
bomba PORTA,3 Retardo_500ms PORTA,3 Retardo_500ms PORTA,3 Retardo_500ms PORTA,3 Retardo_500ms Principal
23
goto
END
El cdigo implementado en lenguaje C para la programacin del envio de datos hacia la LCD fue el siguiente:
#include "C:\micro\FINAL\FINAL.h" #include "LCD.c" void main() { lcd_init(); setup_adc_ports(NO_ANALOGS|VSS_VDD); setup_adc(ADC_OFF); setup_wdt(WDT_OFF); setup_timer_0(RTCC_INTERNAL); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_timer_3(T3_DISABLED|T3_DIV_BY_1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); setup_oscillator(False); // TODO: USER CODE!! printf(LCD_PUTC, "Sistema activo delay_ms(1000);
");
24
while(1) { if (!input(PIN_B0)) { lcd_gotoxy(1,1); printf(LCD_PUTC, "Cisterna vacia "); lcd_gotoxy(1,2); printf(LCD_PUTC, " "); delay_ms(3000); } if (!input(PIN_B1)) { lcd_gotoxy(1,1); printf(LCD_PUTC, "Purgar la bomba "); lcd_gotoxy(1,2); printf(LCD_PUTC, " "); delay_ms(3000); } if (!input(PIN_B2)) { lcd_gotoxy(1,1); printf(LCD_PUTC, "Verificar tuberia "); lcd_gotoxy(1,2);
Benemrita Universidad Autnoma de Puebla Microcontroladores
printf(LCD_PUTC, " "); delay_ms(3000); } if (input(PIN_B3)) { lcd_gotoxy(1,1); printf(LCD_PUTC, "Bomba encendida "); lcd_gotoxy(1,2); printf(LCD_PUTC, " "); delay_ms(3000); if (input(!PIN_B0)) { lcd_gotoxy(1,1); printf(LCD_PUTC, "Bomba apagada "); lcd_gotoxy(1,2); printf(LCD_PUTC, "Falta de agua"); delay_ms(3000); } } if (input(PIN_B4)) { lcd_gotoxy(1,1); printf(LCD_PUTC, "Bomba apagada "); lcd_gotoxy(1,2); printf(LCD_PUTC, "Tinaco lleno "); delay_ms(3000); } } }
25
Microcontroladores