Autor Tema: SOLUCIONADO - Reinicio de PIC al presionar boton  (Leído 1831 veces)

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

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
SOLUCIONADO - Reinicio de PIC al presionar boton
« en: 21 de Julio de 2021, 15:51:19 »
Buenas compañeros, tengo una consulta que creo, es algo tecnico, o de hardware, pero no encuentro el detalle aun.

Tengo una tarjeta, basada en el PIC18F46K22, la cual opera como una maquina despachadora tipo vending. Cuenta con varias entradas para botones, cada boton, representa un producto. Este es el contexto basico digamos.

Ahora el problema:

En algunas de ellas, NO EN TODAS, 2 de las entradas, al presionar el boton correspondiente, ocaciona que el PIC se reinicie. Siempre son las mismas entradas, y hasta ahora de al menos 80 tarjetas vendidas, solo 2 lo han presentado.

Que se ha revisado, pues, desde voltajes, tierra fisica, falsos contactos, corto circuito, cables, botones, el programa lo revise nuevamente, sin resultados.

Los pines en cuestion se les a desactivado todo elemento que pudiese interferir con su funcionamiento, convertidores, comparadores etc etc sin resultados.

Es sumamente extraño, ya que con el simple echo de presionar cualquiera de los dos, se resetea inmediatamente la tarjeta.

Alguna ves les ha sucedido algo parecido???

Que mas puedo revisar???

Gracias de antemano.

Saludos
« Última modificación: 14 de Octubre de 2021, 01:37:19 por Nocturno »
Nunca se deja de aprender

Desconectado Yoshua

  • PIC16
  • ***
  • Mensajes: 200
Re:Reinicio de PIC al presionar boton
« Respuesta #1 en: 21 de Julio de 2021, 17:22:53 »
¿tenias el bit de LVP activado cuando se grabaron?
¿Se pueden cambiar para descartar el micro directamente?

AGREGO:
¿Podes revisar la pista que no este en corto y cuando accionas el pulsador se te pone en corto la fuente?

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Reinicio de PIC al presionar boton
« Respuesta #2 en: 21 de Julio de 2021, 19:27:42 »
Añado:

- ¿Alguno de los pulsadores involucra el pin MCLR?.

  ¿Como tienes conectado el pin MCLR?.

  Saludo.

Desconectado gustavopic

  • PIC18
  • ****
  • Mensajes: 417
Re:Reinicio de PIC al presionar boton
« Respuesta #3 en: 21 de Julio de 2021, 19:44:59 »


En algunas de ellas, NO EN TODAS, 2 de las entradas, al presionar el boton correspondiente, ocaciona que el PIC se reinicie. Siempre son las mismas entradas, y hasta ahora de al menos 80 tarjetas vendidas, solo 2 lo han presentado.



2 de 80....
y cambiaste la placa en esa maquina y anduvo bien ??
por que la cosa es ir descartando.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re:Reinicio de PIC al presionar boton
« Respuesta #4 en: 21 de Julio de 2021, 23:53:06 »
Buenas compañeros, gracias por sus respuestas, voy contestando a sus preguntas:

Yoshua:

-El bit LVP no lo tocaba, es hasta ahora que me aseguro, este desactivado
-La pista no esta en corto, ni la fuente se pone en corto, simplemente se reinicia cuando alguno de estos dos pines se va a cero (GND)

Adicionalmente, he desactivado el MCLR

remi04:

-No, ninguno de los pulsadores involucra al MCLR
-El pin MCLR, lo tengo conectado conforme al datasheet, ahi muestra un circuito sugerido para ese pin, adicional, tengo un diodo para evitar que al entrar en modo programacion, VPP entre en corto circuito con los 5V del MCLR

Si hay alguna sugerencia a modificar en cuanto a esto te lo agradecere

gustavopic:

-Hasta ahora, han sido, 2 clientes con este problema, con uno de ellos cambiamos de entrada (las dos que dan problemas) y listo, pero con el otro, no hay entradas disponibles para cambiar, por lo que se debe solucionar el problema.


He echo muchas pruebas y no logro replicar la falla, simplemente no me sucede en taller

Me he asegurado unas 1000 veces que esos pines, esten como entradas digitales, ya que tienen asociados canales analogicos, y comparadores (desactivados tambien)

Mi cliente con el que pudimos cambiar las entradas, recien me dice que montaba la placa sobre un acrilico, y tambien el otro cliente que ahora fallo, no se si eso tenga que ver.

Los clientes regularmente, no se preocupan por la fuente de alimentacion que usan, siempre les recomiendo que inviertan en algo de calidad pero......muchas veces no lo hacen, y esos que no lo hacen, NO FALLA  :? :? :? :? :?

