Hi,
My goal is to power my circuit when one out of three contacts is made. It may be either from one button, one reed switch, one tilt switch and I want to be able to detect which one triggered the power.
I'm trying to design a power on circuit which would have the following functionalities:
1- low power (<5uA) in standby
2- multiple inputs for power on
3- possibility for the uC to check which input triggered the power on
4- repeatable timer trigger (for an heartbeat)
So far I wanted to use the TPL5110 because it checks every points except point 3, ie I can't detect which contact triggerred the power. My circuit contains an ESP32 and the boot time is not short enough so I can check the contact state. This is why I wanted to add a 3bits memory which would be set when the contact is made, then read/reset by the ESP32.
I ended up using a 74HC74 flip flop as told in this post coupled with an OR gate made with diodes. The result circuit is like this (4 inputs version):
Pulling any of SET[1-4] to LOW will flip the associated TRIG[1-4] pin and leave it flipped until RESET. It will also flip the POWER_ON from LOW to HIGH (connected to the TPL5110). Then the ESP32 can read the TRIG[1-4] to check which input triggered the power on and use RESET to, well, reset the bits. If none of the TRIGs is HIGH, it means that the timer from the TPL5110 did the power on.
But as you can see it looks terribly complex!!! As you may have guessed, I'm not any kind of an electrical engineer. So if you think you have a better solution for my problem I would really appreciate you sharing it with me
Thanks for reading!
My goal is to power my circuit when one out of three contacts is made. It may be either from one button, one reed switch, one tilt switch and I want to be able to detect which one triggered the power.
I'm trying to design a power on circuit which would have the following functionalities:
1- low power (<5uA) in standby
2- multiple inputs for power on
3- possibility for the uC to check which input triggered the power on
4- repeatable timer trigger (for an heartbeat)
So far I wanted to use the TPL5110 because it checks every points except point 3, ie I can't detect which contact triggerred the power. My circuit contains an ESP32 and the boot time is not short enough so I can check the contact state. This is why I wanted to add a 3bits memory which would be set when the contact is made, then read/reset by the ESP32.
I ended up using a 74HC74 flip flop as told in this post coupled with an OR gate made with diodes. The result circuit is like this (4 inputs version):
Pulling any of SET[1-4] to LOW will flip the associated TRIG[1-4] pin and leave it flipped until RESET. It will also flip the POWER_ON from LOW to HIGH (connected to the TPL5110). Then the ESP32 can read the TRIG[1-4] to check which input triggered the power on and use RESET to, well, reset the bits. If none of the TRIGs is HIGH, it means that the timer from the TPL5110 did the power on.
But as you can see it looks terribly complex!!! As you may have guessed, I'm not any kind of an electrical engineer. So if you think you have a better solution for my problem I would really appreciate you sharing it with me
Thanks for reading!
Attachments
-
15.7 KB Views: 39
