Gracias Necturno por contestar. Muy buena la información de las ligas, la verdad me quede frió con la publicación de PalotroqueZ, sobre todo por que ya mande a fabricar los PCB (50 piezas), solo de pensar que el diseño de mis PCB estaría mal me pongo a temblar.
Yo no estoy usando el WDT, por que precisamente lo que no quiero es que no se reinicie el PIC y pierda información.
En resumen muy corto de mi proyecto:
Es una red hidráulica con un presurizador, la cual yo voy a controlar 3 diferentes tiempo de salida de agua con una válvula solenoides de 24 VCA.
Usando 3 switch-botones para selección de mando y Dependiendo del botón que presione es el tiempo que activo la válvula. La solenoide la activo con un opto MOC3011 y TRIAC.
La falla ya la logre identificar y aislarla grabando en memoria punto de control que se incrementan en cada una de las etapas, y así logre ver en que etapa se reinicia, siempre es la misma pero es aleatoria de 10 intentos por los menos 2 se reinicia.
Siempre se reinicia cuando prendo la selenoide!
llenar var portb.0 ;el puerto b0=llenar para activar solenoide
llena:
high led
high llenar ;prende b.0 selenoide (AQUÍ SE REINICIA)llenanex:
if llenando < t then ;contador de siclos de medios segundos
pause 500 ;pausa de medio segundo
llenando = llenando + 1
goto llenanex ;regresa al contador de siclos
endif
low llenar