Autor Tema: Reset por flanco descendente PBP  (Leído 2340 veces)

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

Desconectado frape

  • PIC10
  • *
  • Mensajes: 21
Reset por flanco descendente PBP
« en: 28 de Febrero de 2010, 05:30:05 »
Hola, tengo realizado un codigo para un 16f628A, que dependiendo del estado de un pin y unas condiciones dadas me activa un relé por medio de un transistor BC337 durante 2 segundos.

En alguna ocasión muy de tarde en tarde el relé se queda clavado permanentemente aunque compruebo que el pin que excita el transistor si pasa a estado bajo.

La solucion que veo seria resetear automaticamente el pic una vez transcurridos esos 2 segundos de activacion del rele.

Lo primero que hice fué poner un pin en estado alto desde el inicio del codigo y conectado al pin de reset pensando en pasarlo a estado bajo una vez terminada la temporizacion del rele, torpe de mi que el pic al arrancar al estar aun en estado bajo se resetea continuamente.

Opté por poner un transistor BC337 con emisor a masa y colector al pin reset, la primera vez lo resetea y ya no arranca mas reseteandose constantemente, por lo que la unica opcion que veo es hacerlo por interrupcion interna por flanco descendente del pin que excita el relé y ahi es donde no se seguir.

¿Alguien es tan amable de indicarme el codigo para realizar ese reset?.

Un Saludo.


CMCON=7   
                     

TRISB=%10000000
TRISA=%1111
LED1 var PORTB.5
n var byte


 @ device  pic16F628A , INTRC_osc_NOCLKOUT , WDT_off, MCLR_on, PROTECT_off, CPD_off, BOD_on, PWRT_on

 
      Goto inicio


inicio:
portb.6=0
portb.5=0

if portb.7=0 then
    portb.6=1
    pause 1000
goto activapin
endif
goto inicio
   
   
               
   

activapin:
 
 if portb.7=1 then
 goto pausa
 endif
 goto activapin
 pausa:
 for n=0 to 50
  if portb.7=0 and portb.6=1 then
  portb.5=1
  pause 2000
  portb.5=0
  portb.6=0
  portb.4=0
  pause 200
  goto inicio
  endif
  pause 200
  next n
 goto inicio
 




Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Reset por flanco descendente PBP
« Respuesta #1 en: 28 de Febrero de 2010, 09:27:52 »
Lo primero que deberías hacer es encontrar la causa de por qué el relé se queda clavado.
Luego si aún quieres resetear el micro puedes utilizar el watchdog. Mientra no quieres que se resetee el micro limpias el watch dog, y en el momento que quieres que se realice un reset, no le das más bolilla y solo se reseteará.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Reset por flanco descendente PBP
« Respuesta #2 en: 28 de Febrero de 2010, 13:54:33 »
Como ya te mencionan deberías encontrar la causa de por que el rele se queda clavado, ya que si el pin de control conmuta de alto a bajo no es para nada normal lo que sucede y no deberías conformarte con dejarlo así.
La solución que pretendes del reset automático desde mi opinión te estas complicando de mas inecesariamente.
Ya que por lo que comentas tu problemas esta en el rele o el cto que utilizas entre el pin del pic y el rele en tu caso creo que utilizas un transistor