As noted here, there’s a difference between the current setpoint (controlled by the PWM analog outputs) and the measured values. As it turns out, there’s a better way to look at those datapoints.
This is a graph of measured current against the setpoints. Looks pretty good to me, apart from a teensy offset error. There really isn’t much in the way of a gain error over the entire range.
Having had a bit of time to think this over, the measured current-sink current should generally be numerically equal to the setpoint value, simply because there’s an external op-amp forcing that to be true. The twiddlepot adjusting the op-amp gain doesn’t enter into this, because the loop forces that voltage to match the PWM output. So, duh, the purple line should be spot on, at least up to the point where the sink transistor saturates.
What’s more interesting is that, over this range, the MAX4372 output is also spot on, which is not obvious from the previous chart. It flattens out when the common-mode voltage at the sense resistor drops below a volt, more or less, which is what the datasheet leads you to believe.
The datapoints comes from the same panel on a different day, so the points don’t quite line up if you’re comparing them. The brown solar panel voltage curve flattens out when the current sink transistor saturates, but the panel can continue to supply increasing current into a dead short, so the current continues to rise for a bit.
After I get the Circuit Cellar column laid to rest, I gotta figure all this out from first principles, then run the current up to 300 mA from the dreaded bench supply.
But the short answer seems to be that the Schottky protection circuitry doesn’t have much effect up through 75 mV. Which seems reasonable, come to think of it.