Reed Relay resetting ESP32
Posted: Fri Apr 13, 2018 10:54 am
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:
Unable to read flash example:
Brownout example:
Gpio triggerd example:
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
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
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
Code: Select all
D (100463) rmt: RMT INTR : TX END
D (100463) GPIODevice: Button Pressed! Gpio: 13
D (105463) rmt: RMT INTR : TX END