TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: thegame en 21 de Julio de 2021, 15:51:19

Título: SOLUCIONADO - Reinicio de PIC al presionar boton
Publicado por: thegame 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
Título: Re:Reinicio de PIC al presionar boton
Publicado por: Yoshua 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?
Título: Re:Reinicio de PIC al presionar boton
Publicado por: remi04 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.
Título: Re:Reinicio de PIC al presionar boton
Publicado por: gustavopic 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.
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame 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
Título: Re:Reinicio de PIC al presionar boton
Publicado por: Nocturno 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, ...
(https://i.imgur.com/7ObHohq.jpeg)
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame 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
Título: Re:Reinicio de PIC al presionar boton
Publicado por: remi04 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.
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame 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
Título: Re:Reinicio de PIC al presionar boton
Publicado por: remi04 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.
Título: Re:Reinicio de PIC al presionar boton
Publicado por: Nocturno en 23 de Julio de 2021, 06:03:02
Menuda locura de averia remi04, vaya la que liaste para detectarla  ((:-)) ((:-)) ((:-))
Título: Re:Reinicio de PIC al presionar boton
Publicado por: remi04 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:).
Título: Re:Reinicio de PIC al presionar boton
Publicado por: gustavopic 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 ??
Título: Re:Reinicio de PIC al presionar boton
Publicado por: Robert76 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!
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame 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

Título: Re:Reinicio de PIC al presionar boton
Publicado por: remi04 en 31 de Julio de 2021, 04:47:49
Una cosa,  entiendo que al pulsar el botón, la máquina comienza a activar el actuadle correspondiente para dispensar, la pregunta es,

  El reset ocurre cuando:
 
  A - justo al pulsar. Ni siquiera le da tiempo a activarse ningún relé ni actuador ni nada.
  B- Llega a activarse un rele o actuador e inmediatamente el pic se resetea..

   - Prueba al poner en el pin MCLR: 

      1-  Dos resistencias en serie, la del lado de vdd de 10K y la siguiente de 1k ohmios al pin mclr.

      2- un condensador de 100 nf  entre la unión de las dos resistencias al pin a gnd.


     3- una resistencia de 470 ohm entre cada pulsador “conflictivo” y la entrada que maneja para reducir la esd que causa.

  Saludos.
 

   
   
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame en 31 de Julio de 2021, 15:32:05
Hola amigo remi04.

El reset es, como describes en la opcion A, justo en el momento de pulsar.

Adjunto imajen de como tengo actualmente el MCLR, y tambien, lo que tengo en la entrada del pin.

Saludos y muchas gracias por su ayuda.



   
Título: Re:Reinicio de PIC al presionar boton
Publicado por: remi04 en 31 de Julio de 2021, 19:42:25
Dos cositas:

  1-  Sigo pensando que añadir un condensador de 100 nf entre MCLR y GND no le vendría nada mal para evitar que te venga ruido desde la fuente y otros por ahí. El pin MCLR es muy sensible al ruido. Demasiado.

  2- Los condensadores de 0,1 uf que supongo que usas para el antirrebote podrían causar un picotazo guapo en la pista o cable. Cuanto más largo el trayecto desde el condensador hasta el pulsador peor.  Creo que las resistencias limitadoras de 100 ohmios deberían estar hacia los puertos del pic, no hacia los pulsadores. 

  Podrías probar al quitar los condensadores en la placa que falla. Hazle el antirrebote por software por probar.

  Saludos.

Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame en 01 de Agosto de 2021, 20:21:12
Hola amigo remi04

1.- Ok, probare agregando el condensador que me sugieres en el MCLR.

2.- es correcto, los uso para minimizar el efecto de rebote del pulsador, y tambien lo implemento por firmware, dandole unos milisegundos para que pasen las oscilaciones provocadas y rechecando el estado del pulsador.

Las resistencias de 100 Ohms van a los pines del microcontrolador, solo que el nombre que le di, da a entender que va al pulsador, pero no es asi, van a los pines del PIC

Probare quitando el capacitor de 100nf del boton, ya que no esta precisamente muy junto a donde se conecta el pulsador. supongo que con la rutina por firmware deberia ser suficiente.

Muchisimas gracias por las sugerencias



Título: Re:Reinicio de PIC al presionar boton
Publicado por: Yoshua en 02 de Agosto de 2021, 11:47:57
Te recomendaría que des una pasada por este tema:

