I am planning a project based on an Arduino Due and a lot of different devices (sensors, speech modules, displays and so on). The system will mainly be battery powered (8 x size D 1.2V), with the option to use a power adapter while the battery pack is being recharged.
I would like the Arduino to have full control of the system power, so it will be able to shut itself down should a critical situation occur, like low battery power, too high load current, or too high temperature. I would also like all shutdowns (even user instigated) to be controlled, so the system can save important operational parameters to EEPROM before powering down.
So, in the attached schematic I have tried to design a power control circuit for the system, based on a 5V relay. The relay is normally open (NO), which means no power to the system. The relay is activated (closed) by an Arduino output HIGH.
From the system OFF state, the Arduino has no power, of course, so the relay can't be closed. I have placed a push button to directly short circuit the relay long enough for the system to "boot up" and set the relay activation pin HIGH, after which the system keeps itself running, as long as that pin is held HIGH by the Arduino.
The push button is DPST (or DPDT), so I use the other poles to test for button presses while running, which will initiate a controlled shut down.
Before I start building, I would like to know if any of you have made similar (or most likely better) power control circuits? And if mine is completely insane and full of errors and will most likely explode when powered on?
Also, is using a relay stupid? Could a simple MOSFET do the trick and at much lower current loss?