Autor Tema: necesito una sugerencia... soy nuevo !  (Leído 2884 veces)

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

Desconectado neoplat

  • PIC10
  • *
  • Mensajes: 7
necesito una sugerencia... soy nuevo !
« en: 02 de Septiembre de 2003, 06:44:00 »
hola, soy nuevo en esto de los pics.
pero estoy empezando un proyecto, sobre un sistema de seguridad, una central de alarma.

necesito utilizar 6 lineas del pic como zonas de alarma. pero esas zonas deben tener 3 estados... como puedo hacer y que pic me recomiendan.

los estados deben ser:

 Linea rota (linea abierta o cable cortado)
 Linea Normal (todo bien)
 Linea en alarma (cuando un sensor se activa).

estuve probando con el pic16f84, pero las lineas solo pueden manejar 2 estado (0 y +5).

gracias.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: necesito una sugerencia... soy nuevo !
« Respuesta #1 en: 02 de Septiembre de 2003, 07:04:00 »
Para hacer eso necesitas un sistema triestado, es bastante complicado y no se usa ( excepto en casos excepcionales ) en los sistemas comerciales.

En los sistemas comerciales se supone que todo lo que no es un estado "normal" es una alarma.

Por qué no te replanteas el asunto?

Dinos que decides ( no es conveniente meterse en proyectos complicados si estas empezando ) y te ayudaremos.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado neoplat

  • PIC10
  • *
  • Mensajes: 7
RE: necesito una sugerencia... soy nuevo !
« Respuesta #2 en: 02 de Septiembre de 2003, 07:19:00 »
en realidad yo estoy queriendo "copiar" un sistema de seguridad, donde cada zona tiene 3 estados distintos:

el micro ve esto:

 sobre la linea:  10k normal
                            5k alarma
                            0k problema en la linea

esto esta echo con un MC68705u5s (talvez utilize un A/D).

saludos.
 

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: necesito una sugerencia... soy nuevo !
« Respuesta #3 en: 02 de Septiembre de 2003, 09:23:00 »
En realidad eso se hace con comparadores, la alarma se dispara no solo por linea abierta sino tambien por puenteado de la misma (por ejemplo ponerla en cortocircuito para simular todo OK).
Va una resistencia al final de la misma, que permite pasar la comparacion bien mientras este la misma, si se cortocircuita la linea cambia el valor resistivo y ya lo detecta como un cambio.
Puedes hacerlo con un micro con comparadores o con un comparador externo multiplexado si quieres varias lineas, manejando el multiplexado desde el micro, y leyendo todo en una sola linea.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado neoplat

  • PIC10
  • *
  • Mensajes: 7
RE: necesito una sugerencia... soy nuevo !
« Respuesta #4 en: 02 de Septiembre de 2003, 10:00:00 »

el tema de los comparadores lo entendi, pero... como puedo hacer para desde el programa que le voy a grabar al pic, conocer hasta 3 estados por linea ???

 actualmente estoy usando Pic Basic .

muchas gracias!


Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: necesito una sugerencia... soy nuevo !
« Respuesta #5 en: 02 de Septiembre de 2003, 11:54:00 »
No conoces tres estados, solo tienes dos, 0 y 1.
Quien se encarga de establecer una ventana de comparacion es el comparador, no el PIC.
Esto es igual aunque el comparador sea interno, que debe ser el caso del micro que quieres emular, que si no lei mal es de Motorola.
El comparador establece como uno de los niveles (0 o 1) la situacion normal de la linea y del sensor.
Si se activa el sensor o se cortocircuita la linea se invierte el estado a la entrada del PIC, de esta forma el PIC se entera de el cambio y lo procesa como un estado de alarma.
Se entiende??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Elena2000

  • PIC24F
  • *****
  • Mensajes: 722
RE: necesito una sugerencia... soy nuevo !
« Respuesta #6 en: 03 de Septiembre de 2003, 03:23:00 »
Hola neoplat!

Lo que dice Marcos es cierto, sólo conoces dos estados en cuanto al PIC, sería el comparador, interno o externo, el que te indique la situación acontecida.

