The voltage at LOAD+ has also to be higher than the reference voltage over the 1 Ohm resistor, plus some margin over the FET.
As the arduinoPWM signal can be between zero and 5V, LOAD+ should be always higher than about 6V, or so.
I did not check the Gate voltage requirements of this FET, but you also have to take care, that the necessary voltage can always be delivered by the LM324.
You limited the supply to 0 and 5V, so the output of the 324 may vary between 0.5 ..4.5V (check datasheet) only, and I really wonder, if this is sufficient for all U/I combinations.
So I would use a +/- 15V supply for the LM324, and also would use the unregulated V++, or +15V as the source for the constant current, not GND and the battery.
So, connect the battery-plus to +15V, or V++, and the battery-minus to LOAD+.
This will sink the necessary constant current through your battery under all circumstances, but you have to take care about additional power consumption, and the maximum UDS of the FET.
Frank