REPORTE CONTROL DE LLENADO DE TINACO Microcontroladores Avanzados 4MV8 15 de diciembre de 2016
Andrade Sánchez Jesús Eduardo Ruelas Sánchez Francisco Xavier
Control de Llenado Tinaco-Cisterna 1 SISTEMA TINACO-CISTERNA Se necesita que cuando el tinaco tenga un nivel bajo de agua dentro se active la bomba conectada a la cisterna, la cisterna cuenta con sensores de nivel en el caso de que el tinaco necesite ser llenado y la cisterna no tenga agua protegerla de trabjar sin agua.
1.1 TABLA DE VERDAD DE TRABAJO DEL SISTEMA Sensores Cisterna Nivel Bajo Nivel Alto 0 x 1 X 1 X 1 X 1 x
Sensores Tinaco Nivel Bajo Nivel Alto x x 0 0 0 1 1 0 1 1
Bomba Salida 0 1 Error X 0
Si el sensor de nivel bajo de la cisterna se desactiva, significa que no hay agua por lo que el sistema no funcionará. La bomba se energiza cuando el sensor de nivel bajo del tinaco se desactiva. Se apaga la bomba, cuando el sensor de nivel alto se activa.
En el codigo se utilizaron interrupciones externas para definir los casos en los que debe trabajar la bomba. Estas interrupciones externas provienen de los impulsos generados por los sensores dentro del tinaco y la cisterna.
1.2 ETAPA DE POTENCIA Para activar la bomba se realizó una etapa de potencia con un relevador y un transistor Bc547.
El transistor es usado como interruptor para activar un relevador al cual está conectado a la bomba y a su alimentación.
2 CODIGO /* * Tinaco.cpp * Created: 14/12/2016 08:53:42 a. m. * Author: fxrue */ #define F_CPU 4000000UL #include
#include #include #include int i=0; ISR(INT0_vect){//Flanco de bajada detecta que esta vacio el tinaco, ENCIENDE la bomba PORTC=0x01; } ISR(INT1_vect){//Flanco de subida detecta que esta lleno el tinaco, APAGA la bomba PORTC=0x00; } ISR(INT2_vect){//Flanco de bajada detecta que no hay agua en la cisterna, APAGA bomba PORTC=0x00; } int main(void) { cli(); DDRB=0x00;//entradas int2 DDRD=0x00;//entradas int0,int1 DDRC=0xFF;//salida GICR|=(1<