Measuring current with an Arduino or any other microcontroller is not as simple as measuring voltages directly with the Arduinos/microcontrollers ADC.
In most cases a designer would use a current shunt amplifier/monitor.
At first I started with the MAX9634F current shunt amplifier (CSA) in my design. The company Touchstone Semiconductor offers a pin and specification equivalent alternative to the Maxim part, the TSM9634T. Touchstone also offers an improved version of this amplifier, the TS1100. It has a much lower offset voltage then the MAX9634F/TSM9634T.
Datasheets
http://datasheets.maximintegrated.com/en/ds/MAX9634.pdf
http://touchstonesemi.com/products/tsm9634
http://touchstonesemi.com/products/ts1100
Schematic
This design uses a current shunt monitor (e.g. TS1100-25) with a gain of 25. The output voltage is:
V_out=I_load x R_sense x R_out/R1,
with
R_sense = 0.08 Ohm
R_out = 10k Ohm
R1 = 400 Ohm
Arduino Code
Here is a sample code, that you can use in your Arduino.
[cpp]
int ADCpin1 = A1; // ADC1 for current shunt measurement (via TS1100)
void setup()
{
}
void loop()
{
current = analogRead(ADCpin1);//*5000/1024;
//calc current: Vout=2V equals 1A
current = current*5000;
current = current/1024;
current = current/2;
delay(1000);
}
[/cpp]
Wiring Diagram
This is how you connect the CSA to the Arduino and the load. I measure also the voltage at the load, via the Arduino Analog Pin A0.
I thought you have to divide by 1023 (full count 10-bit) to convert the A/D reading? Perhaps a typo?
Where can I get this circuit board?
Thanks for the post.