# problem with my circuit

hi friends i need help .

Here i have pH transmitter and arduino uno board as well as current simulator which will provide 4-20 mA. My intention is to read pH values. The pH Transmitter provides 4-20 mA output when pH electrode (sensor) connected to it . The output of Transmitter’s current will be varied based on liquid.
Now i have dipped the sensor in 4 pH liquid. The output of transmitter converted into 1-5v by adding 250 ohm resistor. then the output voltage was connected to Arduino uno’s Analog ‘0’ pin. but the ADC readings are FLUCTUATING . For conforming the current , i connected multi-meter in series to transmitter. i was getting 8.44 to 8.78 mA fluctuations . but the ADC of arduino uno is reading values always fluctuating 0 to 1023 .

For above( pH transmitter) circuit diagram , it is available in attachments.
The pH range is 0 to 14.
first ADC bits are converted to voltage by using below formula.
voltage=(5*getbits)/1023;
then i converted voltage to pH.

And i have replace the pH transmitter with current simulator. i have adjusted output is to 8.4 mA. then output voltage is connected Analog ‘A0’ pin. that time i was getting constant ADC output.

For current simulator circuit diagram , it is available in attachments.

so if u find anything wrong in circuit or procedure pls let me know.

It may be worth adding a lowpass filter - the 4-20mA may be pulse width modulated.

Try a 10k resistor between the +ve end of 250 ohm resistor to the the arduino input, and add a 10uF capacitor between that and ground

regards

Allan.

hi Allan thanks for replay. i will try

regards venkatesh

i was getting 8.44 to 8.78 mA fluctuations . but the ADC of arduino uno is reading values always fluctuating 0 to 1023 .

That suggests that the ground you show in your diagram is not actually attached at the Arduino end. A filter will not help with this but maybe having one will be the path to spotting or correcting your mistake.

Have you looked at the signal from the sensor with a scope? the "4-20ma" was a common serial data used back in the TTY days and suggests possibly a serial protocol for the data - the fact that you say the A/D fluctuate from 0 to 1023 would be consistent with trying to measure a serial bit stream with an A/D converter.

One more thing:

In order to keep the ADC isolated from the current loop, try putting a high input impedance buffer (or voltage follower) between the high side of the resistor and the Arduino analog input.

This way, the ADC doesn't alter the amount of current flowing through the resistor. If you don't do this, it could cause some fluctuations in measurement.

This way, the ADC doesn't alter the amount of current flowing through the resistor. If you don't do this, it could cause some fluctuations in measurement.

Rubbish.

Qutoe Grumpy_Mike

Rubbish.

I concur.

Allan

hi guys thanks for replay . i did try all the ways . later i replaced uno with mega and set analog reference to 2.56v. 125 ohm resistor was used for converting voltage from 4-20 mA current. Now i am getting proper readings.

thank u guys for replaying

regards venkatesh

Uno will do the same if you use a 50 (2*100ohm parallel) or 51ohm (E24) resistor, and set Aref to 1.1volt. Wise to use a ~4k7 resistor between that resistor and the analogue input, and a 100n cap from analogue in to ground. That also kills the HF nasties. Leo..