Everything works perfectly well and following the expected in the simulations on MultiSim.
This is what the test-version of my circuit project looks like:
I made this version of the circuit to correctly bias the MOSFET's and to get the DC operating points correct before connecting the sources together to use it as an power amplifier.
In the simulation, the VGS of the IRF530 is 3.6 V, the VGS of the IRF9530 is -3.3 V and the voltage between the sources (the voltage over the output resistors) is 0.26V.
It works fine as an amp (in the simulation) when injecting signal on the base of that BD140. No distortion nor frequency-related problems.
But that's what I got when making the actual circuit:
Ps.: In the actual circuit I use an IRF540 and an IRF9540 instead.
I got the voltages the same at the gates of the mosfet's, but now the output is totally different.
The VGS on the IRF540 is 3.2 V, but the VGS on the IRF9540 is 20.5 V (positive, which is even worse).
Somewhy, the IRF9540 seems to be completely allowing current to flow between its Drain and its Source, the voltage between them is reading 0V even in the milivolt scale of my multimeter (And that's why VGS on it has the same value as VGD).
I also tried to simplify things to see if it had some kind of instability, I did this:
In this circuit (in the simulation), by adjusting the potentiometers to get the same values on the mosfet's gates as before, it works exactly as it did before.
In reality... I get the same exact behaviour it had in reality before too. Still the same problem.
I also tried playing with the potentiometers and found no point where the circuit behaves minimally similar to the simulations. The VGS of the IRF9540 is always positive and it's always conducting even with at a positive VGS.
Both MOSFET's are mounted in a heatsink and I checked for any kind of faults in the circuit - Everything is correct.
I also replaced both of them and nothing changed, they're not malfunctioning.
According to the simulation, nothing even close to that should happen even if the values were a bit off.
So, any ideas?