3 votos

Protección contra cortocircuitos para la entrada digital

En mi pregunta aquí: Revisión de mi primer diseño de PCB para un robot de control de riego. se señaló que probablemente debería proteger el LEVEL_ALERT línea.

Así que esencialmente tengo una señal de entrada digital fuera del tablero (5V) que comparte conector con un cable de alta potencia de 12V (hasta 5A) y hay proximidad al agua. Así que hay un riesgo real de que los 12V puedan hacer un cortocircuito con la señal de entrada. Me gustaría evitar el humo mágico... El circuito exacto está en la pregunta enlazada arriba, pero voy a reproducir las partes relevantes aquí:

schematic

simular este circuito - Esquema creado con CircuitLab

Los valores de los componentes no son correctos Acabo de añadir los componentes, los valores no deberían importar. He añadido el fusible, no estaba en el original.

Como se puede ver en el cuadro grande en la parte superior que representa un conector que se ejecuta fuera de la placa. Y existe el riesgo de que los 12V que salen del relé puedan hacer cortocircuito con el cable que va al LEVEL pin en el ATmega y se produciría un humo mágico.

Si fuera sólo un ESD o un transitorio menor estoy seguro de que los diodos ESD en el pin GPIO podrían manejar eso. Pero esto puede ser un cortocircuito continuo a 12V que estoy seguro de que freír el micro.

Estas son las opciones que he considerado:

  1. Pinza de diodo a la banda de 5V. ¿Puede el regulador (LM7805CT) soportar que la salida sea fuertemente conducida al mismo voltaje que su entrada? Incluso si puede, ¿se elevará el carril de 5V por encima del Vcc máximo del ATmega? Si el nivel del agua baja de tal manera que el interruptor se acciona mientras la salida está en cortocircuito, entonces el fusible debería saltar impidiendo que la bomba funcione en seco.
  2. Poner un PMOS entre U2 y ATmega y añadir un divisor de tensión para LEVEL línea donde el punto de división está atado a la puerta del PMOS para que cualquier cosa por encima de 5V en LEVEL corte la alimentación del relé y rompa el cortocircuito. No estoy seguro de si esto será lo suficientemente rápido para evitar daños en el ATmega. También son al menos tres componentes más. La velocidad podría resolverse con un filtro RC en la línea LEVEL. Si el interruptor de nivel actúa debido al bajo nivel mientras la salida está en cortocircuito no será un problema ya que el relé apagará la bomba de todos modos.
  3. Circuito integrado de limitación de corriente y tensión dedicado. Realmente me gustaría evitar añadir otro IC en este punto.
  4. Similar a la 2 pero poniendo el PMOS en paralelo a C1 y quemando el fusible en su lugar.
  5. Utiliza un divisor de tensión para crear un potencial adecuado, cercano a los 5V, a partir de la banda de 12V que no está conectada al regulador y sujétalo con un diodo de LEVEL tiene el mismo efecto que el 1. pero creo que no corre el riesgo de fundir el regulador o elevar el Vcc.

¿Podría indicar si alguno de estos métodos es adecuado para proteger los circuitos integrados? ¿O si uno es mejor que el otro?

3voto

Jason Puntos 67

El otro lado del SW1 está conectado a GND, eso significa que LEVEL está abierto o conectado a GND. Cuando el LEVEL está abierto, esa parte del circuito es de alta impedancia. La resistencia interna de pullup de 50k sigue siendo un valor alto. Sugiero añadir una resistencia de 4k7 o 10k de LEVEL a 5V.

Es una mala idea añadir diodos de apriete a la entrada de un ATmega. Estarán en paralelo con los diodos ESD internos. La forma correcta de añadir diodos de sujeción es con una resistencia adicional entre los diodos de sujeción y la entrada del chip ATmega.

La forma más común de proteger una entrada es añadir una resistencia en serie entre la señal y la entrada. Por ejemplo 4k7 o 10k. Se permite empujar o tirar de 1mA en los diodos ESD internos de un pin. Eso significa que con 12V y una resistencia de 10k la corriente en el pin del ATmega es (12-5.5)/10k = 0.6mA, eso está bien. Con 4k7 sigue siendo suficiente.

Hay muchas otras formas de resolver esto, pero mi solución es añadir una resistencia pullup de 4k7 o 10k desde LEVEL a 5V y una resistencia de 4k7 o 10k desde LEVEL al pin de entrada del ATmega.

0 votos

¿No disminuye la tensión en la clavija? ¿La resistencia en serie forma un divisor de tensión con la resistencia de pull-up?

0 votos

El pullup no en el pin, sino en el lateral del interruptor.

0 votos

¿Podría explicarnos la razón de añadir una resistencia en serie entre un diodo de sujeción externo (¿Zener?) y la patilla de entrada?

0voto

Emily L. Puntos 162

Cuanto más pensaba en el problema, más me daba cuenta de que tenía que ser capaz de distinguir entre tres estados en el LEVEL línea:

  1. Actuado
  2. Cortocircuito
  3. Abrir

Después de un montón de rascarse la cabeza se me ocurrió este esquema:

schematic

simular este circuito - Esquema creado con CircuitLab

Simulación: Aquí .

El valor en ADC3 será:

  • 5V si +12V cortocircuita a LEVEL.
  • 1,3V si el interruptor está abierto.
  • 0,88V si el interruptor está cerrado o NIVEL en cortocircuito a tierra.

El ADC3 será sondeado continuamente mientras el relé que proporciona los +12V al depósito esté activado. Si el valor es menor/mayor que 1.3V -/+ 0.2V el relé que proporciona +12V será matado (o nunca se activará). Puedo escalar los valores de resistencia para cumplir con la impedancia de salida esperada en la línea ADC para un sondeo rápido.

También quiero que el sistema funcione de forma segura, por lo que tengo que tener en cuenta todos los posibles escenarios cortos:

  • 12V a GND o PGND: fluirá una corriente alta y disparará un fusible reajustable y el µC se apagará. La próxima vez que el µC se conecte, el relé se apagará y tendré que encontrar alguna forma de detectar si se ha apagado debido a un cortocircuito o a un corte normal.
  • 12V a NIVEL: ADC3 pasará a 5V y el raíl de 5V está protegido por el diodo.
  • GND o PGND a LEVEL: El mismo efecto que si se accionara el interruptor. El ADC3 pasará a 0,88V y la bomba se apagará con el mensaje "Nivel de agua bajo".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X