Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

pH measurement using a USB-6002

Solved!
Go to solution

Dear all,

 

I am trying to connect a Hamilton EasyFerm PLUS PHI S8 120 pH electrode to a USB-6002 DAQ device using a 1 m pH Cable S7 / Open End cable (also from Hamilton). The electrode is currently connected with the signal wire (+) to AI0 and the reference wire (-) to AIGND with the input being configured as RSE in LabVIEW. While I'm able to calibrate the electrode to give a proper pH measurement for the corresponding buffer solutions, the pH measured for one of my samples is far off the actual pH (pH 7.10 measured with this setup vs. pH 4.8 measured with a calibrated pH meter with a comparable electrode). Furthermore, very long settling times and signal drift can be observed.

 

Concerning the full setup, a laptop and a LabQ peristaltic pump are also connected to the DAQ device. Currently, the only signal conditioning done to the pH signal is averaging over 10s.

 

Would adding an op amp or unity gain buffer in line in between the pH electrode and DAQ device help? Or is using a electrode with a built-in pre-amplifier more recommended? I tried to orient myself according to this article:

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019MsvSAE&l=en-CH

0 Kudos
Message 1 of 11
(876 Views)

You need some signal conditioning in between the raw pH electrode and the DAQ.

 

Adding a unity gain amp (buffer) will help make the measurements better as the electrode output impedance is very high.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
Message 2 of 11
(862 Views)

Thanks for the quick response. Do you have any recommendations concerning components? I'm fairly inexperienced with electronics & circuits so any input will be very helpful.

0 Kudos
Message 3 of 11
(843 Views)
Solution
Accepted by topic author AtlasCH

@AtlasCH wrote:

Thanks for the quick response. Do you have any recommendations concerning components? I'm fairly inexperienced with electronics & circuits so any input will be very helpful.


In that case, you can get something like this https://bc-robotics.com/shop/ph-sensor-amplifier/

https://www.amazon.com/Sensor-Electrode-Module-Arduino-Detection/dp/B0DYDBSQNV?gQT=1

 

If you buy this, you can directly connect it over USB and collect data in LabVIEW.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
Message 4 of 11
(811 Views)

The pH sensor amplifier/module seems like an optimal solution to my problem. I can get the full kit with the sensor to test the viability and then get a S7/BNC cable for my current electrode if it is a viable setup. It also only requires 5 V DC which can be supplied by the USB 6002 itself so the setup will still remain compact. I will definitely try this approach.

Thank you so much for the input, this helped me out a lot.

0 Kudos
Message 5 of 11
(797 Views)

Quick update: I got a pH sensor amplifier (nearly) identical to the one you linked and did some tests today. Calibration with pH 4.01 and pH 7.00 was quick and smooth and also the check at pH 6.0 was fine but once again, as soon as i dip the electrode into the sample solution (containing protein) the pH reading seems to spike and take forever to settle while also oscillating a significant amount:

AtlasCH_0-1745332469751.png

I connected my pH electrode using a S7 to BNC cable to the amplifier and connected the AO and AOGND pins of the amplifier with the AI0 and AIGND channel of the USB 6002 respectively using jumper cables. For power supply, I connected the V+ and GND pins of the amplifier with the 5V and DGND channels of the USB 6002 respectively.

 

I redid the measurements after restarting the LabVIEW application and started with the sample and re-checked the calibration buffers in descending order of pH (7.00 -> 6.00 -> 4.01) before dipping the electrode back into the sample. The measurements seem to stabilize quickly at the correct pH level now but oscillations are still visible albeit less intense as before:

AtlasCH_1-1745335056007.png

What could be the cause of this issue and is there a quick and easy way to fix it?

0 Kudos
Message 6 of 11
(682 Views)

I managed to identify the issue: I was using a second pH electrode connected to a pH meter to check the accuracy of my setup and it seems like the second electrode was the source of the interferance as the measurements afterwards were stable and accurate.

Message 7 of 11
(610 Views)

Hi man, would you be willing to share the LabVIEW code? 🙂
I'm also new and struggling.

 

Thanks!

 

0 Kudos
Message 8 of 11
(168 Views)

Hello,

 

I am quite new in labview and I fight with pH measurement.

Could you share pictures or reference of what you install with your Ni USB6002 to get the correct pH measurement (amplifier) between the probe and your USB6002.

Thanks a lot

0 Kudos
Message 9 of 11
(104 Views)

Hi, sorry I can't show the code since I no longer have access to it but in general if you only want to measure and read the pH value it is quite straight forward: Just define a DAQmx create virtual channel node with the corresponding physical analog input channel of the DAQ device you're using, min & max values + units and the input terminal configuration. You can then send task out and error out to the corresponding DAQmx Start Task node and then to a DAQmx Read node within a while loop. from said node you can take the data output and do some simple calculations to get to the pH from e.g. volts, given that you have a ph calibration function to give you a slope and intercept of the calibration line which you will need for the calculations. You can then again take the task and error out of the node and send them to a DAQmx Stop Task node, followed by a DAQmx Clear Task node, both outside of the while loop.

 

Hope this helps, let me know if you need more details 🙂

Message 10 of 11
(70 Views)