Thanks for all of the help!
I have replaced the 0.1ohm current sense resistor and it now seems to be working, still drifts down a little bit at heavier (2 amps+) currents but I can't really complain as the two green sense resistors get
very hot at these currents.
Never thought that the original resistor dissipating such little power could drift in value so much, but it was from maplins so go figure lol.
There was also a small grounding problem when the fan turned on. Its 90mA return current caused a small voltage shift to appear at the potentiometers, raising the set current by about 8mA.
I also managed to destroy a MOSFET, which went 130ohm between drain and gate (seems odd to me as drain to source is open circuit). I think it might have been rapid heating that caused it as I unintentionally turned the course potentiometer up very fast without knowing what current it would draw.
This was before I had thermally calibrated the fan activation temperature too, so it wasn't running at the time.
Picture of the monstrosity (please don't flame me for the warped strip-board
)
The waveforms all look ok, no oscillations on the gate or feedback loop and I had it running for a few hours yesterday drawing 2 amps from a 12v source and it was ok.
The relay you can see next to the load input was originally a range selector between a 1 ohm and 0.1 ohm current sense resistor, but I am going to turn it into some sort of thermal cut out since the 0.1 ohm turned out to be unsuitable. The 1 ohm "stack" does the job fine besides getting hot, so I am going to solder on a small fin to help out a bit with the heat dissipation.
TL;DR Replacing the current sense resistor fixed it, and for its intended purpose of being able to quickly load test the DC-DC converters I use in many of my projects I think it will be adequate.