Autor Tema: Sistema de monitorizacion para tableros de control - PIC 16F877  (Leído 2418 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Granwil

  • PIC10
  • *
  • Mensajes: 3
Sistema de monitorizacion para tableros de control - PIC 16F877
« en: 01 de Diciembre de 2011, 03:50:48 »
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

Desconectado pablolode

  • PIC16
  • ***
  • Mensajes: 123
Re: Sistema de monitorizacion para tableros de control - PIC 16F877
« Respuesta #1 en: 01 de Diciembre de 2011, 10:57:51 »
si mal no entiendo lo que puedes hacer es utilizar red cableada rs485 (cuestan monedas en comparacion con modulos xbee)y cada ves que se activa o desactiva una entrada del PIC envias por la red una trama con con la info de que senal es la que vario, en el foro hay ejemplos de comunicacion 485 bastante simples.

Desconectado Granwil

  • PIC10
  • *
  • Mensajes: 3
Re: Sistema de monitorizacion para tableros de control - PIC 16F877
« Respuesta #2 en: 01 de Diciembre de 2011, 22:39:40 »
Ok muchas Gracias por el dato, en si la transmision por 485 es mi primera opcion... pero por ahora lo que deseo es que me ayuden a como tomar esas 16 señales digitales que entran al PIC y procesarlas para luego mandarlas por TX del puerto C al computador.... Quiero que me den ideas de como puedo hacerlo.
Es decir me imagino que yo debo verificar BTFSS o BTFSC contantemente la entrada del PIC para ver el estado de cada una de esas entradas ( 1 o 0..... ON / OFF), pero nose como hacer para identificar a cada una para mandarla a la transmision???????????? nose si meterlas todas enuna variable o en varias  como hacerlo??? muchas gracias

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Sistema de monitorizacion para tableros de control - PIC 16F877
« Respuesta #3 en: 01 de Diciembre de 2011, 23:27:52 »
Ha pues para eso un buen libro es este:

"Programming 16-Bit PIC Microcontrollers in C" de Lucio di Jasio.

Igual hay mucho otros libros que abordan bien el tema de la comunicación y la programación de PICs.

La tarea primero y las dudas luego.

Saludos
Profesor Ingeniero
Reinier Torres Labrada

Desconectado diguito_69

  • PIC16
  • ***
  • Mensajes: 136
Re: Sistema de monitorizacion para tableros de control - PIC 16F877
« Respuesta #4 en: 02 de Diciembre de 2011, 00:23:29 »
Hola, tengo un par de ideas, pero depende de que puertos quieras utilizar para las entradas, si utilizas PORTB y PORTD que están completos, se simplificaría bastante, y otro tema es como queres recibir los datos en la PC, por ejemplo que el PIC envíe el numero de entrada y su estado solo cuando esta cambie o que envíe regularmente cada x tiempo el estado de todos los pines y que la PC se encargue de ver cual pin esta encendido o apagado.

En caso de utilizar el PORTB y PORTD y enviar los datos cada cierto tiempo, solo tendrías que hacer un bucle que envíe el valor del PORTB, luego el valor del PORTD y luego un retardo, para darle tiempo a la PC a procesar los datos.

Saludos.
"Carezco de un don especial. Sólo soy apacionadamente curioso". Albert Einstein.


 

anything