11-05-2024 04:08 AM
Dear NI Community,
I’m seeking advice on resistance measurements using a PCI-6014 card paired with a BNC-2120 interface. My setup closely follows an NI guide on resistance measurement using a multifunction DAQ, but I've encountered unexpected results and would greatly appreciate any insights.
Setup and Measurement Approach
Following the guide, I connected two resistors in series and measured the voltage drop across each resistor using two differential inputs. I performed a voltage sweep from 0.2 V to 4 V, with measurements taken using a Python script built on the nidaqmx library. I included a 0.15-second pause between each voltage increment to ensure stability.
The reference and test resistors have values of 99 Ω and 468 Ω, respectively. My results are attached, showing three main plots:
Observations
While the calculated resistance seems to converge on the expected value of 468 Ω, I am observing frequent, highly reproducible voltage jumps with increasing voltage. These jumps also appear to coincide with "spikes" in the derivative of the voltage drop at the reference resistor. Notably, these spikes have a nearly consistent step size and appear at regular intervals.
I am trying to determine the cause of these anomalies and whether they can be eliminated. Could these jumps and spikes be an inherent characteristic of this measurement method, or might they stem from the hardware setup? Is there any additional technique I could try with my hardware to mitigate this issue?
Steps Already Taken
To troubleshoot, I have:
If anyone has experienced similar issues or has insights into potential causes or solutions, I would be grateful for your input.
Thank you in advance for any assistance!
Best regards,
Koibert
Solved! Go to Solution.
11-05-2024 10:23 AM - edited 11-05-2024 10:25 AM
I suspect you're seeing some kind of regular characteristic of the device's ADC conversion circuitry. Possibly as simple as the LSB of the conversion, but perhaps a different bit. Note how the size of the step in your calculated ratio keeps decreasing as you increase the voltage in your sweep. This corresponds to the relative influence of a given bit on the overall reading -- i.e. a signal-to-noise phenomenon.
Speaking of noise, your individual derivatives look rather noisy. At some level, that's just the nature of numerical derivatives, but there are ways to reduce noise via filtering or averaging (which is also a kind of filter). What have you done to reduce the influence of this noisiness?
-Kevin P
[Edit: P.S. Posting your code may help. Please "Save for Previous Version" back to ~LV 2020 or earlier before posting.]
11-05-2024 02:05 PM
Your resistive divider is providing an output of a few millivolts, you may be up against LSB resolution and noise issues.
Try to use the lowest voltage range allowable on your DAQ HW.
-AK2DM
11-12-2024 05:52 AM
Dear Kevin and AK2DM,
Thank you both for your helpful responses! I had initially suspected this might be the issue, but your replies have made me much more confident in this conclusion.
Regarding filtering, I currently don’t have any specific filtering routines in place. The closest approach I’ve used is averaging the samples from my measurements. Unfortunately, I’m unable to share the code being used.
In the meantime, I’ve performed additional measurements. I found that increasing the reference resistance significantly mitigates the issue, resulting in finer, less noisy measurements. For this, I also had to double the applied voltage. This also seems to support the idea that the LSB or another bit might be contributing to the problem.
Thank you once again!
Best regards,
Koibert