Millivolts measurement output from Ampere clamp transducer.

Hallo to everybody.

I am trying to measure millivolts from Ampere clamp transducer output.

The clamp is Mashtech MS3300 which measures both DC and AC currents and outputs millivolts DC.

http://www.p-mastech.com/product/detail/391

This clamp outputs 1mV Dc for 1A up to 1000mV.
The clamp works fine when connected to multimeter .

BUT

When i am trying to read it's output with arduino I get zero readings.

What I am doing is connecting Clamp's black cable to arduino;s ground and red cable to A0 .
I use the vary basic analogueread sketch but the only I get is 0.

Please any suggestions?
Thanks

Hi, and welcome to the forum.

Are you trying to measure AC or DC. and how many amps.

If DC.
The Arduino, unlike a DMM, can only measure positive voltages.
No reading could mean that DC current in the clamp is going the wrong direction.

If <5Amp.
No reading either. One A/D step with default Aref is ~5mV.
Switch to 1.1volt Aref in void setup(), and you might be able to measure in 1Amp steps.

If AC.
Nothing happens, unless you lift the Arduino input mid-voltage with a voltage divider, add an input cap,
and use code that can read AC.
Leo…

Thank you for response.

The current I measure is AC.

The Analogue reference is set to INTERVAL 1.1.

The clamp outputs 1 - 1000 mV

So what i have to read with arduino is mV.

I apologise for not undertanding the above part:

"unless you lift the Arduino input mid-voltage with a voltage divider, add an input cap,
and use code that can read AC"

When using your DMM, do you have to set your DMM to DC-volt or AC-volt to measure AC current.

It seems that the clamp outputs a DC volt according to the specs.
Then a simple voltmeter sketch with 1.1volt Aref should work.
Post your code (inside code tags).
Leo…

To measure AC current i set DMM to DC volt because the output of clamp is DC.

This is the minimum code, I use without conversion to millivolts. Just reading the raw input.

const int analogInPin = A0; 


int sensorValue = 0;       
       

void setup() {

  analogReference(INTERNAL1V1);
  Serial.begin(9600);
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);
  // print the results to the serial monitor:
  Serial.println(sensorValue);
   delay(250);
}

That should work with currents above 1Amp (~one A/D value per Amp).
How big is the current you're trying to measure.
Leo..

I measure above 2A. Testing with anther Dmm same time. I thought it may was something wrong with the connection. I can't think something else...