I'm using a setup with a BNC2110 connector box and a PCIe-6361 DAQ card. What I do is that I generate a signal using the 6361, let this signal pass through some components (the goal is to measure a distance between to foils using the capacitance), and I then digitilize this signal using the 6361. I've made a small vi to do this and it works well. I want to model the response of the system, which I can do quite well if I use a oscilloscope to read the signal and not the PCIe-6361. If I connect the signal to the BNC2110 it no longer matches my calculations, surly because I've misunderstood the inner workings and hence I don't get the input impedance right. I include a small pdf that shows what I have. The Rut is the output impedance of the 6361, and the Rin+Cin is the, as I understood, the input impedance. I use the AO0 and AI0 outputs and inputs. The BNC2110 switch for grounding is on floating source position (the sheilding of the coax cables are cut at the "Cplu"). However, it seems to me I missunderstood the input impedance of the 6361... So the question is, how can I model the input impedance of the BNC2110+6361 system?
As a signal I generate an exponetial decay with a decay constant of 50 micros. I include the vi as well.
Well RTFM helps 🙂
You have a 100k source impedance, take a look at the settle time error spec !
However: Seems that you need to measure the input impedance by yourself.
Your AO with a square wave or sweeped sine and a 1M R and 10M R to the AI can give you some hints 😉
Use the same DAQ configuration (samplerate and setup of the other channels) you migth find some strange results because of the multiplexed input.
BTW: Why do you implemented the R2?? As a protection? reduce R1 to get into the 100mV range and add two 1N4148 antiparallel to R1 and cancel R2
I would add a external buffer amp near the sensor cap and use triax cable with a driven shield to the sensor cap, or apply a sine to one end of the sensor cap and use a charge amplifier topology 🙂
thanks for the info. I have a rather fancy setup with amplifiers, pulse generators etc worth some 20kEuro that I want to get rid of... So I did a small circuit that "shapes" the exponatial signal. In its most simple form it is a high-pass + low-pass filter. Cplunger+R1 highpass R2+C1 lowpass. Of course, since Cplunger is variable I get quite ugly pulses with undershoots and whatever but I dont care since I have known and low enough repitition rate (1kHz max...). Trying this setup with different caps I get something that is very stable in time and temperature and nice correspondes between Cplungar and measured peak-to-peak by the 6361. Which is what I want.
As for a buffer amp... I was hoping I could do without. Simple is simple is simple. With an amp I need extra power etc. Maybe I could piggyback on the +5V of the BNC2110, and use some low voltage high quality op-amp as buffer together with some clever little positive becomes negative voltage reference.... However, I have a buffer amp sitting next to the rest of my setup in nim crate. So it is easy to the check if it does the trick.
I agree with Henrik that the best choice might be to measure the impedance. Disconnect the plunger and connect a signal generator with known characteristics at that point. Measure the response. Adjust R1, R2, and C as needed to get close to what you want.
What is the range of capacitances that you expect for Cplu? What frequencies will you be using to excite the system? How fast do you need to make measurements? What will your do with the results?
In looking at your VI I see some things which raise questions:
1. Sequence structures are rarely needed in well-written LabVIEW code. Yours can be removed with no change in functionality. If you do not understand why, please read up on dataflow.
2. The sample rate is set to 1 MHz and you read 1000 samples on each iteration. It is quite likely that your loops will not be able to sustain that rate. Writing to file, creating histograms, and displaying the data on graphs all might take more than 1 millisecond. Similarly, repeatedly starting and stopping the DAQmx Read tasks will consume some time. Consider continuous acquisition and a Prodcuer/Consumer architecture. The separate consumer loop will buffer the data for writing to file and for display so that slow timing there does not limit the acquisition.
3. Although a cosmetic and not functional issue, right to left wiring and wiring with as few bends as possible is much easier to understand and to troubleshoot.
As for the vi, all tips are welcome. It is the first one I ever made and I tried stuff until it worked well enough to test the hardware part. It is indeed in need of some LabView knowledge. I'm a physisist trying things out to cut my budget a bit... It would be nice to only plot the first shape in each iteration, not do the start/stop etc. This was the first way I found that garantees that always sample with the same timing compared to how I generate my signal.
As for the input impedenace, I'm a bit pussled there is not an answer in the form Z=... but ok. I'm used to nuclear physics instrumentation with nice preamplifiers that drives the 50 ohm input impedence of the next step without a problem. A general purpose multiplexed ADC/DAC board is another kind of beast I guess.
The range of capacitances is some 10s to some 100s of pF.
thanks for the help
General purpose devices such as a multifunction DAQ card and a connector panel can be used in so many configurations that it is almost impossible to fully specify the input impedance in a way that would be both meaningful and accurate. Consider Figure 4-4 of the X series User Manual:
The Mux (multiplexer) is a switched capacitance circuit. The terminal configuration box has more switches. The PGIA (programmable gain instrumentation amplifier) probably has more switches to select gain ranges.
If you are scanning multiple channels, several of those switches change state every time a differtn channel is selected. There are capacitances to charge, charge injection from the switching process, and (probably) small changes in the exact resistance and capacitance as seen from the input.
The nuclear physics instrumentation with which you are more familiar probably has a fixed preamplifier with well defined 50 ohm input impedance and any range changes are done after the preamplifier where they have no measurable effect on the input impedance. It also costs an order of magnitude more.
Capacitive sensors are difficult to measure with remote instrumentation for the reasons you have discovered. It is hard to accurately characterize the stray impedances and to keep them sufficiently stable. All of the "fixed" capacitances in your model are of the same order as the capacitance you want to measure and are larger than the minimum capacitance. Suppose you have a random error of 5% in the estimation of each of those. What does that do to your measurement? Just moving the cables around could change the capacitance by a few percent.
The way MEMS sensors get around the stray capacitance issue is to place some of the signal conditioning circuitry on the same piece of silicon as the sensor. That may not be an option for you, but the concept is worth consideration.
Possibilities: Place an oscillator at Cplunger and measure the frequency change. Try a bridge configuration where the stray capacitance affects both sides (approximately) equally. Reconfigure to use lower capacitance cables.
I will think about this and see if I can make a more specific recommendation.
Another note on your VI: You should use the same sampling rate for the Waveform Formula.vi which generates your pulse as the sampling rate on the DAQmx VIs. For the formula you used the frequency input does not matter but the sampling frequency and the number of samples do. read the Detailed Help for Waveform Formula.vi. Look at the attached VI.
things are not as compilcated as they seem to be. I actually calibrate the distance-capcaitance, using the capacitance to do feed back to keep a distance of some 10s of micrometers constant within some tenths of micrometer. This means I can calibrate before each experiment, and each experiment is a week or so. So I need a setup stable in time over a week, and temperatur changes during experiment. Having tried my simple setup I have tried moving cables etc and its does not disturb to the point that I care, that is changes are smaller than the error I tolerate. I'm more worried about
1 Stability in time/temperature
2 Noise - we do experiments close to high voltage accelerators, large vacuum pumps, with vibrations etc.
To let you know more in detail what I'm trying to do. I'm trying to replace this scheme (the X1 amp is actually before the ortec 571) included with as few and cheaps parts as possible. This might not be possible but I feel it should be...
Each box is a few thousands of dollars and a nim create and something that can break etc... The BNCPB5 is a high precision normally used in nuclear spectroscopy, the ortec 571 is a shaping amplifer (exp signal to semi-gaussian) and then some boxed to create a gate for the NIe6361 daq. The E861 is a controller of a piezo motor to do the feed back
again, thanks for your interest
Well, here is a simple capmeter that do a C to Frequency conversion: if you replace the 3.3nF with a 1nF MICA(!) and use metal resistors and stable supply voltage this is worth a try!
You can use perf board but if you have a small metal box and a BNC outlets just glue the DIP dead bug to the housing and and air wire the 6 components 😉
EDIT: Here ist a ready made layout: http://www.gaedtke.name/programmieren/kondensatoren-messen-mit-der-soundkarte
the page is in german, however the pics tell everthing 😉
you can use nearly anything to measure the output frequency, timer or AI of the DAQ, soundcard, or even the CTS-input of a RS232
Get this circuit close to your foils, provide a stable supply (maybe an extra 78L05 )