Posted Tue, 25 Apr 2023 12:08:38 GMT by Lecor, Alioune
<p>Hello,</p> <p>I currently need help to perform a real-time acquisition of very low current data at a high speed of 100 measurements per second using Labview software and a KEITHLEY 6485 picoammeter with a GPIB.</p> <p>Currently, I use a method that allows me to read 100 measurements in one second and display them on Labview, but my goal is to display these measurements in real-time on Labview. I have included a copy of my VI for reference.</p> <p>I am looking for solutions or advice to achieve this goal. Any help would be greatly appreciated.</p> <p>Thank you in advance for your help.&quot;</p>
Posted Thu, 27 Apr 2023 13:58:43 GMT by Molina, Federico
Hello Ali,&#160;<br> <br> Please see the attached .VI.&#160;<br> <br> Real Time Data.vi uses the READ? command in a loop to trigger the instrument and get 1 reading at the time and displays it. This approach is not one I recommend for a few of reasons:&#160;<br> 1) Triggering the instrument every time you take a measurement will increase measurement time in the long run. Even though it's a software trigger, there is some overhead that will add up in the long run.&#160;<br> 2) At a fast-sampling rate, seeing the live data might be complicated as numbers are changing so fast.&#160;<br> 3) Because I'm getting 1 reading per trigger, I'm not using the internal buffer of the instrument, so you'll need to append your readings to an array or stored them somewhere else.&#160;<br> <br> 6485_FastestMeasurement.vi is a more standard solution where the data is stored in the buffer and requested at the end of the test, similar to the .vi you posted. In this case, using the instrument's buffer and only sending 1 trigger to initialize the test is preferable as you already loaded all the settings, and the instrument will keep running without additional stop-start steps.&#160;<br> <br> In the end, both approaches are doable. It comes down to your application needs.&#160;<br> &#160;
Posted Fri, 28 Apr 2023 09:44:08 GMT by Lecor, Alioune
<p>Hello Molina,&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; thank you for your help. However, the time between two measurements is enormous compared to my application despite my attempts to speed up the execution rate of the pico-ammeter by changing the NPLC to 0.01. Currently, I only retrieve two measurements every second.</p> <p>As a reminder, in the context of my application, I need to measure the current of piezoelectric films when they are subjected to compressions at a frequency of 7 Hz. Indeed, the time between two measurements is very important compared to my needs (I need to retrieve 100 measurements every second at least) and display them in real-time on LabView.</p> <p>However, I have an attached program that allows me to retrieve the 100 measurements every second and display them in real-time on LabVIEW. Unfortunately, these measurements do not seem correct to me, as the first measurement I retrieve is on the order of hundreds of microamps in a vacuum, while the subsequent measurements are on the order of tens of nanoamps.&#160;So from my application I will recover only some nano ampere.</p> <p>Therefore, I am looking for help in solving this problem. Any suggestions would be greatly appreciated. Thank you in advance for your help.</p>
Posted Fri, 28 Apr 2023 14:46:16 GMT by Molina, Federico
Ali,&#160;<br> <br> Please review the following modified .VI<br> <br> I'm using FETCH:DATA? at the end of the test to save the full buffer after taking single readings with READ? and storing the buffer on the computer.&#160;<br> <br> Looking at the timestamps, stored on the I/O file, I'm getting a time between readings of 95ms, which is close to the programmed 100ms between reading.&#160;<br> <br> As for the first measurement being out of the expected value, this is due to transients when disabling Zero Check. Due to Zero Check being a switch that connects and disconnects the measurement circuitry from the input connectors, disabling it will generate that spike before the measurements settle.&#160;
Posted Wed, 03 May 2023 15:54:14 GMT by Lecor, Alioune
Hello Molina,<br> <br> In fact for my application I need to go much lower than 95 ms between two measurements because I can't get all my desired current peaks. I need at least 10 ms between two measurements. Since I apply constraints every 333 ms on my sample to have current peaks in order to be able to store energy. Since I cannot synchronize the test bench and the abview, the ideal would be to have the time between two measurements in 1ms to be sure that I can measure all my peaks with precision.<br> <br> <br> Do you think this is impossible with the KEITHLEY 6485 pico-ammeter?
Posted Thu, 04 May 2023 23:08:47 GMT by C, Andrea
The 6485 data sheet reports reading rate as fast as 1000/sec.<br> The footnotes give the measurement settings required to get these speeds.<br> But these outcomes would be for N measurements into the internal buffer.<br> Transfer across the bus to PC takes more time.<br> <br> You seem to be wanting to transfer each reading one by one to have speedy update on your LabVIEW.<br> This maximizes the overhead, so will be slower than the max possible of 1000/sec when streaming to internal buffer.<br> <br> If you can locate a voltage reading instrument with sufficiently fast reading rate, you could use that to monitor the 2V analog output from the picoammeter. &#160;You need something that can continuously stream data to the PC.<br> <br> A DMM6500 could be of help. &#160;Here is app note that details streaming using Python:<br> https://www.tek.com/en/documents/application-note/data-logging-power-profiles-wireless-iot-and-other-low-power-devices<br> <br> Here is a note on evaluating the speed of 6485 analog output to step changes of current. &#160;This is just to illustrate the usefulness of the AO:<br> https://www.tek.com/en/documents/application-note/how-fast-can-i-make-measurements-picoammeter<br> <br> &#160;
Posted Fri, 05 May 2023 08:17:43 GMT by Lecor, Alioune
Thank you for your proposal but the DMM6500 will be too expensive for me. However, with the KEITHLEY 6485 I manage to have usable results with a sample that gives high current peaks. But when it comes to the samples where the current is very high, I notice that there is too much noise and I cannot distinguish certain current peaks with the noisy signals. Do you think there is a way to filter the noise without slowing down the acquisition ?<br> You will see some signals when I take my empty measurements in the attachment.

You must be signed in to post in this forum.