Question: can I use arduino as a current source?

Hello,

Sorry for sounding like a complete newbie (but I am). I've just discovered arduino through google. Can I use it as a constant current source?

Basically what I want it to do: supply an (dc) output of x miliamps. It would be directed/connected to a sheet of a semiconductor.

And the other side of the sheet would be measured and recorded(also by arduino)for the voltage drop.

Now the second part (V) is not so critical, I can just use and external multimeter, but can I use arduino the way I want for the current source. If so, I've read it can only output as much as 20-40 miliAmps. If I wanted to go higher, say 500 miliamp and higher, can Arduino do that? If not, are there any similar alternatives?

Thanks

The absolute max for an Arduino I/O pin is 40mA and I reckon 20mA would be a wiser upper limit.

If you require a higher current you need an external power supply and perhaps use the Arduino to switch it on and off with a small transistor.

You need to tell us exactly what semiconductor you want to use and post a link to its datasheet.

...R

Robin2:
The absolute max for an Arduino I/O pin is 40mA and I reckon 20mA would be a wiser upper limit.

If you require a higher current you need an external power supply and perhaps use the Arduino to switch it on and off with a small transistor.

You need to tell us exactly what semiconductor you want to use and post a link to its datasheet.

...R

Perhaps I should have been more clear with how things will go. I want to use arduino>point probes for sourcing the current. The tip of the probe will be put on silver paste> which is on a thin graphene film> which is deposited on a PET/PE polymer slide. There is no data sheet as the film is homemade. So this set-up (or idea of) is specifically for measuring the sheet resistances without having to invest in expensive sourcemeters.

Some more questions:

  1. Is the current output controlable? Can I tell it to start the output at 1mA (hold it for a certain amount of time) and continue to 20mA with a step of 1mA?

  2. If the pin can only put out a safe 20 mA, that means I probably need some extensions ('shields'?) that could output more and be controlled by arduino (as you said?) These would be powered by a socket adapter? Are extension like these available? If so can I control them also as in 1) ?

Like so ?

If you want current source Arduino is not a good choice. As I understand it you may control the current source manualy, you don't need brains in the source. You can use a linear regulator as the current source and use potentiometer to control current (provided you have source of voltage high enough to force the current you want).

I think if you want to make it automatic you can use the same setup: linear regulator + digital pot. I am not sure if there is some IC which acts as digitaly controled current source.

Smajdalf:
If you want current source Arduino is not a good choice. As I understand it you may control the current source manualy, you don't need brains in the source. You can use a linear regulator as the current source and use potentiometer to control current (provided you have source of voltage high enough to force the current you want).

I think if you want to make it automatic you can use the same setup: linear regulator + digital pot. I am not sure if there is some IC which acts as digitaly controled current source.

Sorry, I'm a complete newbie in everything electrical so linear regulator/digital pot is something totally unknown to me. The arduino seemed like a good option since its already capable of current output (which means I don't have to learn to wire anything from scratch!) and I just need to tell/code it do source the amount I need. On a side note, I've google people manage to amplify the signal with the help of using transistors. Could I use something like this?

Basicly Arduino can supply voltage, not current. It will try to pull the pin to 5V. If there is a connection to ground it will TRY to supply enough current to get the voltage to 5V. But if the connection has too low resistance it will try to supply more current then it can handle and damage itself. Thevlimit of pins is not what it will source but what YOU can let Arduino to source.

Try to look here: Using a Linear Regulator to Produce a Constant Current Source | Analog Devices
It will show you how to use regulator as current source.

Why do you need constant current anyway? What about connection

5V --- known resistor --- unknown resistor --- GND

Measuring voltage on the unknown resistor you can get its value. By changing the value of the known resistor you can measure resistance at different currents/voltages. Again no need for Arduino here until you need to do many of such measurings and you need to automatize it somehow.

It might make more sense to use a separate power supply for the experiment - one that can be controlled in whatever way the experiment requires. Then just use the Arduino to collect data.

AFAIK you can buy workbench power supplies that allow control of both current and voltage.

...R