Sistema inalámbrico de control de nivel de agua

Sistema inalámbrico de control de nivel de agua
Introducción: En aplicaciones domésticas e industriales utilizamos tanques de agua para almacenar agua. Llenar el tanque con agua mediante una bomba de agua es bastante común. Cuando se acaba el agua del interior del tanque, debemos llenarlo bombeando agua mediante un motor de CA y una vez lleno el tanque de agua, paramos el motor. Se trata de un sistema manual, lo que significa que arrancar el motor cuando el depósito está vacío y apagarlo cuando el depósito está lleno es manual. Pero ahora ya no es manual. Ya está disponible en el mercado el sistema automático de arranque y parada del motor en función del nivel de agua en el depósito. Este sistema es un sistema cableado y conectar el circuito y organizar los cables y el circuito es un poco complejo. En este sistema, la mayor desventaja son las conexiones cableadas entre el circuito de control y el motor. Por lo tanto, tenemos que utilizar cables largos desde la parte superior de la casa hasta la unidad de suministro de agua y la unidad del circuito de control. Si queremos adaptar este sistema a edificios de gran tamaño, resultará muy caro y muy complejo. Para superar esto, en lugar de un sistema cableado, si adoptamos un sistema inalámbrico, podemos reducir el costo y la complejidad. El enfoque nuevo y diferente en este proyecto es que los niveles de agua se monitorean de forma inalámbrica y el sistema de bombeo de agua se controla en función del nivel del agua, enviando una señal inalámbrica de Tx a Rx. Por tanto, al no existir una conexión de cables entre el depósito de agua y el circuito de control del motor, podemos utilizar este sistema en edificios altos (de 10 o más plantas) a un coste menor. Descripción: En este proyecto el transmisor está conectado al tanque de agua, desde el tanque de agua se conectan cuatro sensores de nivel de agua (conectores) al codificador. Los datos del codificador se transmiten al receptor. El circuito receptor está conectado a las unidades de visualización y motor. Utiliza un microcontrolador para mostrar el nivel del agua y controlar el motor. Entonces, ¿quieres saber cómo es posible? ¿Cómo se hace esto? Vamos a empezar. Primero recopile todos los componentes y equipos necesarios. Componentes y equipos necesarios: Sr. No. Nombre del componente Cantidad requerida 1 módulo de transmisión RF (434 MHz) 1 2 Módulo de recepción de RF (434 MHz) 1 3HT12E1 4HT12D1 5 LED 1 6 Resistencia – 1 KΩ (un cuarto de vatio) 4 7 Resistencia – 1MΩ (un cuarto de vatio) 1 8 Resistencia – 50 KΩ (un cuarto de vatio) 1 9 Placa de desarrollo Arduino pro mini 1 10LCD 16×2 1 11 transistores BC547 1 12 1 Relé de montaje en PCB tipo C/O 1 13 diodo 1N4007 1 14 Resistencia 1 de 100 Ω (un cuarto de vatio) 15 bote 1 de 10K 16 Batería – 9V 2 17 Placa de pruebas 3 18 cables de conexión Diagrama de circuito: Procedimiento: Sección del transmisor: Paso 1: Disponga un tanque de agua con forma de alambre de abajo hacia arriba y de manera similar disponga cuatro niveles con cables (supongamos; 25%, 50%, 75%, 100%). Tome un total de cinco conexiones de tanque. Paso 2: en estas cinco conexiones conecte el último cable Vcc y el inferior, y quedan cuatro contactos de nivel para el codificador HT12E 10,11,12,13, pines con resistencia de descenso de 1K. Paso 3: conecta la resistencia de 1MΩ entre 15 y 16 pines del HT12E. Paso 4: conecte 17 pines del HT12E al segundo pin del módulo RF Tx y 14 pines a tierra. Paso 5: 1-8 pines del HT12E son pines de dirección, conéctelos todos a tierra y conecte el pin 18 a Vcc y el pin 9 a tierra. Paso 5: Conecte el pin 1 del módulo RF Tx al pin 3 de tierra a Vcc y el pin 4 a la antena. Sección del receptor: Paso 1: Conecte el decodificador de 10,11,12,13 pines a la placa del microcontrolador Arduino pro mini de 10,11,12,13 pines. Paso 4: conecta la resistencia de 50 KΩ entre los pines 15 y 16 del decodificador del HT12D. Paso 5: Conecte 14 pines del decodificador al segundo pin del módulo RF Rx y 17 pines al indicador LED (el LED indica que se recibió la señal) Paso 6: 1-8 pines del HT12D son pines de dirección. Conecte todo a tierra y también conecte el pin 9 a tierra. Conecte el pin 18 a Vcc Paso 7: Conecte los pines 1, 6 y 7 de los módulos RF Rx a los pines 4-5 de tierra de Vcc y el pin 8 a la antena. Paso 8: Conecte el pin 2 de Arduino al pin En de la pantalla LCD, el pin 3 al pin Rs y los pines 4,5,6,7 a los pines de datos D5-D8. Paso 9: La bobina del relé se conecta entre el colector del transistor y el suministro de Vcc. Un diodo está conectado en polarización inversa a través de la bobina. La carga de CA (lámpara) está conectada entre los terminales común y normalmente abierto de los contactos del relé. Laboral: 1. El punto básico en este proyecto es considerar que el agua es un buen conductor, si aumenta la densidad del agua, también aumenta la conductividad (agua salada). El agua pura no es buena conductora de la electricidad. El agua destilada común en equilibrio con el dióxido de carbono en el aire tiene una conductividad de aproximadamente 10 x 10-6 W-1*m-1 (20 dS/m). Debido a que la corriente eléctrica es transportada por iones en solución, la conductividad aumenta a medida que aumenta la concentración de iones. Por tanto, la conductividad aumenta a medida que el agua disuelve las especies iónicas. Conductividad típica del agua: Agua ultrapura 5,5 • 10-6 S/m Agua potable 0,005 – 0,05 S/m Agua de mar 5 S/m Aquí S/m = Siemens por metro. 2. Según los puntos de construcción, en este proyecto se miden cuatro niveles de agua, el quinto cable (cable inferior) es para aplicar el suministro de energía. Cuando estamos llenando el tanque con agua, el agua toca el cable inferior, por lo que desde el punto de partida, el agua lleva la tensión de alimentación (+5V). Cuando el nivel del agua aumenta y alcanza el 25% del nivel del cable conductor, este cable seco conduce y obtiene +5V. Este voltaje cambia el estado del pin de datos del chip codificador. De manera similar, cuando el agua toca los cables restantes, reciben +5 V y cambian el estado del pin de datos respectivo. Este es el principio de funcionamiento de este proyecto. 3. Los cables del nivel de agua del tanque están conectados a los pines de datos del chip codificador HT12E mediante resistencias desplegables (10 KΩ). Aquí tenemos la oportunidad de plantear dudas sobre la resistencia a la caída. La resistencia de bajada es necesaria aquí porque cuando se establecen conexiones eléctricas entre el cable y el agua, la corriente fluye a través del cable y esta corriente se convierte en voltaje proporcional mediante la resistencia de bajada. 4. Cuando se aplica este voltaje a la entrada del codificador, convertirá los datos paralelos en datos en serie y el pin de alimentación 2 del módulo Tx. Luego, el transmisor transmite los datos en forma de señal PEDIR al receptor. 5. El receptor recibe datos y el decodificador convierte datos en serie en datos en paralelo. Los pines de salida del decodificador están conectados a los pines digitales de Arduino como entradas. Si la primera entrada es alta, la pantalla LCD muestra el nivel del agua al 25% según el programa. 6. De manera similar, la pantalla LCD muestra todos los demás niveles de agua a medida que el microcontrolador obtiene datos del transmisor. 7. Cuando el tanque de agua está lleno, el relé cambia de estado y apaga el motor. Fotos:
Solucion de problemas: El principal problema que enfrenté en este proyecto es que los pines del codificador están conectados a los cuatro cables y estos cuatro cables están conectados al tanque de agua en diferentes niveles. Esta disposición ayuda a indicar los niveles de agua. Pero los cables de nivel de agua no proporcionan suficiente voltaje a los pines del codificador. Aumentar la superficie de contacto del conductor con el agua solucionó este problema. Cuando programamos un microcontrolador para mostrar niveles en LCD, debemos considerar todos los niveles en cada etapa, al mirar el programa podemos entender esto. Precauciones: 1. El estado de las líneas de dirección debe ser el mismo en el lado del transmisor y del receptor. 2. En el transmisor, el pin 14 debe estar conectado a tierra o conectar un interruptor entre tierra y el pin 14 para restablecer el codificador. 3. En el transmisor, la resistencia entre 15 y 16 debe estar entre 750 MΩ y 1 MΩ y en el lado del receptor, la resistencia entre 15 y 16 debe estar entre 30 KΩ y 50 KΩ. 4. Si desea utilizar otras baterías, consulte la hoja de datos del HT12E/D una vez. 5. Tenga cuidado con las conexiones del tanque al circuito del transmisor y al circuito del relé. 6. En el programa debemos mencionar todos los niveles en cada bucle if, por ejemplo, al principio solo el primer nivel es alto, pero en el segundo nivel, el primer nivel y el segundo nivel son altos. Por tanto, debemos mencionar esto en condiciones. Y también se mencionan dos estados bajos.

