Ayuda con el consumo electrico de mi proyecto

Saludos foreros,

Llevo dias intentando finiquitar mi proyecto pero no encuntro ninguna manera de reducir el consumo eléctrico. Resulta que tengo una especie de taquilla, la cual se abre con una llave común y eso me molesta bastante ya que siempre tengo que llevar esa llave conmigo, por ende he decidido automatizarla :)

Para ello estoy utilizando un Arduino Pro Mini 3.3v a 8MHz el cual tiene un consumo en Deep Sleep de 2.7mA sin ningun módulo conectado, aunque aún no he retirado los 2 leds ni el regulador de voltaje (Aquí surge una de mis dudas, ya que si retiro este regulador, ¿Podré alimentar el arduino con una bateria LiPo de 3.7v directamente al pin RAW sin quemarlo? (El Arduino no tiene un enchufe cerca, por tanto no lo puedo alimentar desde este, la batería es indispensable. Por ello he pedido 2 18650 de 2500mAh)).

Todo esto realmente no genera ningún problema excepto por el hecho de que no hay ningun módulo conectado al arduino, y, es en la conexión de estos cuando el consumo se dispara. Os cuento... Utilizo un modulo RFID (RC522), el cual se encarga de autentificarme, además de un servomotor (De momento un SG90 para probar, aunque en un futuro quiero poner uno con engranajes de metal), el cual actua como un "cerrojo" a modo de cerradura para abrirla una vez el modulo RFID me ha identificado. El problema viene ahora, puesto que el consumo de todo este invento es de 20-30mA en modo normal, y de unos 15-20mA en Deep Sleep, inviable para tenerlo conectado a baterías todo el día. Además cuando el servo se mueve, el consumo asciende hasta los 250mA en ocasiones. Este movimiento del servo ocurriria 3 veces al día como mucho así que tampoco me preocupa mucho, puesto que dura solo unos segundos. El que si me preocupa es el consumo en modo "normal" de todo el arduino (Encendido con todo conectado), ya que como he mencionado antes es de unos 20mA en Deep Sleep.

He encontrado una solución más o menos viable, y es que si desconecto GND y VCC del módulo RFID, el consumo vuleve a los 2.7mA de antes. De esta solución surge otro problema ya que no encuentro una manera viable de conectar y desconctar estos cables automáticamente. En un principio había pensado utilizar un par de transistores NPN a modo de switch, pero creo que no sería posible el controlar ambos cables (VCC y GND) por las limitaciones del NPN (Ya que creo que tiene que ir conectado a GND, y eso generaría un problema al controlar VCC), cosa que no tengo clara para nada, asi que si me pudierais dejar eso claro os lo agradecería mucho, y si eso es posible y además me pudierais sugerir el NPN ideal ya estará agradecido de por vida ;)

Por otra parte, también pensé utilizar simples relés para el control de estos 2 cables, pero al hacer pruebas me he dado cuenta de que mientras están encendios consumen unos buenos 50mA, que en comparación con un NPN es una barbaridad.

Finalmente, ya no os doy más el tostón jeje, ¿Me podríais explicar como calcular el tiempo que durará una batería? Entiendo que si una batería tiene 2500mAh de capacidad, quiere decir que puede proporcionar 2500mA en una hora o 1250mA en 2 horas y así... Pero lo que no se calcular es este tiempo cuando el consumo es irregular. Os pongo este proyecto como ejemplo: El arduino estará encendido 24/7 con un consumo de 2.7mA en Deep Sleep (Vuelvo a destacar que aún no he quitado los LEDs ni el regulador de voltaje) durante 23 horas y 55 min, puesto que esos 5 minutos restantes son los que el arduino permanecerá despierto (tendré abierta la taquilla), utilizando unos 20-30mA durante ese tiempo y elevando ese consumo a 200-250mA durante los movimentos del servo, que vamos a suponer que duran 2 segundos y que de media al dia se hacen 6 movimientos de servo al dia (3 ciclos de abrir y cerrar la taquilla). Resumiendo, 2.7mA durante 23 horas y 55 minutos, 5 minutos al dia donde utilizará 20-30mA y 12 segundos donde se utilizarán 200-250mA. La pregunta es, ¿Como calculo la duración de la batería en este caso si sé que es una 18650 de 2500mAh (He pedido 2 18650, pero prefiero poner solo una para tener la otra siempre preparada a modo de backup e ir intercambiándolas cuando se gasten)? ¿Existe alguna fórmula o algo?

