Hello,
I would like to measure continuously a voltage drop on a resistor, with a sampling time < 10msec for a 1sec, then sampling of 100msec for the next 10sec (this is to simplify). Then repeat this cycle of measurement until pressing STOP button.
To go further, my resistance has a non negligeable TCR, so that when supplying a step voltage, it is self-heating. So I want to get the "voltage" herafter setting 5V (heating), and also heafter setting 0.1V (cooling). Heating duration at 5V ranges from 1sec to 10sec, idem for cooling. So basically, I need fast acquisition only during the first 1sec of heating and cooling.
My concern is how to get <10msec sampling using GPIB.
My setup is based on GPIB-USB-HS with VISA type communication using Labview 2012.
Voltage source (SMU) - 1 resistance (1kOhm) - GND.
I put 3 DMM between the source and the GND to measure simultaneously the voltage drop on this resistance.
Don't make comments on that stupid setup, this is just to simplify my problem.
The DMMs are Keithley 2182 (9 digits), Agilent 34410A (6 1/2 digits), HP 34401A (6 1/2 digits).
Agilent E5263A provides the voltage source between 0V to 5V, in DC mode. As SMU, I can also read the voltage and the current using GPIB commands. (no comment like I don't need DMM because of SMU voltage measurement etc etc ..; thank you).
The DMM are set to 4 1/2 digits in order to speed up the data acquisition using a minimal GPIB commands to each instrument. Rather than using existing sub-vi from the maker, I just send the necessary command, like READ?.
I use a Model 9700 to measure the temperature on a holder using a TC (just for information).
I measure the differential time between "before" sending the command and after reading the values. This is dt (msec). I expect to get the lowest dt, since I have no sampling time set on my while loop.
I also read the data, and display the indicator for each data, and also plot a waveform chart for each one. This is typically what I need. I agree that I can create a producer/consumer and enqueue the data then dequeue in a parallel while loop and display/graph. No problem.
SMU E5263A : dt = 5msec for reading Channel 1
34401 only (NPLC = 0.2) : dt = 23msec
34410 only (NPLC = 0.2) : dt = 16msec
2182 (NPLC =0.2) : dt = 33msec
Model 9700 : dt = 15 msec to read 1 temperature channel
But E5263 + 9700 + 34401 + 34410 + 2183 : dt = 45 msec
I can improve dt as I explained before (enqueue / dequeue and plot).
However, I think that I reached the limits of using GPIB for what I want to do.
I am wondering how fast could be the same data acquisition if I replace all the DMM by a DAQ-NI-USB-6251 and read the analog inputs (there are 8 channels available on the 6251 and 1.25MS/s) ?
Should I use an oscilloscope with a trigger, and output the buffered data for each cycle ?
Any other suggestion or example or link to similar topic ?
Yours