Cambio de estado del pin PIC restablecer el PIC

Estoy tratando de recopilar datos de sensores analógicos (temperatura y humedad relativa) con un microcontrolador PIC (PIC18F14K50). Para ahorrar batería, el voltaje de suministro de los sensores se enciende cuando se deben recopilar datos y se apaga después. La tensión de alimentación está controlada por el pin RB7 del microcontrolador. El problema es que cuando el pin RB7 del PIC sube, el PIC se resetea, he probado varias modificaciones de software y hardware pero el problema persiste. No tengo ideas ahora, ¿puedes tener alguna sugerencia?

ingrese la descripción de la imagen aquí

Nota :

  • Si RB7 se enciende al comienzo del programa y permanece encendido, no hay restablecimiento.
  • El cristal de 4MHz y los dos capacitores de 15pF conectados a RA4 y RA5 no se muestran aquí.
  • Estoy usando un regulador de voltaje de conmutación para proporcionar los +5V de la batería de +9V
Tal vez los 9v estén cayendo demasiado cuando activas los sensores.
Es posible que necesite un poco más de "almacenamiento a granel" en su suministro de +5V. Intente agregar algunos 10 de uF con condensadores de baja ESR.
@brhans, gracias por su comentario, agregué 100nF en cada paso y verifiqué el resultado, con el tercer capacitor de 100nF se resolvió el problema de reinicio.

Respuestas (1)

Supongo que cuando conecta el +5V_SEC a +5V, hay una caída transitoria en +5V. Eso es percibido por el PIC como un apagón. La caída ocurre porque los capacitores conectados a +5V_SEC se cargan repentinamente. Probablemente puedas ver la caída con un osciloscopio.

[He visto ese tipo de comportamiento antes. Veré si puedo encontrar la captura de pantalla del viejo osciloscopio.]

En una nota diferente. Agregue una resistencia desplegable desde la puerta de Q1 a tierra. Eso asegurará que Q1 no encienda RB7 es de alta impedancia.

Gracias por su respuesta, no tengo osciloscopio, pero revisé los bits /BOR y /POR que indican que se ha producido un apagón. Como se explicó anteriormente, cambiar el condensador de derivación (C13) con 470nF ha resuelto el problema. Gracias por la resistencia desplegable perdida.