Muchísimas gracias por leer todo el mensaje,
Alex
 
Si quieres ahorro extremo de energía, que tal si mantienes todo apagado hasta que un pequeño botón pulsador encienda todo por un tiempo determinado.

Supongamos que pulsas un botón, el sistema se activa, pasas la nfc y abre, después de unos segundos se apaga todo y queda en espera nuevamente.

No has planteado ninguna razón para mantener el arduino y sus periféricos encendidos haciendo nada.

No tienes Logger, no recoges, recibes o envías data durante 23 horas y 55 minutos... Entonces... ¿Para qué mantenerlo encendido?

Ponle un pulsador, el que más te guste, que al pulsarlo mantenga todo encendido digamos 6 segundos, eso será suficiente para pasar la tarjeta y listo.

Saludos
 
No entiendo lo que no entiendes respecto a la batería. Lo pasas todo a Julios y san se acabó.

El arduino irá bien si le metes la batería a pelo a Vcc. Si no me equivoco va de 3 a 5,5V el chip. Consulta el datasheet de atmel no sea que esté equivocado.

NO es cierto que de una batería de 1000mAh se puedan sacar 1000mAh, si lo haces ya puedes tirar la batería a la basura. Tienes que mirar la profundidad de descarga que admite, que será entre un 40 y un 70% mira a ver que dice el fabricante.

Otra opción al pulsador es tenerlo encendido 1s y apagado 3s, (por decir algo) cuando llegues tienes que mantener la tarjeta hasta que se active y te abra.
Si en reconocer la tarjeta tarda 100ms, por decir algo, lo tienes 100ms encendido y 300ms apagado...

Modo subrealista: Pon una dinamo en la bisagra de la taquilla y cada vez que la abres y cierras recargas la batería.
Modo absurdo 2.0 pon una dinamo con una manivela para abrir la taquilla al estilo de los teléfonos antiguos.

Tampoco entiendo por que buena razón te es difícil llevar una llave de taquilla y no llevar una tarjeta.
Para eso mejor un lector de huellas.

Es que parece mentira que me guste tan poco la tecnología siendo electrónico: si una llave potencialmente aguanta un tiempo infinito, y es robusta a mas no poder; sumergible, calentable... tengo que pensar para que sirve una tarjeta, en que condiciones supera a la llave, y si no es para hacer un control de acceso y saber quien llega y a que horas, no lo entiendo. ¿Que pasa si tardas tres meses en ir a la taquilla?¿Te tienes que llevar la llave además de la tarjeta?
 
Última edición:
Una solución más "electrónica" es como bien pensaste, el uso de un transistor pero no tienes que cortar ambas "ramas" (Vdd y GND) para restringir la corriente, con que cortes una rama es suficiente. Intenta con la conexión/desconexion de la línea de Vdd como en este diagrama:

tran48.gif

Tus módulos y demás irían en el lugar del LED. Solo habrá que ver si los módulos funcionan a 5v o 3.3V para adaptar el circuito a esos niveles.

Respecto a conectar directamente la batería, lo puedes hacer (y), quizá un diodo en serie a ella para adaptar su tensión a la del micro.

Ya con estas ideas puedes tener un consumo más "uniforme" y calcular un consumo aproximado.

Saludos
 
Si "arduino"="microcontrolador" al 99,999%
Si usas un pic también tendrás que poner oscilador, o usar el interno, alimentación... "solo", "caído del techo" no va

Se puede poner un optoacoplador abierto que cuando acercas la tarjeta active todo el sistema.
 
Estimo que la idea de @Scooter en "Encender" el módulo RFID cuando la propia tarjeta es colocada para su lectura frente al optoacoplador.


Y si no es así, seguramente será "De otra forma"
 
