Como evitar que el microcontrolador se cuelge

cuando el microcontrolador esta trabajando por mucho tiempo en un ambiente contaminado de ruido puede llegar a bloquearse, me han dicho que el uso del watchdog puede ser util para evitar que eso ocurra.. sinceramente nunca lo he utilizado; quiera que alguien pueda acesorarme... saludos companeros.
 
Se usa para provocar un reset por soft, habilitas el WDGT y en unas partes de tu codigo debes colocar reset para el, si tu codigo se bloque o cuelga ese reset del WDGT no se produce, el se desborda se resetea el PIC y listo ahi se salio del cuelgue, el WDGHT es un reg que al desbordarse provoca un reset, se debe habilitar, cargar (si fuera necesario con un valor) y estarlo borrando en el codigo para evitar el desborde, el desborde que provoca el reset es el paso de 255 a 0, chauuuuuuuuu
 
el wd es un contador.
si llega a fin >>>> pum micro se resetea.

entonces en una o varias partes de el programa reseteas al wd .
si el programa anda bien pasara por alguna de esas partes y desactiva (resetea) al wd .
pero si el micro se pone en pedo por que se mareo , sea ruido o unos vinos de mas se va para cualquier lado y en ese cualquier lado no hay instruccion de reseteo de el wd .

y como el contador de el wd corre siempre pues llega a su fin y resetea.

busca por ahi que tambien tenes opciones de sopapear al micro si se atonta por baja tension y creo que incluso por ck palmado.

dale a todo , por que uno no sabe a veces por que se cuelga.
aprendes a activar todo y luego lo haces siempre y listo .
 
Lo primero antes de usar el watchdog es tratar de eliminar toda fuente de ruido posible.. ya que el watchdog debe ser la ultima etapa de defensa en un sistema de microcontrolador

Comienza revisando la fuente y todos los puertos que ingresen señal al PIC, añade diodos TVS u optoacopladores donde sea requerido, tambien las bobinas de DC de los relevadores deben traer su diodo de desacople

Tambien revisa la placa de circuito impreso, posiblemente tiene loops de tierra que meten ruido o le faltan los capacitores de desacople de CD en las patitas de la alimentacion de cada integrado...
 
gracias compañeros por sus comentarios, después de revisar durante horas, me di cuenta que se había roto la pata del cristal de 20Mhz por eso el micro a veces trabajaba y otras no..

ahora el sistema trabaja perfecto, sin embargo todavía no se que gano con retesar al micro de cada vez que el watchdog se desborda, al menos para mi aplicación eso no seria ni siquiera conveniente. saludos!
 
gracias compañeros por sus comentarios, después de revisar durante horas, me di cuenta que se había roto la pata del cristal de 20Mhz por eso el micro a veces trabajaba y otras no..

ahora el sistema trabaja perfecto, sin embargo todavía no se que gano con retesar al micro de cada vez que el watchdog se desborda, al menos para mi aplicación eso no seria ni siquiera conveniente. saludos!

nooooooooooooo obviamente el watchdog SOLO se desbordara si tu programa se cuelga , si no es asi , si se ejecuta correctamente y tu has colocado estrategicamente los reseteos del watchdog NUNCA te sucedera, pero si se cuelga en algun lado ese reset del watchdog no se produce y por lo tanto con los ciclos de reloj se va incrementando hasta desbordarse y resetear el micro, de esa manera te saca del cuelgue a tu micro o programa, chauuuuuuuuuuuuuuuu
 
Atrás
Arriba