U1 es un microcontrolador que acciona M1 para accionar una carga. Me estoy encontrando con algunos comportamientos extraños y voy a tratar de incluir toda la información pertinente. Espero que no sea demasiado.
- M1 es un FET de nivel lógico.
- U1 funciona con una alimentación de 3,3 V derivada de la batería de 3,7 V del sistema. Hay no otras fuentes de alimentación conectadas, como fuentes de alimentación de sobremesa. Todas comparten una toma de tierra común.
- Aunque he dibujado la carga como una resistencia, eso fue más de que no vi otra opción en CircuitLab para la carga genérica de caja negra. Literalmente estoy conduciendo una carga de caja negra también, uno de esos generadores de alto voltaje que puedes comprar en eBay como celui-ci . Mi entendimiento es que la entrada de la primera etapa dentro de su cavernoso epoxied interiores es una especie de oscilador de bloqueo, y por lo que es totalmente posible que esta carga no es puramente resistiva. Sólo tenlo en cuenta, pero hasta ahora no creo que sea inductiva ya que no he tenido ningún problema de fiabilidad con como back-EMF destruyendo el FET como si hubiera un solenoide dentro de la caja.
- La carga consume mucha corriente, unos 2 A.
Esto es lo que pasa:
- Estoy haciendo esto en una protoboard. Si conecto VGATE directamente a la alimentación de 3,3 V a U1 (lo que el GPIO está tirando a), funciona bien.
- Cuando acciono un pulsador que acciona un ISR para subir la puerta, lo hace muy brevemente y luego el circuito integrado se reinicia (hago que el código parpadee con un LED diferente al arrancar para saber que se ha reiniciado). Esto me hizo sospechar una caída de tensión en las líneas de alimentación debido a la repentina sobretensión de la batería.
- Para solucionar el supuesto droop de alimentación, añadí un montón de condensadores de desacoplamiento tanto en el lado de entrada del regulador lineal LDO como en el de salida. Esto pareció ayudar un poco, pero aún así sólo impulsaría la carga durante menos de un segundo y luego se reiniciaría.
- Añadí un LED a la salida y sorprendentemente esto pareció ayudar. Tal vez se carga el GPIO un poco más, la reducción de la velocidad de giro de tensión en VGS y por lo tanto la reducción de la caída de suministro?
Ahora es cuando las cosas se ponen raras:
- Si conecto una sonda de Analizador Lógico a VGATE (quería ver cómo eran las ondas), ¡funciona completamente! Maldito seas, Werner Heisenberg.
He hecho algunos experimentos y no importa si se conectan tanto la sonda de señal como la de tierra o sólo una (cualquiera de las dos, no parece importar). Sí, un solo cable sin camino de retorno para la corriente está afectando de alguna manera esto. ¿Podría ser alguna cosa extraña de la antena, o el acoplamiento de ruido en el cable que podría estar haciendo algo? Voy a decir que desde que estoy breadboarding, mis cables son cada vez un poco largo, nada más largo que 6 "sin embargo.
Tampoco importa si el analizador lógico está conectado a mi ordenador o no (analizador lógico USB, Saleae Logic Pro, por si importa). Al principio pensé que quizás había diferentes potenciales de tierra, aunque esperaría que la tierra del analizador estuviera aislada del puerto USB de mi PC. De cualquier manera, con un solo cable conectado no veo cómo la corriente puede estar fluyendo dentro o fuera de ese cable de todos modos y por lo tanto hacer nada.
En fin, que me estoy dando cabezazos contra la pared intentando resolver esto y he pensado que a veces no es bueno trabajar en el vacío. Gracias a quien me pueda ayudar.
EDITAR: Probando de nuevo la idea de que el acoplamiento CGD podría estar apagando el FET, intenté hacer la tapa a masa allí más grande con una tapa en VGATE a masa. Aunque esto no funcionó, noto que si sólo toco la parte superior de la tapa (es electrolítica), el circuito funciona de nuevo sin problemas.
Entonces, tocando con mi cuerpo la parte superior de la tapa se soluciona el problema. Poner un cable de un analizador lógico en esa red (ya sea GND o VGATE) soluciona el problema. Y poner una carga de LED en el pin GPIO también ayuda (pero no lo arregla del todo).
¿Qué teoría podría explicar a los tres y por qué lo arreglan?
EDIT2: Llegando a alguna parte... tomando la sugerencia de Spehro de que el di/dt de conmutar una carga tan grande podría acoplarse inductivamente, puse un filtro RC grande en VGATE para que limitara el di/dt de conmutación. Lo que encuentro es que, todo lo demás sin cambios, el LED en el GPIO lentamente se atenúa más brillante hasta que el FET está completamente encendido, y cuando el HVGEN chispea, el micro se reinicia. Si grabas un video del circuito en un teléfono, la imagen es ruidosa debido a la gran EMI.
Básicamente creo que la EMI de las chispas está reiniciando el microcontrolador independientemente de los picos di/dt u otros eventos como este. Por alguna razón cuando toco el condensador en VGATE, el problema desaparece. ¿Es posible que yo sea un cuerpo grande que "absorbe" la EMI de alguna manera y por lo tanto el micro no se reinicia?
Si es así, ¿cómo puedo solucionarlo de forma permanente, sin tocar el circuito en todo momento? ;) ¿Hay alguna manera sin encerrar todo el circuito impreso en una jaula de Faraday?