Luchando contra el ruido POR SOFTWARE:
http://www.todopic.com.ar/foros/index.php?topic=18647.0
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame en 06 de Agosto de 2021, 00:25:33
Que tal amigo Yoshua, lo hare nuevamente, para que no se me escape nada.

Muchas gracias.

Les comento que no he tenido aun respuesta del cliente, hice cambios en la PCB tratando de minimizar el riesgo del reset, esto en base a toda la informacion y sugerencias que he leido y me han dado.

Les agradezco, los mantengo al tanto de si podemos dar solucion definitiva.

Saludos
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame en 11 de Octubre de 2021, 02:38:09
Que tal compañeros, actualizo la situacion despues de rato de no tener reporte de falla, hoy nuevamente, el mismo cliente me reporta la misma situacion.

-He quitado los condensadores del antirebote
-Agregar el condensador entre MCLR y tierra no me ha sido posible hasta ahora

Tengo una consulta, que pasaria si dejo el MCLR sin la resistencia que viene de VCC, es decir, directo a VCC sin resistencia, lo recomiendan??

Lo pregunto ya que un colega me lo sugirio pero no se si sea lo mas adecuado.

muchas gracias de antemano, sigo tratando de saber porque ocurre esto.

Saludos
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame en 11 de Octubre de 2021, 02:51:44
Creen que si desactivo el MCLR ayudaria, es decir, si pongo en los bits de configuracion, NOMCLR, en lugar de MCLR, ayudaria??

Saludos
Título: Re:[SOLUCIONADO] Reinicio de PIC al presionar boton
Publicado por: thegame en 14 de Octubre de 2021, 01:21:31
Muy buenas a todos.

Actualizo el tema, y dejo mi experiencia por si a alguien les sirve, hoy por fin, hemos dado con el problema y al parecer le dimos solucion.

Como podran leer en el desarrollo del tema, el equipo se reiniciaba al accionar 2 salidas a relevador en particular, hice cuanto me sugirieron y cuanto pude leer y aplicar sin resultados, en taller el equipo no fallaba, pero al ser instalado, por esos dos clientes en particular ocurria el fallo, y es que como bien lo mencione de muchos equipos solo 2 me fallaron, con distintas personas.

bueno, tal ves al principio no lo hicieron correctamente o no lo hice yo en su momento, la solucion fue, colocar en paralelo a la carga (una bmba de 12V 60W), un diodo 1N4007 y tambien, en paralelo a los contactos del relevador, un varistor, en concreto el 14D201K, y afortunadamente, no mas reinicios, ahora activan la bomba sin problemas.

De antemano agradezco mucho su ayuda, consejos, experiencia, creanme que he tomado muy en cuenta todo y los proximos equipos seran mucho mas estables, gracias a ustedes, mil gracias

Saludos
Título: Re:Reinicio de PIC al presionar boton
Publicado por: thegame en 14 de Octubre de 2021, 01:23:59
Si algun moderador me pudiera apoyar a modificar el titulo del tema, agregando el [SOLUCIONADO] se los agradeceria.

Saludos
Título: SOLUCIONADO - Re:Reinicio de PIC al presionar boton
Publicado por: Nocturno en 14 de Octubre de 2021, 01:36:48
Me alegro que esté resuelto thegame
Título: Re:SOLUCIONADO - Reinicio de PIC al presionar boton
Publicado por: thegame en 14 de Octubre de 2021, 01:38:45
Yo mas  :D amigo Nocturno, no sabes cuanto  :D
Título: Re:SOLUCIONADO - Reinicio de PIC al presionar boton
Publicado por: Robert76 en 14 de Octubre de 2021, 07:47:48
Gracias por el aporte, y de seguro ayudará a más de uno.
En lo personal, cuándo no utilizo el MCLR, simplemente lo desactivo por soft, y el pin puede quedar sin ninguna conexión o bien usarlo como una entrada.
Título: Re:SOLUCIONADO - Reinicio de PIC al presionar boton
Publicado por: thegame en 27 de Octubre de 2021, 01:44:04
Que tal Robert76, fijate que eso en su momento tambien lo intente, desactivar el MCLR, pero no dio resultado, lei por ahi que incluso causaba mas problemas en ambientes con ruido electrico presente, o cargas inductivas.

Saludos