Monitoreo condicionales fisicas (ON -OFF) de un tablero de Control

Hola Muy Buenas Colegas.

Necesito su orientación en mi proyecto de pasantias.

Tengo que diseñar un sistema el cual recoja las condiciones fisicas ( encendido y apagado) de dos tableros de control (extraccion de aire y bomba de aguas negras) y pueda ser monitoreado por un Computador personal a unas distancia aproximada de 80mts.

Lo unico que tengo que visualizar es encendido y apagado (ON -OFF) no tengo que relizar conversion analoga - ni sensar variables ni sensores nada de eso. Solo verificar si esta encendido o apagado el tablero, ON -OFF las Bombas de aguas, si esta manual, automatico, si esta en marcha o parada el ventilador,etc, etc...

Lo he dividido en cuatro fase.

Acondicionamiento de la señal - Microcontrolador - Comunicacion- Visualización PC

El acondicionamento de la señal ya la tengo lista, el tablero trabaja con 120VAC y lo acondicione a 5VDC para poder trabajar las entradas al PIC, esta parte lo hice con optoacopladores.

El pic que voy a utilizar es el pic 16f877 que se consigue facilmente en el Pais, he trabajado bastante con este mirocontrolador y es economico, aparte que tiene salida Serial TX, RX.

En la parte de la comunicacion todavia no estoy seguro si la hare alambrica o inalambrica, s utilizare RS485 o los modulos de xbee,y para la visualizacion y monitoreo de los datos voy utilizar Labview

Pero mi problema ahora es como voy a tomar todas esas señales acondicionadas que estan entrando al PIC y procesarlas para que puedan despues a enviarse al PC. En total son 16 señales, 0V cuando este OFF o parada y 5V cuando este ON o en marcha, 6 son del tablero de control de extractor de aire y 10 del tablero de control de ls bombas de aguas negras.

Me han dicho que lo haga de forma de "tabla de la verdad" y que vaya guardando el resultado en una variable y luego lo envie la transmision por el puerto C (tx) del pic, pero pienso si son 16 señales la tabla de la verdad seria muy amplia y de demasiadas combinaciones....
Alguien tiene una idea y me pueda echar una mano, por cierto trabajo es en lenguaje assembler.

Voy a dejar el diagrama de flujo del sistema de extractor de aire para que tenga idea de lo que les hablo empezar por alli que es el tablero de control mas sencillo

Muchas Gracias. Acepto todas las ideas posibles.



Para que me entiendan mejor por si queda alguna duda... y lo puedan chequear en el diagrama que le deje anteriormente, del tablero de control de extractor de aire las señales que voy a tomar y monitorear son:

* Sobrecarga o desconectado
* Manual, automatico o apagado
* Marcha o parada
* off/on compuerta de las ventanillas motorizada
* off/ on modulo de temperatura.

En todos los casos cuando indique un SI es 5V o 1 Logico, y cuando indique NO es un 0V o un 0 logico, con excepcion de sobrecarga o desconectado que es al revez.

Gracias
 

Adjuntos

  • diagrama.png
    diagrama.png
    93.1 KB · Visitas: 7
Última edición:
Es un programa muy simple, Si tienes suficientes puertos disponibles puedes asignar 2 a tus entradas y monitorearlas, de lo contrario necesitas "Multiplexarlas" usando un buffer (como el 74HC240 o equivalente) o usando algun serializador, despues ese dato recogido lo procesas y en base a eso lo envias a la PC
 
Muchas Gracias Chico3001 por la prontitud, en realidad si tengo puertos disponible, el problema es que nose como afrontar tantas entradas digitales al PIC para procesar, me habian hecho la sugerencia de hacerlo tipo "tabla de la verdad" y a cada señal asignarle un numero de 8bits y luego ir sumando las combinaciones... algo que para 16 señales me parece muy tedioso por todas las combinaciones posible. Ahora me dieron otro dato que tomara 2 variables X - Y de 8 bits y que a cada señal de entrada le asigne 1 bit de esa variable de 8 bits y que dependiendo del valor de la entrada cambie el valor de ese bit de 1 o 0.

Lo que quiero es que me sugieran ideas de como lo harian ustedes... Alguna idea Chico3001.

Gracias nuevamente.
 
Yo utilizaría los registros PORTA, PORTB y PORTC para leer los estados de los sensores
(ya adaptados)
Los bits RC6 y RC7 los reservaría para la comunicación con la PC.
En su lugar emplearía dos bits del registro PORTA (Por ejemplo: RA4 y RA5).
Una vez leidos los registros PORTA, PORTB y PORTC armaría las dos variables:

X = PORTC AND 0x2F
X = X + (PORTA AND 0x20) * 4

Y = PORTB

y las mandaría por el puerto serie.
Otra forma podría ser enviarlos usando el puerto SPI, pero así se usa otro
conjunto de patillas.

Saludos
 
Última edición:
Atrás
Arriba