Seguire haciendo pruebas, mi cliente probara el nuevo programa que modifique deshabilitando el MCLR y el LVP, para ver si corrige

Sigo pendiente

Gracias a todos
Nunca se deja de aprender

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18269
    • MicroPIC
Re:Reinicio de PIC al presionar boton
« Respuesta #5 en: 22 de Julio de 2021, 01:43:23 »
Puedes averiguar algo más acerca de la causa del reset preguntándole al propio PIC.
El registro RCON te dirá si el reset ha sido provocado por un fallo de alimentación, o un watchdog, ...

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re:Reinicio de PIC al presionar boton
« Respuesta #6 en: 22 de Julio de 2021, 13:12:16 »
Genial Nocturno, no lo sabia, una consulta, despues del reset (sea la causa que sea), ese registro mantiene el estado de porque se origino o se borra, me refiero, lo puedo consultar despues del reset???

y una ves consultado, me imagino que hay que borrarlo, no? para regresarlo al estado original

Muchas gracias eso ayudara a diagnosticar

Mi cliente aun no me dice que ha sucedido con la modificacion, estoy esperando

Saludos
Nunca se deja de aprender

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Reinicio de PIC al presionar boton
« Respuesta #7 en: 22 de Julio de 2021, 18:36:54 »
Genial Nocturno, no lo sabia, una consulta, despues del reset (sea la causa que sea), ese registro mantiene el estado de porque se origino o se borra, me refiero, lo puedo consultar despues del reset???

y una ves consultado, me imagino que hay que borrarlo, no? para regresarlo al estado original

Muchas gracias eso ayudara a diagnosticar

Mi cliente aun no me dice que ha sucedido con la modificacion, estoy esperando

Saludos

  Por supuesto que los puedes leer los monitores de reset tras un reset.  Siempre y cuando no hayas perdido la alimentación totalmente.

   Algunas preguntas:
-  ¿que valor de pull up o down utilizas?.
- ¿A que voltaje estás alimentado en pic?.
- ¿como tienes configurado brown out?

  Saludos.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re:Reinicio de PIC al presionar boton
« Respuesta #8 en: 23 de Julio de 2021, 01:51:51 »
Hola remi04

Ok, estoy implementando el leer el registro RCON, para ver que me dice cuando ocurra el fallo, desafortunadamente en taller no logro replicar el problema, no ocurre.

-La pull up es de 4.7K en esa tarjeta en particular, y he llegado a usar tambien 10K
-El Pic esta operando a 5V, alimentado con un regulador tipo step down, el voltaje principal de entrada es de 12V
-El BrownOut lo tengo deshabilitado.

Sigo en ello, en cuanto tenga alguna noticia de mi cliente les comento.

Saludos y muchas gracias por la ayuda
Nunca se deja de aprender

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Reinicio de PIC al presionar boton
« Respuesta #9 en: 23 de Julio de 2021, 04:32:38 »
Tal vez el reset ocurre solamente en el entorno del cliente por otra causa.

  En tu caso lo que haría sería cargar un programa especial en la tarjeta de esos dos clientes que han dado fallo de tal manera que cuando se produzca un reset, haga una lectura del registro RCON y grabe su valor en la eeprom.

  Yo tuve un caso similar con un controlador de una batea de osmosis que a veces se reseteaba mientras hacía el proceso de limpieza y aclarado de las membranas.  Más condensadores, resistencias y demás mecanismos de desacople que le puse no podía meterle para las cargas inductivas.  Lo que hice fue cargar un programa específico en esa tarjeta que sacaba por la usart un log a modo de línea cada vez que sucedía algo.

 Algo tal que así:

  13/04/2020 - 20:12:   Evento—> Actuadores —> Electrovalvula de permeado —> Activada.

  Se enviaba una línea como esa con todos esos datos. Como tiene rtc puede enviar fechas y horas de todo lo que sucede.  Los datos se recibían por un notebook que deje ahí puesto y conectado con el programa Coolterm que creaba un fichero.txt.

  También se leían los registros de reset que al ser un 18f4550 tiene varios.  Me daba que el reset era por BOR.

  Desactive BOR y peor, por que ahora lo que pasaba era que se congelaba la unidad entera en la misma situación.  Vuelta a activarlo.

  Hice un lector de voltaje vdd-vss y lo conecté a un analógico para que me enviase el voltaje de alimentación y no conseguía ver nada raro en el voltaje. 

  Al final analizando los cientos de líneas de log enviadas por la unidad, buscando el nexo común y todo lo que sucedía justo antes del reset, pude ver que cada vez que ocurría un reset, el medidor de conductividad de entrada dejaba de leer. Daba 0.  Y a partir de ese momento, la activación de la electrovalvula de permeado provocaba el reset inmediato.

  El problema resultó ser el transductor de conductividad del agua. Tiene que enviar una señal 0 a 5 voltios a un puerto analógico y a veces se le iba la pinza y mandaba 8V.  Menos mal que tenía una resistencia de 2k2. 

  Eso era lo que me volvía loco el BOR.   

  Como ves, te puedes volver loco de remate con estas cosas.

 Saludos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18269
    • MicroPIC
Re:Reinicio de PIC al presionar boton
« Respuesta #10 en: 23 de Julio de 2021, 06:03:02 »
Menuda locura de averia remi04, vaya la que liaste para detectarla  ((:-)) ((:-)) ((:-))

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Reinicio de PIC al presionar boton
« Respuesta #11 en: 23 de Julio de 2021, 11:21:22 »
Menuda locura de averia remi04, vaya la que liaste para detectarla  ((:-)) ((:-)) ((:-))

 Anda que es mentira.

  Otro motivo de reset que tuve en una placa que trabajaba con cargas inductivas fue que dejé el cable icsp puesto y sacado por un lado. Para poder ir reprogramando y corrigiendo el programa y el funcionamiento del equipo sin tener que andar abriendo y cerrando la caja donde iba la placa, aparte de que era dificultoso acceder al puerto icsp.

   Pues por dejar ese cable ahí puesto sin tener el pickit conectado en el otro extremo se comía unos reset’s guapos el pic cada vez que encendía una bomba de 1,5 hp (a través de sus contactores claro  :lol:).

Desconectado gustavopic

  • PIC18
  • ****
  • Mensajes: 417
Re:Reinicio de PIC al presionar boton
« Respuesta #12 en: 23 de Julio de 2021, 11:30:50 »
consulto, a ver si me equivoco .
pero si la fala entonces anda por ahi ( "algo" en esas entradas ) , bastaria con una resistencia y un zener de 5 v en ellas.
si el problema desparece es que es eso .

o sea, me aseguro que las entradas problematicas esten entre 0 y 5 v  por hard ., y veo que pasa.

¡ seria algo correcto hacer eso ??

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 561
Re:Reinicio de PIC al presionar boton
« Respuesta #13 en: 23 de Julio de 2021, 11:49:01 »
Hola, es conveniente conectar un condensador de 100nF entre VDD y VSS del PIC en cuestión.
Además, si el factor consumo no es problema. Yo utilizo resistencias de pull-up de 470ohms, pues al ser tan bajas, atenúa bastante cualquier ruido eléctrico en una entrada. Si el problema persiste, optoacoplador amigo!

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re:Reinicio de PIC al presionar boton
« Respuesta #14 en: 31 de Julio de 2021, 03:38:17 »
Muy buenas a todos.

Agradezco de verdad todos los comentarios, sugerencias y experiencias.

El problema aun persiste con el cliente que no tiene entradas adicionales. Pienso que debe ser como bien lo mencionan un detalle de entorno especifico, para tratar de minimizar o eliminar el problema por completo, creo que me tocara rediseñar la etapa de entradas.

Me llama la atencion que el pin de entrada que causa el reset, esta justo a un lado del pin de MCLR, he comprobado que no este en corto ni mucho menos, no hay conexion entre ellos.

Consultando con otro colega, me hizo la sugerencia de colocar el pin de MCLR directo a VCC (5V), en lo particular nunca lo he echo asi, siempre a traves de una resistencia de pull up, y referente a ello, que valor seria mas adecuado, 10K (siempre la he usado), o 4.7K, tendria un efecto positivo bajar de valor??? Buscando que no se resetee tan facilmente.

Amigo remi04, tu idea es fantastica, colocar el monitor, el unico inconveniente es que mi cliente dudo que quiera perder ni 1 dia de trabajo de la maquina (por ahora cancelo esos productos para la venta), se lo propondre y diseñare algo como lo que hiciste, aprovechando la idea  :D

Amigo Robert76, el capacitor lo tiene, cercano al chip, de 100nf. Y como bien comentas tu y el compañero gustavopic, tal ves cuadrar la señal de entrada pudiese ser una solucion, sea optoacoplando, con una compuerta schmitt trigger, o con el zener.

Justo ahora estoy por enviar a fabricar otro lote de PCB, me gustaria mejorar el diseño minimizando estos aspectos, cualquier sugerencia es bienvenida.

El objetivo es, evitar resets indeseados, y mejorar entradas digitales.

Buscare en el foro que recuerdo habia una seccion de circuitos (esquemas) bien probados por los compañeros

Muchisimas gracias, no quito el dedo del renglon, sigo en la pelea

Saludos

Nunca se deja de aprender