Hola:
Quiero encontrar algunos esquemas sobre control de niveles de depósitos de agua. He encontrado uno y me parece bueno.
Si encuentran más mejor, ya que estoy con un PIC para hacer el mini proyecto en realidad. Espero obtener muchas ideas con ustedes.
Entradas:
S1 = Sensor 1 Vacio
S2 = Sensor 2 Lleno
Salidas:
LV = Led Verde
LR = Led Rojo
M = Motor
Funcion:
El tanque debe estar siempre vacio. Por la lluvia el agua sube. En todo momento el motor M debe estar apagado y el Led verde LV porque el agua sigue por debajo del S1 y no lo toca.
Cuando empieza a llover y el agua sube, con el tiempo toca el sensor S1 y el motor M todavia sigue parado y el Led verde LV se enciende.
Cuando el agua suba del todo significa lleno y es que ha tocado el S2, el LR se enciende y el LV se apaga al mismo tiempo, mientras el M se activa hasta que el agua baje por debajo del S1, que es cuando el M se detiene. Si M se detiene, el LR se apaga.
Se vuelve a repetir el mismo ciclo siempre que el agua suba. El agua simpre se deposita en un desague y el estanque que no se llene. Como el M siempre debe tener agua, se deja un poco para ella. El motor no debe quedarse sin agua ya que puede quemarse.
Ver ejemplo que hice.
http://electronicapic.iespana.es/deposito.swf
Se acepta sugerencia para su mejora.
Edito:
He hecho por ahora con el PIC12F508 que es el pequeño que tengo ahora. También 12C509. Si prefieren otro PIC a usar me lo dicen.
Para aprovechar todos los pines posibles, usaré el tercer Led en Amarillo.
S1 S2 = LA LV LR M
0 0 = 1 0 0 0 ; Se activa Led amarillo cuando no ha detectado agua.
1 0 = 0 1 0 0 ; Led verde cuando sólo detecta el primer sensor S1.
1 1 = 0 0 1 1 ; Led rojo y motor se activan.
El código que estoy haciendo que aún no funciona es este, a ver s hay alguien que me ayude hacrlo funcionar.
Quiero encontrar algunos esquemas sobre control de niveles de depósitos de agua. He encontrado uno y me parece bueno.
Si encuentran más mejor, ya que estoy con un PIC para hacer el mini proyecto en realidad. Espero obtener muchas ideas con ustedes.
Código:
S1 S2 = LV LR M
0 0 = 0 0 0
1 0 = 1 0 0
1 1 = 0 1 1
S1 = Sensor 1 Vacio
S2 = Sensor 2 Lleno
Salidas:
LV = Led Verde
LR = Led Rojo
M = Motor
Funcion:
El tanque debe estar siempre vacio. Por la lluvia el agua sube. En todo momento el motor M debe estar apagado y el Led verde LV porque el agua sigue por debajo del S1 y no lo toca.
Cuando empieza a llover y el agua sube, con el tiempo toca el sensor S1 y el motor M todavia sigue parado y el Led verde LV se enciende.
Cuando el agua suba del todo significa lleno y es que ha tocado el S2, el LR se enciende y el LV se apaga al mismo tiempo, mientras el M se activa hasta que el agua baje por debajo del S1, que es cuando el M se detiene. Si M se detiene, el LR se apaga.
Se vuelve a repetir el mismo ciclo siempre que el agua suba. El agua simpre se deposita en un desague y el estanque que no se llene. Como el M siempre debe tener agua, se deja un poco para ella. El motor no debe quedarse sin agua ya que puede quemarse.
Ver ejemplo que hice.
http://electronicapic.iespana.es/deposito.swf
Se acepta sugerencia para su mejora.
Edito:
He hecho por ahora con el PIC12F508 que es el pequeño que tengo ahora. También 12C509. Si prefieren otro PIC a usar me lo dicen.
Para aprovechar todos los pines posibles, usaré el tercer Led en Amarillo.
S1 S2 = LA LV LR M
0 0 = 1 0 0 0 ; Se activa Led amarillo cuando no ha detectado agua.
1 0 = 0 1 0 0 ; Led verde cuando sólo detecta el primer sensor S1.
1 1 = 0 0 1 1 ; Led rojo y motor se activan.
El código que estoy haciendo que aún no funciona es este, a ver s hay alguien que me ayude hacrlo funcionar.
Código:
;+---------------------------------+
;¦ PROCESADOR A EMPLEAR PIC12F50x ¦
;+---------------------------------+
SELECCIONAR EQU 0 ;0=PIC12F508 1=PIC12F509
IF SELECCIONAR
LIST P=12F509
INCLUDE <P12F509.INC>
ELSE
LIST P=12F508
INCLUDE <P12F508.INC>
ENDIF
;+-----------------------------------+
;¦ FUSIBLES, WASDOG, OSCILADOR ETC.. ¦
;+-----------------------------------+
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _IntRC_OSC
; ZONA DE CÓDIGOS ********************************************************************
ORG 0
Inicio
movwf OSCCAL ;CALIBRA EL OSCILADOR INTERNO
movlw b'11000010' ;CONFIGURA TMR0 PRESCALER = 1:8
OPTION ;OSCILADOR = 4MHZ
movlw b'00000011' ;INICIALIZA TODOS LOS
tris GPIO ;PUERTOS EN ALTO Y
Principal
movf GPIO,W ; Lee los sensores.
andlw b'00000011' ; Máscara para quedarse con el valor de los sensores.
addwf PCL,F ; Salta a la configuración adecuada.
goto Configuracion0
goto Configuracion1
goto Configuracion2
Configuracion0
movlw b'00001000'
goto ActivaSalida
Configuracion1
movlw b'00000100'
goto ActivaSalida
Configuracion2
movlw b'00000011'
goto ActivaSalida
ActivaSalida
movwf GPIO
goto Principal
END
Última edición: