I have planned a (quite complex) controller for a project based on a Raspberry Pi (web UI, logging, camera framegrabbing/video processing, LTE uplink), i2c sensors (assortment of environment sensors), an Arduino (for the i2c stuff that I am too lazy to write Pi-compatible code for) and a couple USB modules, and to add to the mix some components controlled using 12V relays - leading to three power levels: 3V3 (for some of the i2c stuff), 5V (Arduino, Pi, USB modules) and 12V (the stuff behind the relays). As power inputs I have the availability of 3x 5V via the microcontroller inputs and 12V, while 3V3 at the moment is coming off the RPi board and I'm not sure if I don't want to go above the 50mA limit there in the future.
Now, before I design a carrier PCB for the stuff that's basically one of a hellfire of breadboards and cables I'd also like to make the project portable and (at least for 10-20 min) uninterrupted from power failure, so I need a power management solution (preferrably already as an integrated IC?) that provides:
the ability to accept voltage from any of the inputs including all inputs be powered at the same time, including especially that there is no "reverse powering" - meaning that, if the microcontrollers are attached as slaves to an USB hub, that supplying power on the Arduino USB should not put power on the 5V rail of the USB input of the Raspberry Pi, thus providing power to the other devices attached to the hub of the Pi
a battery management solution (I'm open for anything battery-related that's not lead-acid batteries and takes care that the battery doesn't go above limits in charge/discharge currents or temperature)
safe handling of 12V in cars which can be anything from 6V or lower during engine start or way above 100V shortly after load shedding - I don't want to fry the project like I once did with a wifi router
stable high quality power (=neither the Pi nor its SD card should corrupt)
at least outputs of 12V@2A cont./6A peak (=motor startup) and 5V@5A cont.
if possible, short-circuit resistant to prevent my own clumsiness from blowing up the battery.
Naive me would solve this by putting a diode on each 5V input to prevent reverse powering, put a 12V-5V DC/DC step-down regulator to the 12V input, then join all the 5V rails together, use this as supply for a 20.000 mAh power bank capable of pass-through powering, and from its output power the 5V rails of the microcontrollers, a 5V-3V3 DC/DC step-down regulator for the I2C sensors and a 5V-12V DC/DC boost converter for the motors. That would however prevent me from catching the "no supply voltage, operating on battery" mode in one of the microcontrollers.
Is this enough or can I do better by doing all the power management by myself? If yes, how? Unfortunately I'm better at programming than at designing circuits.