Código fuente del proyecto

Código fuente del proyecto

###

#incluir
//decodificador 10,11,12,13 pines de salida conectados a arduino 10,11,12,13 pines digitales como entrada.int tx1 = 10;int tx2 = 11;int tx3 = 12;int tx4 = 13;int relé = 8;int zumbador = 9;LiquidCrystal lcd(2, 3, 4, 5, 6, 7); configuración nula { pinMode(tx1,ENTRADA); pinMode(tx2,ENTRADA); pinMode(tx3,ENTRADA); // lectura del microcontrolador de salida del decodificador como entrada. pinMode(tx4,ENTRADA); pinMode(relé,SALIDA); Serie.begin(9600); lcd.comenzar(16, 2); lcd.print("GARAJE PARA INGENIEROS"); lcd.setCursor(0, 1); escritura digital (relé, ALTO); delay(1000);} void loop { // leer datos y almacenarlos en una variable para su uso posterior. int Tx1 = lectura digital (tx1); int Tx2 = lectura digital (tx2); int Tx3 = lectura digital (tx3); int Tx4 = lectura digital (tx4); if (Tx1 == ALTO && Tx2 == BAJO && Tx3 == BAJO && Tx4 == BAJO ) { lcd.setCursor(0, 2); lcd.print("Nivel de agua"); lcd.imprimir(" 25%"); // cambiar el valor de salida analógica: } if (Tx1 == ALTO && Tx2 == ALTO && Tx3 == BAJO && Tx4 == BAJO ) { lcd.setCursor(0, 2); lcd.print("Nivel de agua"); lcd.imprimir(" 50%"); // cambiar el valor de salida analógica: } if (Tx1 == ALTO && Tx2 == ALTO && Tx3 == ALTO && Tx4 == BAJO ) { lcd.setCursor(0, 2); lcd.print("Nivel de agua"); lcd.imprimir(" 75%"); // cambiar el valor de salida analógica: } if (Tx1 == ALTO && Tx2 == ALTO && Tx3 == ALTO && Tx4 == ALTO ) { lcd.setCursor(0, 2); lcd.print("Tanque lleno"); lcd.imprimir(" !!!! "); // cambiar el valor de salida analógica: digitalWrite(buzzer,HIGH); retraso(1000); escritura digital (relé, BAJO); }}
//Programa para

###

Diagramas de circuito

RF16

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.