Haciendo algo de bricolaje como hobby, estoy haciendo un pequeño sensor de radio de humedad y temperatura.
Un ATmega328 lee desde un sensor DHT11 y luego transmite datos a una Raspberry Pi mediante un transmisor de radio STX882 . Está alimentado por una batería de 9 V que utiliza un regulador 7805 de 5 V con capacitancias de 10 µF y 100 µF.
El código C en el ATmega lee la humedad y la temperatura y luego lo envía cada 30 minutos:
const unsigned long DELAY = 30*60*1000UL; // 30 minutes
void loop() {
delay(DELAY);
send_data(); // Maybe a little overcomplicated, but I think it is not the point
}
Esto funcionaba a las mil maravillas, pero la duración de la batería ha sido inesperadamente corta. Era completamente nuevo, e hice algunas pruebas esporádicas con un breve retraso, sin calor anormal proveniente de ninguna parte.
Cuando estuve satisfecho, puse el retraso de 30 minutos y lo dejé solo (¿qué tal vez fue un poco peligroso?), Pero después de menos de 24 horas, la batería estaba muerta a 5,4 V. Sin embargo, el retraso de 30 minutos fue respetado aproximadamente por su vida útil.
¿Qué podría explicar una duración tan corta de la batería? ¿Podría ser el regulador de 5 V? ¿Cómo podría construir un circuito duradero?
PD: Todavía estoy tratando de Fritzing algún diagrama, pero esto toma edad para novatos como yo ...
Usé una batería alcalina de 9 V de la marca genérica 6lp3146 que aparentemente proporcionó 300-500 mAh a una corriente de 100 mA, que es mucho más de lo que uso mi circuito.
Aquí está toda la información que pude reunir de la hoja de datos:
+-----------------+-------------+----------+-----------+---------+
| | DHT11 | STX882 | ATmega328 | 7805reg |
+-----------------+-------------+----------+-----------+---------+
| Voltage | 3-5.5 V | 1.2-6 V | 2.7-5.5 V | |
+-----------------+-------------+----------+-----------+---------+
| Active current | 0.5-2.5 mA | 34 mA | 1.5 mA | |
+-----------------+-------------+----------+-----------+---------+
| Standby current | 0.1-0.15 mA | <0.01 µA | 1 µA | 4-8 mA* |
+-----------------+-------------+----------+-----------+---------+
*"bias current"
Si entiendo correctamente, mi sistema está activo durante unos segundos cada 30 minutos, por lo que la corriente de reserva es todo lo que debería importar, y de hecho es controlada por el regulador 7805.
Entonces, sí, en el peor de los casos, con 300 mAh debería poder mantener vivo el sistema durante solo 40 horas.
¿Hay alguna forma de alimentar mi sistema 5 V durante mucho más tiempo sin un tamaño mucho mayor?
Para el registro, aquí hay un muy buen video sobre los reguladores LM frente a los convertidores reductores: Convertidor reductor versus regulador de voltaje lineal: comparación práctica
fuente
Respuestas:
Como se mencionó, el 7805 tiene aproximadamente 4 mA de corriente de reposo. Necesita encontrar una hoja de datos para la batería (Eveready tiene buenas hojas de datos de la batería, si está usando una celda alcalina). Probablemente no sea más de 100 mAh - 100 mAh / 4 mA = 25 horas, así que eso debería decirte algo.
El 7805 es tecnología antigua . Hay mejores reguladores lineales más nuevos por ahí. Debería poder encontrar fácilmente algo que use 10 veces menos corriente de reposo, y cavando incluso menos que eso.
Para usar aún menos energía, usaría un convertidor de inversión diseñado específicamente para baja corriente de reposo, pero deduzco que no está listo para diseñar uno en una placa a nivel de componente. No puede ser un módulo por ahí que va a hacer el trabajo, pero que necesita para darse una vuelta por ella. TI tiene algunos módulos de conversión de dinero, pero querrá prestar mucha atención a sus capacidades, tanto para la entrega de corriente máxima como para la corriente de reposo.
Para usar menos energía todavía, haga todo lo posible para minimizar el consumo de corriente de su circuito cuando está inactivo. Esto requerirá un uso cuidadoso de la función de reposo del microprocesador, así como también controlar cómo se alimenta la placa (por ejemplo, si solo se enciende una vez cada 30 minutos, es posible que desee apagar la radio y leer la humedad porciones del circuito).
Mida el consumo de corriente en todos los modos de operación, y use esto para determinar qué modos son los peores delincuentes en general, luego concéntrese en minimizar las corrientes en esos modos si puede.
fuente
Todas esas partes pueden funcionar de 3 a 5V, así que use una batería que no necesite un regulador, una celda de iones de litio 16500 o un paquete de baterías 3xAAA son aproximadamente del mismo tamaño que los 9V y producen voltajes en ese rango. (o incluso una celda de Li-po)
Sin el regulador, el microcontrolador puede apagarse y el circuito solo necesitará unos pocos microamperios.
fuente
La corriente inactiva de un regulador 7805 es de alrededor de 4 mA, por lo que, armado con la capacidad de amperios por hora de su batería, calcule cuánto tiempo durará con un drenaje continuo de 4 mA.
Si establece que ese es el problema, encontrará que hay muchos reguladores que tienen una corriente de reposo significativamente menor.
Una vez que la batería cae a aproximadamente 7 voltios, está en una pendiente resbaladiza en declive porque el regulador 7805 requiere un par de voltios de altura libre para regular adecuadamente y yo estimaría (una suposición rápida) que alrededor de 6.5 voltios el circuito fallará.
Dado lo que acabo de mencionar, calculo que solo el 50% de la capacidad declarada de la batería es utilizable antes de que el circuito se dé por vencido. Tenlo en cuenta.
fuente
Estoy ejecutando nodos sensores similares con resultados mucho mejores. Mi configuración tiene algunas diferencias con la suya:
1 Estoy usando ESP8266s con éxito, aunque por supuesto nunca lo recomendaría porque su Vcc máximo absoluto documentado es 3.6 VI.
2 Para mi ESP8266, el despertar del sueño profundo es un reinicio, por lo que el código comenzará a ejecutarse en la parte superior
setup()
, pero con su ATmega328 esto no es un problema.fuente
Muy similar a "¿por qué mi sistema solar / de batería / inversor tiene tan poco alcance?" > porque el inversor gira todo el tiempo. Use diferentes cargas que funcionen con la batería directa y elimine la conversión innecesaria de voltaje .
Has hecho ingeniería 101, has juntado los pedazos y funcionan. Engineering 202 los está haciendo trabajar de manera eficiente para que sean útiles.
Como en el caso anterior, deseche el inverte ... Me refiero al regulador. Seleccione baterías que puedan funcionar en línea recta, como tres baterías de 1.5V a 4.5 voltios. (Dos no serían suficientes ya que caerían por debajo de 3V demasiado pronto; o tal vez; ¡pruébelo!)
También piense en baterías más grandes: ¡los 9V tienen una capacidad estúpida y pequeña, especialmente al tirar 2/3 de la capacidad! (La electrónica necesita 3V, está tomando 9V y tirando el resto como calor). Piensa en grande: las células D son tus amigos si quieres longevidad.
Las cámaras de los ciervos suelen tener dos bancos completos de células D, puede usar una o ambas, y puede funcionar durante toda una temporada.
Además, el consumo de corriente de reposo del ATMega es muy impresionante, pero el STX882 y el sensor, no tanto. Vea si puede encontrar una manera de hacer que ATMega apague físicamente los demás dispositivos cuando no sea necesario. La forma más barata y más segura de hacer esto es un pequeño relé, pero un transistor de potencia también debería funcionar.
Un último truco. Puede que no valga la pena hacerlo según el ciclo de trabajo que el sistema esté encendido, pero vale la pena mencionarlo. En los últimos años, las CPU pasaron de 5V a 3.3V. ¿Por qué? Porque operan con corriente; el voltaje más allá de los mínimos no ayuda a la operación y solo disipa más calor. A medida que las CPU se volvieron más potentes, los problemas térmicos se convirtieron en el factor limitante, por lo que la caída del voltaje al mínimo permitió un funcionamiento más frío y un mayor rendimiento en el mismo disipador de calor. Lo mismo se aplica a su electrónica.
Su objetivo es correr a 5V, el lado alto del rango de voltaje permitido. Mi propuesta 3xAA lo coloca en 4.5V, pero considere hacer una elección de batería diferente que sea aún más baja: como baterías de litio o tres NiCd / NiMH (3.6V). NiMH tiene más capacidad, pero NiCD tiene una resistencia realmente sorprendente al abuso y la descarga profunda.
fuente
Utilice el convertidor elevador en su lugar
Así es como hago proyectos similares. Utilizo 3xAA que me da 2.5V-4.8V, esto está dentro del rango operativo de atmega, lo conecto a un convertidor elevador con pin de desactivación, cuando se desactiva el convertidor consume casi nada y pasa el voltaje. Cuando atmega se despierta y necesita realizar mediciones, encenderá el convertidor, encontrará 5 V en VCC, realizará mediciones y transmitirá, desactivará el convertidor y volverá a dormir. Dura años
fuente
Según sus números, está obteniendo el comportamiento esperado, entre su sensor, su microcontrolador y su regulador (8ma). Si quiere algo mejor, duerma el controlador, apague el sensor y obtenga un regulador más adecuado.
fuente
Mida cuál es el consumo de corriente real en los estados inactivo y activo. Use un amperímetro entre la batería y la entrada 7805. Una batería nueva típica de 9V tiene más de 300 mAh, y la corriente de reposo 7805 por sí sola no podría realmente consumirlo todo: ¡algo es sospechoso! He medido muchas baterías de 9V y generalmente son de 500-600 mAh. La advertencia es que todos son alcalinos, y si está interesado en obtener la vida útil más larga, por supuesto, debe usar baterías alcalinas.
¿Existe alguna razón real para usar baterías desechables de 9V en su aplicación? ¿Has considerado algo como 3 × o 4 × AA?
fuente
Desde las funciones
delay
yloop
parece que está utilizando el código Arduino. Ladelay
función es un bucle activo, ¡no pondrá el microcontrolador en reposo! La API de Arduino no tiene soporte para el modo de suspensión.Lea la hoja de datos ATmega328P y consulte la página 34 para ver cómo poner el dispositivo en modo de suspensión.
fuente
deepsleep
?IMPORTANTE: Si puede apagar el sensor de humedad DHT11 entre usos, PUEDE prolongar la vida útil de la batería en un factor de 3 o 4.
El DHT11 tiene una corriente de reposo de 100-150 uA en modo de suspensión. Tienes que diseñar con el peor de los casos.
En el encendido requiere 1 segundo "para despejar la cabeza" (nota 4. página 5)
y luego hay tiempo de configuración de la interfaz (tal vez unos 10's de ms).
No es obvio en la hoja de datos si el tiempo de respuesta se ve afectado por el apagado, pero probablemente no.
Dependiendo del tiempo entre activaciones, el apagado del DHT11 podría reducir la corriente de reposo del sistema de alrededor de 200 uA a alrededor de 50 uA.
Vale la pena mirarlo.
Regulador LM2936:
El LM2936 que usted menciona es un excelente regulador si cumple con sus requisitos. Baja caída, baja corriente de reposo, rango de voltajes de salida disponibles.
Los usé hace mucho tiempo en un producto que necesitaba su bajo coeficiente intelectual y quedé muy satisfecho con ellos. Hmmm, eso fue alrededor de 1993, más de 25 años, un viejo pero bueno.
Iout max es nominalmente 50 mA, lo que satisface su necesidad tabulada.
Iq es 10 uA con una carga de 100 uA, y menos con cargas mucho más bajas.
Vin es 5.5 - 40V y, de hecho, probablemente más cerca que eso de Vout. Puede obtener versiones de 5V y 3V3.
La corriente de carga del modo de suspensión es fácilmente inferior a 200 uA.
A 200 uA obtendrías 100 / .2 = 500 horas de funcionamiento en reposo por cada 100 mAh de batería.
Entonces, unos 20 días por 100 mAh.
Así que digamos 60 días o dos meses con una batería alcalina "9V" de 300 - 500 mAH con errores conservadores. Use 6 pilas alcalinas AA de 1.5V (aproximadamente 3000 mAh) y debería acercarse a los 2 años.
La operación directa de 3 x alcalinos AA proporciona Vin desde 5V inicial (hasta 1.65V / celda) y 3.3V a 1.1V / celda (casi muerto). Entonces, hasta 6 AA alcalinas con salida de voltaje constante. Si puede tolerar una entrada de 3.3 - 5V 'solo use 3 x Alkalines. AA por casi 2 años de operación. AAA por menos.
fuente