Verás, yo haría lo siguiente (que es básicamente lo que propone Marcos). Cada zona de alarma la asignas una entrada del PIC, pero en lugar de gestionar los cambios de estado de las entradas, a nivel de bits, almacenas los valores en registros y estableces máscaras, de forma que puedas comparar las distintas condiciones. Puedes implementar "look-up tables" en la epprom del PIC, como datos estáticos (todas las condiciones que pueden darse.... todo OK, intruso en la cocina... etc...) y comparar con los registros de las entradas de alarma para ver qué ha ocurrido. Las máscaras se aplican con operaciones lógicas, and, or...

Espero no haberte liado más...... es algo complicadillo, pero en fin...

Una cosa... para lo que quieres hacer (que realmente es bastante ambicioso para comenzar... uff), creo que el 16f84 puede ser algo limitado, quizás te vaya mejor pasar a uno mayor, el PIC16F877 estaría bien, cómo lo ves?

Saludos!
Elena

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: necesito una sugerencia... soy nuevo !
« Respuesta #7 en: 03 de Septiembre de 2003, 04:13:00 »
De todas formas, verifica tus datos, una linea con problemas nopuede ser 0k. Si te cortan los cable tendras una resistencia infinita.

De todos modos la forma de hacerlo es usando al menos dos comparadores digamos:
comparador 1 con el punto de disparo a digamos dos voltios
comparador 2 con el punto de disparo a digamos tres voltios

con estos dos comparadores y una logica muy sencilla ( por soft o hard ) podemos detectar si una tension es inferior a dos voltios, si se encuentra entre dos y tres o si es superior a tres voltios.

Puedes usar operacionales externos como comparadores o bien un Pic que disponga de comparadores internos.

De todos modos te recomiendo que si estas empezando lo hagas por algo mas basico. El meterse de lleno con problemas demasiado complejos puede llevarte a la frustraciion y a abandonar el apasionante mundo de los Pics. Es mejor tener pequeños logros uno detras de otro que meterse en un cenagal enorme a la primera.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado neoplat

  • PIC10
  • *
  • Mensajes: 7
RE: necesito una sugerencia... soy nuevo !
« Respuesta #8 en: 03 de Septiembre de 2003, 07:53:00 »
MUCHAS GRACIAS A TODOS.
YA ENTENDI BASTANTE BIEN

SALUDOS.

pd> ahora recien estamos terminando de armar el programador, y yo estoy practicando el tema de la programacion del pic (actualmente esto usando pic basic pro), y luego corro el programa en un simulador para el pic16f84.

bye
gracias


AciD0

  • Visitante
RE: necesito una sugerencia... soy nuevo !
« Respuesta #9 en: 04 de Septiembre de 2003, 09:23:00 »
Hola  he estado leyendo  todas  sus posibles  soluciones  y me parecen buenas  pero  creo que por  ahi se les pasa  que  el PBP(pis basic pro)  tiene  un comando  llamado  POT   que lee  resistencias  y devuleve un valor entre 0 y 256 con este  comando  tu  puedes  hacer lo que quieres y puedes poner  hasta mas de 3 estados .
EL PROBLEMA CON EL COMANDO "POT"  es que los valores resistivos tu los  tienes que calcular ya ke los valores que puede  tomar el POT es de 0 a 256 posiciones y varia segun tu constante RC(resistencia capacitor).


NOTA:te recomiendo  que leas un manual de PBP para ver lo del comando POT y su hardware adicional (una resistencia y un capacitor)  .

SUERTE.......

 

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1685
    • winpic800
RE: necesito una sugerencia... soy nuevo !
« Respuesta #10 en: 06 de Septiembre de 2003, 04:23:00 »
Y otro sistema

Solo hay que poner un diodo en paralelo con cada sensor y utilizar una E/S del pic como línea común.

A ver si consigo explicarme .

Estado normal:
La linea común será una salida y estará normalmente a nivel bajo
El resto de las zonas serán entradas.
Si se activa el sensor o se corta cualquier línea, la entrada correspondiente pasara a nivel alto.

Cuanto pasa a alto cualquier zona : (Alarma ¡¡¡
La zona correspondiente como salida ,
La línea común como entrada,
Ponemos un bajo en dicha la zona ,
Si no pasa a nivel bajo la línea común es que esta la línea rota
De lo contrario línea en alarma.

Ejemplo con 2 zonas



Saludines .