Rele me resetea el Arduino

Hola.

Llevo unos días con un problema en un circuito. Se trata de un sistema alimentado con batería que almacena unos datos y los envía periódicamente (1 vez al día) a un FTP a través de un módulo SIM800L.

Para aumentar la duración de la batería, desconecto mediante transistores los componentes cuando no los uso y tengo el Arduino en modo sleep con la librería Lowpower. El módulo SIM lo desconecto mediante un relé, porque tiene picos de consumo de 2A y los transistores que tengo no pueden mover esa potencia. Todo va alimentado con 4 pilas AA y duran unos 3 meses.

El circuito funciona, pero a veces, al abrirse o cerrarse el relé para activar/desactivar el módulo SIM se resetea el Arduino. Supongo que será porque genera alguna interferencia o pico de tensión pero no se como filtrarlo.

¿Alguien me puede orientar?

Lo que he hecho provisionalmente es alimentar el relé (la parte de potencia) con un segundo paquete de 4 pilas AA, haciendo el GND común con el otro paquete, así la alimentación del módulo SIM es independiente de la del resto de componentes y el Arduino no se resetea al actuar el relé, pero es una solución chapucera y me gustaría cambiarla.

Reles uso estos dos, en diferentes variaciones del circuito. Con ambos me pasa.

El circuito funciona, pero a veces, al abrirse o cerrarse el relé para activar/desactivar el módulo SIM se resetea el Arduino. Supongo que será porque genera alguna interferencia o pico de tensión pero no se como filtrarlo.

Primera consulta: monitoreas la tensión de las baterías? Ocurre eso cuando las baterias estan descargadas o en cualquier momento?

Se me ocurre o mi primer sospecha es que el consumo provoca una caida de tensión general que lleva al Arduino al reset.
No recuerdo si era victorjam o efec2000 que sugieren usar un capacitor de 1F o menos, como almacenador de energía.
Que tal si mitigas de ese modo el pico de corriente que le provoca al sistema?
Es una idea, la primera que tengo al leerte.

Me preocupa que los diodos en antiparalelo esten bien, revisa o cámbialos.

Ocurre con las baterías cargadas, no es por la caída de tensión. Además ocurre justo al sonar el "clac" del relé, cuando aún no hay consumo en el módulo SIM.

El condensador donde lo pongo, ¿en la alimentación del Arduino?. No tengo tan pequeños. Da igual que ponga uno más grande, ¿no?. De 22uF por ejemplo.

No tengo diodos en antiparalelo, a no ser que vengan integrados en el relé. De hecho, no sabía lo que son. Lo acabo de buscar y voy a poner uno a ver.

Muchas gracias por las ideas. Pruebo y os digo.

Perdón, es que soy un poco torpe.

El diodo en antiparalelo tengo que ponerlo entre los pines VCC y GND del relé, ¿verdad?, con el ánodo a GND y el cátodo a VCC.

Te estas apresurando en todo.

Diodo antiparalelo tiene es este marcado, solo verifica que funcione.

El condensador no es chico sino grande 1Faradio no un uF o si es demasiado grande busca uno de buen valor tipo 4700uF o 10000uF y lo colocas entre VCC y GND del RELE porque no puedes ir mas alla de eso.
AL hacerlo tmb lo pondras en los 5V del arduino porque es la misma conexión.

Algo que no me cierra es esto

Todo va alimentado con 4 pilas AA y duran unos 3 meses.

4 pilas no supera 6V y 6V no son suficientes para alimentar Arduino.
Ahi tienes un problema.
Lo minimo es 6.5 y eso te da poco margen de maniobra con la descarga.

surbyte:
Algo que no me cierra es esto

4 pilas no supera 6V y 6V no son suficientes para alimentar Arduino.
Ahi tienes un problema.
Lo minimo es 6.5 y eso te da poco margen de maniobra con la descarga.

Es un arduino Pro Mini a 8Mhz, se puede alimentar desde 3,3V. Perdón por no haberlo dicho antes.

Un rele comandando con 3.3V suele dar problemas a menos que lo alimentes bien.
El RELE requiere 5V y tu no tienes 5V por lo que me dices.

No se que rele usas si el simple o el doble.
Si es es simple debes alimentar con 5V (no se de donde) ese terminal VCC porque es lo que requiere el fototransitor del optoacoplador.

Lo mismo con el doble pero para eso tiene JD VCC asi que levantas el jumper y conectas 5V ahi, en VCC pones los 3.3V de tu MINI PRO y compartes GND de ambas fuentes.

Por ahi esta tu problema.

EDITO: saque lo del cuenta gotas porque no es justo. SI lo leiste me disculpo.

surbyte:
Un rele comandando con 3.3V suele dar problemas a menos que lo alimentes bien.
El RELE requiere 5V y tu no tienes 5V por lo que me dices.

No se que rele usas si el simple o el doble.
Si es es simple debes alimentar con 5V (no se de donde) ese terminal VCC porque es lo que requiere el fototransitor del optoacoplador.

Lo mismo con el doble pero para eso tiene JD VCC asi que levantas el jumper y conectas 5V ahi, en VCC pones los 3.3V de tu MINI PRO y compartes GND de ambas fuentes.

Por ahi esta tu problema.

EDITO: saque lo del cuenta gotas porque no es justo. SI lo leiste me disculpo.

Si, tengo un poco de jaleo con eso.

He hecho pruebas tanto con el simple como con el doble.

El doble lo conecto con el Vcc a la batería, que da cargada unos 5,4V, y funciona bien. Una señal digital de 3,3V del Arduino lo abre/cierra correctamente.

El simple, si lo conecto igual, se me queda siempre cerrado (supongo que porque los 3,3V de la salida digital del Arduino no llega a considerarlos HIGH), y lo que hago es poner el Vcc a la salida 3V3 del Arduino, así si que me funciona bien.

La razón de usar un Arduino a 3,3V es que consume menos, y como casi siempre está en modo sleep, así dura más la batería.

De todas formas, si la alimentación del módulo SIM a través del relé la hago con una segunda batería y no con la misma que alimenta el Arduino, no se me producen reseteos. ¿Alguna idea de por qué puede pasar esto?

Edito para aclarar que cuando uso una segunda batería la pongo solo en la parte de potencia del relé (en los bornes atornillados), los pines de control del relé (Vcc, Gnd) los sigo alimentando con la batería que alimenta el Arduino. El negativo lo hago común en ambas baterías.

Se me acabaron las ideas.

Siguiente idea poner un osciloscopio e intentar reproducir el problema.