Autor Tema: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi  (Leído 2658 veces)

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

Desconectado valentin

  • PIC10
  • *
  • Mensajes: 10
Por favor agradezco quien pueda colaborarme con informacion de como logro que el pic16f877 mantenga el estado de sus salidas luego de un corte de energia del mismo, esto para implementarlo en un sistema antirrobo para el vehiculo evitando que el ladron al desconectar la bateria del vehiculo desactive los pines del microprocesador. gracias de antemano por su ayuda

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #1 en: 29 de Agosto de 2009, 21:20:10 »
En ese caso el sistema antirrobo debe tener una batería auxiliar, para asegurar su continuo funcionamiento hasta ser desactivada.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #2 en: 30 de Agosto de 2009, 08:06:34 »
No, como dice Suky un PIC sin energía es exactamente igual que un piedra en el camino. Debes energizarla constantemente para que pueda funcionar.

Una solución es tener una batería de respaldo recargable, unas pilas NiCad por ejemplo, con su correspondiente circuito cargador, cuando el PIC detecta que la fuente principal cae y que solo se mantiene mediante la auxiliar puedes tomar entonces las medidas oportunas y actuar en consecuencia.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #3 en: 30 de Agosto de 2009, 08:54:08 »
Como te han dicho, sin suministro de energia no hay alarma  :(

Lo que podes hacer es guardar en la EEPROM el estado actual del alarma.
Sabemos que el sistema puede estar en estado pasivo (desactivado), activo (esperando que un evento lo dispare) o en panico.
Cuando el sistema se reinicia revisa la EEPROM, y si su ultimo estado no fue pasivo inmediatamente entrara en panico.
De este modo, si te desconectan la bateria para burlar el alarma, al restaurar el suministro de energia esta se disparara.
@fabianjsm is on twitter

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #4 en: 30 de Agosto de 2009, 10:37:11 »
Como te han dicho, sin suministro de energia no hay alarma  :(

Lo que podes hacer es guardar en la EEPROM el estado actual del alarma.
Sabemos que el sistema puede estar en estado pasivo (desactivado), activo (esperando que un evento lo dispare) o en panico.
Cuando el sistema se reinicia revisa la EEPROM, y si su ultimo estado no fue pasivo inmediatamente entrara en panico.
De este modo, si te desconectan la bateria para burlar el alarma, al restaurar el suministro de energia esta se disparara.

Lo mejor es mantener una alimentación continua, no jugarse a que exista un reinicio. Sino como decimos por estos lados, "Al horno con papas"  :D :D


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado valentin

  • PIC10
  • *
  • Mensajes: 10
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar en
« Respuesta #5 en: 30 de Agosto de 2009, 11:19:35 »
Gracias a  todos por sus respuestas, lo de la bateria auxiliar lo he pensado pero queria hacerlo guardando el estado en la memoria para disminuir la cantidad de componentes, sabes a menor cantidad de componentes menos posibilidad de fallas y menos costo.

Otra pregunta que quisiera hacerle a los amigos del foro es Como logro hacer un contador en PBP hice una rutina con la funcion LET pero no me funciona
algo como esto

LET b0=0
if porta.1=1 then label1
LET b0=b0+1
if b0= 20 then label 2

pero no me funciona, ademas de esto tambien me ocurre que la funcion cmcon=7 para activar el puertoA como entradas digitales no me compila en el pbp que podra estar pasando, sera que falta un archivo en el pbp o sera la version del programa o el tipo de pic que estoy usando pic16f877

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #6 en: 30 de Agosto de 2009, 15:51:39 »
Hola
no se que tipo de compilador utilizas  no me es familiar esa instrucción ,pero  si lo que requieres es  incrementar un contador tienes hacerlo dentro de un bucle, por ejemplo for .... next ,while....wend o en su defecto asegurarte que tu  variable contador esta dentro de un loop , en tu programa principal . Por ejemplo, Main: contador=contador+1 goto main

Desconectado flacomaida

  • PIC10
  • *
  • Mensajes: 17
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #7 en: 30 de Agosto de 2009, 18:28:34 »
Hola, prueba con esto, alguno que me corrija si me equivoco, también estoy aprendiendo. Es lo que entiendo quieres hacer.Slds.

b0 var byte
cont var porta.1
trisa=255      'Todas como entradas
alldigital        ' Todos las entradas digitales
cont =0

Inicio:
       if b0= 20 then label 2   
       if cont =1 then contar
   
goto inicio




contar:
   b0 = b0+1
   while cont=1 : wend ' lo uso para esperar soltar el pulsador
goto inicio


label2:
   b0=0   'por ejemplo
goto inicio

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #8 en: 30 de Agosto de 2009, 18:53:59 »
Hola, prueba con esto, alguno que me corrija si me equivoco, también estoy aprendiendo. Es lo que entiendo quieres hacer.Slds.

b0 var byte
cont var porta.1
trisa=255      'Todas como entradas
alldigital        ' Todos las entradas digitales
cont =0

Inicio:
       if b0= 20 then label 2   
       if cont =1 then contar
   
goto inicio




contar:
   b0 = b0+1
   while cont=1 : wend ' lo uso para esperar soltar el pulsador
goto inicio


label2:
   b0=0   'por ejemplo
goto inicio


main:
if cont=1 then
b0=b0+1
while cont=1
delayms 1
wend
if bo>=20 then lebel2
endif
goto main

Desconectado valentin

  • PIC10
  • *
  • Mensajes: 10
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar en
« Respuesta #9 en: 30 de Agosto de 2009, 20:03:50 »
Gracias de nuevo por su ayuda, estoy haciendo un proyecto para un corta corriente para mi carro pero quiero activarlo con un celular a travez de un decodificador de tonos
 acepto sugerencias

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Como lograr que el micro mantenga el ultimo estado en sus pines al cortar energi
« Respuesta #10 en: 31 de Agosto de 2009, 00:02:44 »
Hola hace algunos meses me topé con algo similar y tenía ese esquema que al parecer funciona bien, tienes fuente externa, en mi caso fue por un Trafo de la red eléctrica, en tu caso sería la batería del auto, y una batería de respaldo, por si se cortaba la energía de la red. Quizá pueda servirte y como te recomendaron colocar un cargador a la vez, para que nunca le falte energía a las baterias, y no haga falta cambiarlas.

saludos, a ver si nos cuentas como lo harás
.


 

anything