I am working on a battery charger/discharger. I am now looking to enhance it to support discharging at various rates (i.e. currents). I would like to have some way to control this discharging current programatically from the Arduino in increments of about 50 mA ranging from 0 mA to around 500 mA. The voltages involved will be in the 0.4V to 2.0V range.
A useful solution would be where I can output a PWM signal from the Arudino which contains the information on the desired current. Then I need to have a circuit that can react to this signal. The question is how the circuit should work. Conceptually, it should be like a variable resistor, accepting the input from the Arudino. I have searched a bit around and found some suggestions of using a power MOSFET for this purpose. But I am wondering if a general MOSFET could be used or a specific one. I havent found a MOSET with a data sheet giving an exact current for given gate voltages, which seems to be a requirement in order to employ the MOSFET for this purpose (at least naively, with the gate current coming from the Arduino). Anyone who has any suggestions? Either with the MOSFET space or something completely different?