Exactamente es lo que dice fogonazo, pones la tarjeta frente al optoacoplador y se activa todo
Otra posibilidad es añadir un imán a la tarjeta para que cierre un relé reed.
Lo malo es que le bootloader del arduino suele hacer los resets "interminables", pero es cuestión de cambiar el bootloader, porque hay varios no oficiales que son mucho mas rápidos.
 
No entiendo lo que no entiendes respecto a la batería. Lo pasas todo a Julios y san se acabó.

El arduino irá bien si le metes la batería a pelo a Vcc. Si no me equivoco va de 3 a 5,5V el chip. Consulta el datasheet de atmel no sea que esté equivocado.

NO es cierto que de una batería de 1000mAh se puedan sacar 1000mAh, si lo haces ya puedes tirar la batería a la basura. Tienes que mirar la profundidad de descarga que admite, que será entre un 40 y un 70% mira a ver que dice el fabricante.

Otra opción al pulsador es tenerlo encendido 1s y apagado 3s, (por decir algo) cuando llegues tienes que mantener la tarjeta hasta que se active y te abra.
Si en reconocer la tarjeta tarda 100ms, por decir algo, lo tienes 100ms encendido y 300ms apagado...

Modo subrealista: Pon una dinamo en la bisagra de la taquilla y cada vez que la abres y cierras recargas la batería.
Modo absurdo 2.0 pon una dinamo con una manivela para abrir la taquilla al estilo de los teléfonos antiguos.

Tampoco entiendo por que buena razón te es difícil llevar una llave de taquilla y no llevar una tarjeta.
Para eso mejor un lector de huellas.

Es que parece mentira que me guste tan poco la tecnología siendo electrónico: si una llave potencialmente aguanta un tiempo infinito, y es robusta a mas no poder; sumergible, calentable... tengo que pensar para que sirve una tarjeta, en que condiciones supera a la llave, y si no es para hacer un control de acceso y saber quien llega y a que horas, no lo entiendo. ¿Que pasa si tardas tres meses en ir a la taquilla?¿Te tienes que llevar la llave además de la tarjeta?


Saludos Scooter,
Gracias por tu comentario, pero hay que reconecer que está un poco subido de tono eh...

Si pregunto lo del consumo, tal vez, ¿Será porque no lo entiendo?
A partir de lo del modo surrealista creo que lo que has hecho es despotricar de una manera exagerada, ¿Una dinamo, en serio...?

Si escribo que me gustaría utilizar un lector RFID es porque considero más útil utilizar este sistema, ya que llevo una pulsera RFID siempre conmigo, haciéndo mucho más rápida la apertura con esta que con la llave. Hablando de la llave, siempre la llevo encima, en el mismo llavero donde llevo las llaves de mi vehículo, por tanto, en el caso de que tenga que ausentarme 3 meses, un año o diez, simpre voy a poder abrir la taquilla con esta, ya que el mecanismo de cierre está pensado para eso, en el caso de que el arduino se que de sin batería.
No puedo utilizar un lector de huellas porque no puedo modificar la estructura externa de la taquilla.
No te juzgo porque son datos que no he proporcionado con anterioridad, pero no creo que haga falta ponerse en ese plan, y más cuando no me conoces.

Si hago este proyecto, es en parte por APRENDER más electrónica y poder familiarizarme con este tipo de microcontroladores y su programación, a parte de su lado útil. Por tanto, si las preguntas que hago no te parecen suficientemente complejas o absurdas a más no poder, no contestes. Tan sencillo como eso...

A los demás, gracias por vuestra ayuda, me ha venido muy bien :)
 
Si no supieras nada, lo entendería, lo que no entiendo que puedas hacer el cálculo para 1h y si es menos tiempo no sepas, porque doy por hecho que sabes dividir y multiplicar.
A ver, si sabes que 1W durante 1h es 1Wh ¿que problema hay si son 10s?
Seguro que sabes que 1h son 60' y que 1' son 60" porque eso lo sabe todo el mundo. Por lo tanto 1h son 3600" y 1W 10' son 1×10÷3600...Wh

Multiplicas potencia por tiempo y sale energía.

Si tienes dudas lo pones todo en Julios, 1J=1W×1s y los sumas. Esa es la energía que consume tu sistema.

Eso es lo que no entendía.

