1 votos

Sencillo circuito de desconexión de baja tensión para Arduino

Prefacio:

  • Bajo la impresión de necesitar un corte de baja tensión, para evitar 2x AA NIMH batería recargable de ser drenado demasiado ahora, y dañarlos. (¿cierto?)
  • En el despliegue, este circuito estará comúnmente expuesto a un evento de descarga completa si se permite.

Concepto:

  1. El interruptor momentáneo S1 se mantiene pulsado, activando Q1 para encender 328p
  2. Sketch comienza y Setup() llama a digitalWrite(A5, LOW)
  3. S1 ahora puede ser liberado ya que Q1 se mantiene BAJO por A5
  4. Cuando la batería está baja, se activa la detección de caída de tensión (BOD), el 328p se reinicia y desconecta el Q1.

Notas:

  • R1 es la resistencia rueda y he experimentado con diferentes valores para conseguir que funcione. (como no he hecho las matemáticas)
  • Tengo esto montado en protoboard, la radio y el módulo lcd no están en la foto
  • Con A5 desconectado funciona bien (mientras S1 se mantiene presionado), Cuando se apaga 0ma en el Amperímetro.
  • Con A5 conectado puede funcionar con un valor más alto de R1 (47k) para evitar que arranque solo, pero cuando está apagado el amperímetro marca unos 2ma.

Estos 2ma siguen siendo suficientes para agotar la batería de forma significativa si se deja descargada durante algún tiempo. Im adivinar el 2ma y la necesidad de 47k resistencia están relacionados con lo que parece ser A5 'fugas' mientras arduino apagado.

He sido capaz de reducir el consumo de corriente 2ma mientras está apagado poniendo resistencia pullup entre A5 y +V

Tengo poco espacio, así que necesito simplificar las cosas.

Comentarios:

  • ¿Alguna mejora o sugerencia para solucionar el problema de las fugas en el A5?
  • ¿O en general satisface mejor mis necesidades de diseño?

Circuit:

3voto

GSerg Puntos 33571

Tu diseño requiere que el pin A5 esté al mismo voltaje que la batería para apagar el sistema. El problema es que cuando se quita la alimentación del Arduino, el pin A5 ya no puede permanecer alto - hay diodos de protección internos que obligan a que su tensión no sea superior a V + más la caída del diodo (alrededor de 0,7V).

La solución más sencilla es añadir un segundo transistor (NPN) que invierta la lógica del pin A5 - cuando A5 está alto, el sistema está encendido, y cuando A5 está bajo, se apaga. Esto apaga ambos transistores y la corriente de reposo debería ser cero.

Además, deberías considerar el uso de un MOSFET de canal P en lugar de tu BJT PNP. Será más eficiente: menos caída de tensión al Arduino cuando está encendido, y sin desperdicio de corriente a través del terminal de puerta.

schematic

simular este circuito - Esquema creado con CircuitLab

He utilizado un FET de canal N en lugar de un transistor NPN. El Arduino puede manejarlo directamente, y la única corriente "desperdiciada" son los 30 µA aproximadamente que fluyen a través de R1 cuando se enciende el sistema.

1voto

zzzzBov Puntos 297

He leído varios foros sobre este tema, pero con mis componentes he utilizado un enfoque diferente y he creado un esquema general de Arduino que mide la tensión de la batería y la apaga cuando alcanza el límite de baja tensión.

  • A0 mide la tensión de la batería a través del divisor de tensión 1:1
  • D5 es alta y cuando el voltaje de la batería alcanza el límite amante, Arduino pin pasa a LOW
  • 4N35 OPTOCOUPLER se utiliza para desacoplar Arduino pin con la batería en estado apagado
  • Para arrancarlo se utiliza el pulsador S1
  • Utilicé el simple MOSFET de canal N 2N7000 ya que tengo corriente inferior a 100mA. Si se requiere más corriente que usaría STP36NF06L o IRL2203.

arduino battery measure and protect

0voto

MikeT Puntos 1

Si necesitas una desconexión por bajo voltaje, tal vez un circuito integrado de detección de voltaje específico pueda ayudarte. He visto el Microchip TC54 utilizados en aplicaciones similares. Es un dispositivo bastante pequeño, por lo que no ocupará mucho espacio.

0voto

Marika Puntos 41

Prueba a poner el pin A5 a Z alto (triestado) cuando no lo uses.

Página 77 aquí .

Tendrás que salirte de los límites de las librerías de Arduino para hacerlo, pero es muy sencillo y sólo tiene dos líneas de código.

0voto

Kaspro Puntos 44

El problema con el primer circuito en la parte superior de la página es que el AtMega328 está siendo alimentado a través de su pin de E/S A5. La corriente pasa desde el positivo de la batería a través de la unión emisor/base del BC557 a través de R1 a A5. Desde A5 pasa internamente a través del ánodo/cátodo superior del diodo de protección superior interno al destino final de VCC. Cambia BC557 por un mosfet de canal P y problema resuelto, porque no pasa corriente entre fuente y puerta como ocurre con la unión emisor/base.

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