Fets look ok. I was just reading this:
“Overheating 5V regulator on the Arduino Mega
Unless you provide external 5V power or provide 5V through USB cable. the regulator on the Arduino supplies 5V power to the Arduino, the RAMPS (which uses very little) and anything else connected to it. With nothing else powered from the RAMPS, the voltage regulator will run quite warm but not overheat (in tests, I was even able to turn up the input voltage from 12V to 15V without overheating it). With a 20×4 LCD connected, it’s still OK with 12V input. However, if you power a servo or a graphic LCD from the RAMPS, then you will almost certainly overheat the voltage regulator. The usual symptom is that the system will not work unless it is connected to a PC via USB. Or the system may work for a few minutes, hours or days, then fail.
Workarounds include (a) removing D1 on the RAMPS and providing external 5V power to the Arduino/RAMPS; (b) driving the backlight of the graphical LCD from 12V through a series resistor instead of from 5V (a 120 ohm 1W resistor is about right for 12864-type displays), (c) using an Arduino variant with a more power full voltage regulator (e.g. Taurino).”
I understand half of it… but I think that what I should do is add another power supply to the Mega.
Maybe a cellphone charger? it’s 5vDC, and connect it to the Mega though the jack input.
I’m still reluctant to make a bridge between the -V and the Ground of the 12v power supply.
Mixing DC and AC doesn’t seem right.