A couple of issues come to mind:
- it sounds like your power supply might be overloaded, and
- you don't seem to have sufficient gate drive to the MOSFETs
What FETs are they? What is their Vgs threshold? What is their specified Ids at Vgs=4.5V? If the FET isn't driven hard enough, it will not turn on completely, and it will dissipate possibly significant power, causing overheating.
2.8V on the gate indicates that something is very wrong, e.g. the Arduino's supply has sagged or something else is pulling the pin down. Also, an IRF540 needs about 10V gate drive to saturate fully, so it's not appropriate to drive it from 5V logic unless you know your load current is below 10A under all conditions.