So as you can see this circuit is designed to work with arduino 5V, however, I think I might see a problem.
In order to switch the P-Channel mosfets with arduino, 5V npn transistors are used to control 12v and 0V at the P-channel gate. However the N-Channel mosfet is just getting 5V or 0V at the gate. If I'm not mistaken, most mosfets are only just on at the threshold voltage. So doesn't this mean that you end up with "well on" P-Channel mosfets and "only just on" N-Channel mosfets, which I assume would lead to some problems? I know there are logic level mosfets that can operate fairly well at 5V but would this difference in voltage still cause problems?
If so does that mean you need 2 more npn transistors to supply 12V for the N-Channels?
Also hopefully someone can confirm whether I'm right with this but the R(ds)on of a mosfet varies slightly dependant on the current(Id, what is the d referencing?) and Vgs
The IRF630 is fine to up to 2A with 5V gate voltage. Why would you think that different gate voltages at the p- and n-channel MOSFETS would be an issue?
Well you kind of answered the question there? 'The IRF630 is fine to up to 2A with 5V gate voltage" if you were to try and drive something higher than 2A with only 5v at the n-channels and 12v and the p-channels gates then wouldn't that pose an issue?
Yes. That is why, based on your info, this H-bridge is only rated to up to 2A.
The MOSFET will get really hot at that value, BTW, because it only works at high (100°C+) junction temp.
Why don't you look for a design that suits your needs better? What currents do you expect? I don't know why the people you drew that chose those MOSFETs. Perhaps they where dealing with currents <1A.
In that schematic the n-channel devices are logic-level, the p-channel are not since you already have to
level shift to 12V anyway.
Normal modern H-bridge design is not to use p-channel devices, but all n-channel (more performance),
and gate/bridge drivers that bootstrap a supply to drive the high-side MOSFET gates - checkout the
datasheets for HIP4081A, FAN7388, IR2001 and many more to see how this is done. Such a configuration
can have arbitrary motor supply voltage as the topology doesn't care.
Also that circuit from the original post has shoot-through, which is not good - its important to switch
one device off fully before switching the other on, or massive current spikes are created from supply
to ground - with high power circuits this is usually enough to melt the devices