Respecto a lo otro, me parece casi imprescindible apagar del todo el sistema, o eso o poner una batería enorme...
O alimentación dentro de la taquilla. Es que no le veo mucho sentido a este sistema si no es para hacer un control de horarios etc.

Voto por la llave de siempre, si una cosa lleva dos mil años funcionando, por algo será.

Si es por no llevar la llave, un lector de huellas mejor. Si es por controlar horarios, también; yo le puedo dejar mi tarjeta a álguien para que fiche por mi, dejarle el dedo es mas complicado...imposible tampoco, se ve que se pueden engañar con un molde de silicona.

Respecto a mis respuestas tomo nota e intentaré suavizar el tono porque no es mi intención fastidiar al personal. Pero ya sabes, si no te gustan las respuestas, no las leas, o mejor aún no preguntes.
Tu preguntas lo que quieres y yo contesto lo que quiero, en eso se basan los foros.

 
Última edición:
Si no supieras nada, lo entendería, lo que no entiendo que puedas hacer el cálculo para 1h y si es menos tiempo no sepas, porque doy por hecho que sabes dividir y multiplicar.
A ver, si sabes que 1W durante 1h es 1Wh ¿que problema hay si son 10s?
Seguro que sabes que 1h son 60' y que 1' son 60" porque eso lo sabe todo el mundo. Por lo tanto 1h son 3600" y 1W 10' son 1×10÷3600...Wh

Multiplicas potencia por tiempo y sale energía.

Si tienes dudas lo pones todo en Julios, 1J=1W×1s y los sumas. Esa es la energía que consume tu sistema.



Gracias por tu mensaje Scooter,

Ya que estás por aquí me gustaría preguntarte una cosilla, ya que después de hablar con Visionario en otro foro, este me propuso la idea de utilizar un monoestable 555 para energizar el arduino durante 15-20 segundos al presionar un boton, de manera que si el arduino recibe una tag NFC, mantenga encendido el 555 hasta que acabe de abrir/cerrar la taquilla, y luego se desconecte, dejando (el arduino) de energizar el 555. En el caso de que no ocurriera nada en esos 15-20 segundos, el monoestable se apagaría solo.

Eso lo entiendo, lo que no me quedó muy claro es el esquema que me pasó visionario: , ya que en ese esquema, Visionario menciona que el 555 no consume nada hasta que se presiona el botón, es decir, que VCC está desconectado la mayoría del tiempo. Lo que no veo claro es el hecho de que al dejar de presionar el botón, el 555 se mantenga encendido, ¿Me podrías explicar un poco como va?
 

Adjuntos

  • UDTS0os.jpg
    UDTS0os.jpg
    70.8 KB · Visitas: 10
Última edición:
Ya está hecho, gracias por tu ayuda.

Una solución más "electrónica" es como bien pensaste, el uso de un transistor pero no tienes que cortar ambas "ramas" (Vdd y GND) para restringir la corriente, con que cortes una rama es suficiente. Intenta con la conexión/desconexion de la línea de Vdd como en este diagrama:



Tus módulos y demás irían en el lugar del LED. Solo habrá que ver si los módulos funcionan a 5v o 3.3V para adaptar el circuito a esos niveles.

Respecto a conectar directamente la batería, lo puedes hacer (y), quizá un diodo en serie a ella para adaptar su tensión a la del micro.

Ya con estas ideas puedes tener un consumo más "uniforme" y calcular un consumo aproximado.

Saludos

¿Sería posible utilizar un NPN?
 
Última edición por un moderador:
No, usar un NPN demanda que se utilice una tensión mucho mayor en la base para poder activarlo.

tswitch4.gif

En el ejemplo anterior, para poder poner en saturación al transistor se necesita de una tensión Vbe+VRc. Para tu caso concreto VRc son los módulos que deben operar a 3.3V, si a esta tensión le sumas el Vbe ~0.7V tenemos que se necesitan ~4V para apenas saturar al transistor, además de que un pin de MCU NO da esa tensión si es que lo alimentas a 3.3V.

Espero ser claro con la idea, pero en resumen, el PNP es más eficiente en este caso.

Saludos
 
Atrás
Arriba