# Arduino: measuring current: use a current shunt monitor 1

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.

### 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. ### Downloads

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

## Ein Gedanke zu “Arduino: measuring current: use a current shunt monitor”

• Klaus Mewes

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.