Page 1 of 1

Reed Relay resetting ESP32

Posted: Fri Apr 13, 2018 10:54 am
by f.h-f.s.
Hi all,

We have created a PCB with a Reed relay(SIL05-1A72 + flyback diode) switched on using a transistor, esp32(DOIT) and a lm2596 for supplying 5v.
I soldered the board, tested it without load on the relay and it works fine.

When I put load on the relay by connecting a 12V 0.7A device and switch it on, the esp32 sometimes resets.
Sometimes it resets and cant read the flash.
Sometimes it triggers a Gpio pin when the relay is released

I moved the esp32 to a breadboard and connected it to the PCB with wires. The resets occur less often with this setup.
I also measured the voltage on the 5v supplied from the lm2596 to the DOIT board with a multimeter, but I didnt see any voltage drops when I switched the relay.

I now have the relay and the DOIT connected to the board with wires. Now the resets or any of the other symptoms dont occur.


Why does this happen? Is this interference created by the coil in the reed relay? Why does adding wires resolve this problem? How do I fix my PCB design.

Reset example:

Code: Select all

D (404393) rmt: RMT INTR : TX END
D (408443) rmt: RMT INTR : TX END
D (408443) rmt: RMT INTR : TX END
�*ר�+�,�l�(ŭ�m��8�׮�^P!fNd~e�"���+�,R��jJ�b����6#��ȫ���(�(��F�F-�j'��B�X�P±B�X�P©B�X�P¥��Ut����nt����n�t����~dX�n��r�EX��ɪ�^��P"��van �ɪ�^��P"��van���A,�h�hը�kAn �ɪ���Ա��val �ɪ���Ա��va��,%a���(�.�o�ˉXP!����~���t$tDP$`��(r&|`xp�~A�Ũ��rpᨇn�����.�.ŭǩ�hǩ�,P����r۱����^tDt۱��ԥb��r�����*ר�+�,�l�(ŭ�m��8�׮�ޡ�N�B�n�~e�"���+�,R��jJ�b����6#��ȫ���(�(��F�F-�j'��B�X�P±B�X�P©B�X�P¥��Ut����nt����n�t����~dX�n��r�EX��ɪ�^��P"��van �ɪ�^��P"��van���A,�h�hը�kAn �ɪ���Ա��val �ɪ���Ա��va��,%��nA��-�l�.�i'��*��i�)�+�n�n�+�k���h�n׬�n�k �9��*ר�+�,�l�(ŭ�m��8�׮�ޡ�N�B�n�~e�"���+�,R��jJ�b����6#��ȫ���(�(��F�F-�j'��B�X�P±B�X�P©B�X�P¥��Ut����nt����n�t����~dX�n��r�EX��ɪ�^��P"��van �ɪ�^��P"��van���A,�h�hը�kAn �ɪ���Ա��val �ɪ���Ա��va��,%��nA��-�l�.�i'��*��i�)�+�n�n�+�k���h�n׬�n�k �9��*ר�+�,�l�(ŭ�m��8�׮�ޡ�N�B�n�~e�"���+�,R��jJ�b����6#��ȫ���(�(��F�F-�j'��B�X�P±B�X�P©B�X�P¥��Ut����nt����n�t����~dX�n��r�EX��ɪ�^��P"��van �ɪ�^��P"��van���A,�h�hը�kAn �ɪ���Ա��val �ɪ���Ա��va��,%��nA��-�l�.�i'��*��i�)�+�n�n�+�k���h�n׬�n�k �9��*ר�+�,�l�(ŭ�m��8�׮�ޡ�N�B�n�~e�"���+�,R��jJ�b����6#��ȫ���(�(��F�F-�j'��B�X�P±B�X�P©B�X�P¥��Ut����nt����n�t����~dX�n��r�EX��ɪ�^��P"��van �ɪ�^��P"��van���A,�h�hը�kAn �ɪ���Ա��val �ɪ���Ա��va��,%a���(�.�o�ˉXP!�[�z~���t$tDP$`���W (33) boot: PRO CPU has been reset by WDT.
0x4008a33e: multi_heap_malloc_impl at C:/IoT/BEASTv4/esp-idf/components/heap/multi_heap.c:339
W (33) boot: WDT reset info: PRO CPU PC=0x4008a33e
W (33) boot: WDT reset info: APP CPU PC=0xe6ef7e7e
Unable to read flash example:

Code: Select all

D (17055) rmt: RMT INTR : TX END
D (17055) rmt: RMT INTR : TX END
�*ר�+�,�l�(ŭ�m��8�׮�ޡ�N�B�n�~e�"���+�,R��jJ�b����6#��ȫ���(�(��F�F-�j'��B�X�P±B�X�P©B�X�P¥��Ut����nt����n�t����~dX�n��r�EX��ɪ�^��P"��van �ɪ�^��P"��van���A,�h�hը�kAn �ɪ���Ա��val �ɪ���Ա��va��,%a���(�.�o�ˉXP!�[�z~���t$tDP$`���W (33) boot: PRO CPU has been reset by WDT.
W (33) boot: WDT reset info: PRO CPU PC=0x40007c71
W (33) boot: WDT reset info: APP CPU PC=0xe6ef7e7e
I (36) boot: ESP-IDF 3cdcd9d-dirty 2nd stage bootloader
I (41) boot: compile time 17:27:43
I (55) boot: Enabling RNG early entropy source...
I (55) boot: SPI Speed      : 80MHz
I (55) boot: SPI Mode       : DIO
I (56) boot: SPI Flash Size : 4MB
I (58) boot: Partition Table:
I (61) boot: SPI Flash Size : Fatal exception (28): LoadProhibited
epc1=0x40008044, epc2=0x00000000, epc3=0x00000000, excvaddr=0xffffffff, depc=0x00000000
Brownout example:

Code: Select all

D (161643) rmt: RMT INTR : TX END
E (162643) rmt: RMT INTR : TX END

Brownout detector was tri�ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun  8 2016 00:22:57
Gpio triggerd example:

Code: Select all

D (100463) rmt: RMT INTR : TX END
D (100463) GPIODevice: Button Pressed! Gpio: 13
D (105463) rmt: RMT INTR : TX END

Re: Reed Relay resetting ESP32

Posted: Fri Apr 13, 2018 7:26 pm
by Markus Becker
Hi f.h-f.s.,

hard to say, but for me your issue seems related to the load rather than to the relais coil, as it works fine without the load.
I'd try to set up the erroneous configuration, then switch the load by shortening the relais switch using a short wire directly on the pcb and see if you get errors. If so, you could concentrate on reducing load related effects on the power supply.

Best
Markus

Re: Reed Relay resetting ESP32

Posted: Wed Apr 18, 2018 8:29 am
by f.h-f.s.
Thanks for the response Markus.
I will get back to testing this issue when I have a stable board. I was getting some shorts because of solder resin residue. Perhaps this also caused the strange behaviour.