Autor Tema: Alarma - Pregunta, pooling, interrupciones, etc.  (Leído 3271 veces)

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

Desconectado _Maxi

  • PIC10
  • *
  • Mensajes: 34
Alarma - Pregunta, pooling, interrupciones, etc.
« en: 11 de Octubre de 2009, 03:48:28 »
Hola, qué tal?

Ando queriendo hacer una alarma, con un 16F887. El tema es que no definí bien cómo leer los sensores para que se me active la alarma.

Qué método me recomiendan? Primero pensé en preguntar el estado de los pines cada cierto tiempo, pero después me di cuenta de que eso podría no ser lo más efectivo, primero porque estaría preguntando todo el tiempo, segundo porque me puedo perder algun cambio de estado que ocurra en un tiempo intermedio y se haya vuelto al estado anterior sin que yo lo lea.

Entonces decidí ir por las interrupciones. La del RB0, y las del RB4-7. El tema es que me quedo corto de entradas. Yo quisiera usar muchas zonas, muchos pir, detectores de humo, humedad, etc. Necesitaría leer unos 10-15 valores. Todos digitales.

El tema es que no se me ocurre qué "artilugio" hacer para lograr que cada cambio en los sensores me genere una interrupción, y a la vez poder ver cuál es el sensor que se activó..

Eso es, gracias.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #1 en: 11 de Octubre de 2009, 03:54:13 »
Lo ideal es hacerlo mediante interrupciones, pero si necesitas más de las que trae el micro, no te preocupes por usar polling.
El mundo real transcurre a cámara superlenta a los ojos del micro. Si tu programa está bien hecho, a tu micro le da tiempo de comprobar todos los sensores muchos miles de veces por segundo.

Desconectado _Maxi

  • PIC10
  • *
  • Mensajes: 34
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #2 en: 11 de Octubre de 2009, 11:37:50 »
Y estar haciendo pooling todo el tiempo no me va a llevar a consumir mucha energía? Igual la batería tendría su cargador, o sea, sólo estaría funcionando con la batería en caso de que la corriente eléctrica se corte, sino la alimentación sería la línea de pared.

Y si uso uno o varios 4051 y voy leyendo todo el tiempo sus valores? mandando la salida de los 4051 al RB0 y/0 RB4-7. Para tener más entradas.

Gracias.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #3 en: 11 de Octubre de 2009, 12:01:36 »
Si lo que te preocupa es el control de la energía habría que tirar números y ver qué consume más. Lo de los 4051 también añade consumo...

En cualquier caso, el micro puede pasar en modo Sleep la mayor parte del tiempo ahorrando bastante energía.

Desconectado _Maxi

  • PIC10
  • *
  • Mensajes: 34
Re: Alarma - Pregunta, polling, interrupciones, etc.
« Respuesta #4 en: 13 de Octubre de 2009, 02:41:49 »
Otra pregunta... no habrá una manera de poner todos los sensores en serie por ejemplo, de manera que cualquiera que se active me genere una interrupcion, pero a la vez, de alguna forma, poder leer cual es el que se abrió?

La manera que habia pensado era ponerles a los "pulsadores" resistencias en paralelo así después mido la tensión y sé que resistencia falta, el tema es que cuando quiero combinar las dos cosas (esto y previamente generar la interrupción) me pierdo.

Corregí el título, era polling no pooling.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #5 en: 13 de Octubre de 2009, 04:28:35 »
¿Todos los sensores se activan del mismo modo?, ¿cómo se activan, todos a cero o todos a uno?

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #6 en: 13 de Octubre de 2009, 07:42:31 »
Hola Maxi, es totalmente necesario tener 15 zonas en la alarma? Te consulto por que por experiencia propia, con una central de 8 zonas te sobra para cubrir una casa de dos plantas por ejemplo.

Respecto a los sensores, tenes de dos tipos.

- Los Normal Cerrados NC (sensores magneticos para aberturas, sensores PIC, barreras infrarrojas, sensores de vibraciones) que trabajan conectados en serie. Podes poner varios en la misma zona y al abrirse cualquiera se disparara la alarma.

- Los Normal Abiertos NA. En este caso los mas comunes son los detectores de incendio. Estos se conectan en paralelo y tambien podes conectar varios en la misma zona.

Desconectado _Maxi

  • PIC10
  • *
  • Mensajes: 34
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #7 en: 15 de Octubre de 2009, 03:58:13 »
Hola.

En teoría serían NC los sensores. O sea, yo usaría PIRs, el tema es que quiero dejarla configurable por si llego a necesitar agregar un NA. En esta parte por ahora no tengo problema.

El_Guitre, cómo conectás 8 zonas? con interrupciones o preguntando el estado de los pines cada cierto tiempo? O podría poner a todos los interruptores en serie, pero a su vez en cada interruptor poner un positivo con una resistencia pull up, y cuando detecto la interrupcion, luego me fijo qué pin se abrió leyendo su estado.

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #8 en: 15 de Octubre de 2009, 07:49:02 »
Hola Maxi, cuando hablo de experiencia es por que trabaje varios años instalando alarmas, pero no diseñandolas. Respectoa a tu pregunta sobre como trabajar con los sensores, yo haria polling (encuesta) sobre un puerto y en caso de detectar algun bit en alto haria tal o cual cosa...

Creo que lo de usar una conexion adicional, como sugeris, no es recomendable ya que deberias pensar tu alarma para que se adecue a los sensores comerciales los cuales trabajan como un interruptor NC o NA y se conectan solo a un comun y una linea de entrada.

Saludos.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Alarma - Pregunta, pooling, interrupciones, etc.
« Respuesta #9 en: 15 de Octubre de 2009, 14:00:03 »
Hola.

Para los sensores siempre es recomendable usar NC, ya que de haber un fallo en la conexion (o si  cortan los cables por ejemplo) también se va a disparar. Como dice El Guitre, con 8 zonas es mas que suficiente -de hecho yo con 5 tengo mas que suficiente jeje-

Si quieres detectar 1 o 0 en el pin del PIC eso lo haces por programación, colocando un menú por ejemplo para seleccionar el tipo de sensor que vas a colgar en el pin correspondiente: NA o NC.

Si quieres mas zonas, es mejor usar RS485 y usar un micro esclavo que haga polling a los pines y envíe el registro de los pines y  ya en el procesador central verificar los flags.

Saludos
El papel lo aguanta todo