Electronics > Beginners

Push button power circuit for Arduino... trying to modify it for 12V input

(1/12) > >>

doublec4:
Hi All,

I found this circuit that allows for the use of a momentary push button to power on an arduino and then the arduino provides the "hold" signal to continue the power latching on.

I have an application where I will have a ~12.6V input power from (3) 18650 batteries in series (when fully charged). Unfortunately there are a few components not rated for this type of input voltage (max 8V). I have tried to find equivalent components with a higher max input voltage... so I replaced the TPS27081A with a Si3865DDV... same foot print and pinout... I also replaced the P channel mosfet FDV302P with BSS84 so that the max GS voltage is above 12V.

I think that should do it... however, based on the circuit in the link I provided it would seem that when the pushbutton is pressed and the p-channel mosfet gate is pulled low, the "BTN" line that would go to the Arduino would see my battery voltage of ~12V ? It would also seem that pin 5 (ON/OFF) of the TPS27081A (or in my case the Si3865DDV) would also see the 12V ? The Arduino can only handle 5V input and the Si3865DDV can handle up to 8V on pin 5...

Am I understanding this circuit correctly? I don't want to fry either of them...

If I put a resistor ahead of the supply pin on the P channel mosfet, would it work with R2 to create a voltage divider? I'm just not sure what effect R1, the diode, and R3 would have on trying to create this voltage divider to get down to 5V

If anyone can help me out with these few details I would really appreciate it!

Thank you

MarkF:
First:
The max input voltage of the Si3865DDV is 12V.  It would be suitable with a 9V battery.
But, your 12.6V battery is too high and you would not drive the input to its max voltage.

Second:
i would put something together with discrete transistors instead.  This could be a starting point.

Edit-  A little more thought.

Peabody:
I have no experience with parts like the TPS27081A, and don't really understand the example circuit.  But it looks like you are right about excess voltages being applied to inputs.  I don't have a solution, but offer the attached circuit which is a simpler approach.  Perhaps it will give you an idea of how to solve the problem.  For example, you might look at moving the BTN input over to the push button, but protected by a diode, so in effect it is active low instead of active high.  Did the example circuit ever work with an Arduino at anything above a 5V power source?

doublec4:
Thanks to both for the reply. So it seems that with both of these solutions they could work. Searching google for more "latching power" circuits I found a few more examples:

https://randomnerdtutorials.com/latching-power-switch-circuit-auto-power-off-circuit-esp32-esp8266-arduino/

https://electronics.stackexchange.com/questions/193641/simple-inline-latching-power-switch

However, with all of these examples looking similar in approach, it would seem that once the circuit is powered on, pushing the button would not yield any change in "input" to the micro controller.

I'm trying to have one button that would serve as the "ON" button, and button presses after could still be read by the Arduino to perform other functions. Finally, the "long press" would turn the device off. The long press would be handled by software and then killing the pin that is holding the transistor on, so that doesn't really have anything to do with the circuit.

MarkF:
Take a look at this circuit.  You would need to regulate your 12V battery to 5V before this circuit.  LM7805 and a few capacitors to feed it.

http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/electronic-circuits/push-button-switch-turn-on/microcontroller-latching-on-off