The tremendous data logging capabilities of the were examined briefly in an earlier blog post, where they proved useful for rapid component binning using the Remote Switch Probe, and for observing trends for seeing laser power by heating a thermistor and using the Data Logger software from Keysight.
The high speed logging is so good it was worth at least another blog post. I was curious how easily it could integrate into an existing test environment. This blog post examines how to integrate into a test bed using a couple of different methods; MATLAB (LabVIEW was discounted because I have trouble with most graphical languages!), and an open source option too. It also explores the importance of why such software is useful for a high data logging speed multimeter.
Why is Compatibility with Equation/Math Capability Software Relevant?
Although some sensors output (say) voltage or current or resistance values which are easy to translate into the unit of the characteristics being sensed and measured, not all sensors do this. A temperature sensor may output a signal in mV that can be directly converted into a temperature by multiplying the mV value by a constant factor but that is an exception. Many sensors are non-linear and need conversions. Furthermore, some things need multiple measurements; you might need to measure voltage and current to compute power consumption. Other sensors might need temperature compensation before the data is useful and that entails using an equation too.
When logging data once a second or faster, it is not possible to use a calculator to quickly perform the calculations. It is essential to be able to perform calculations immediately with the captured information to take maximum benefit of the trend monitoring possible in real time.
Using the with MATLAB
MATLAB offers an Instrument Control Toolbox(i.e add-on software package for integrating test tools into your environment Even if you don’t have the toolbox(I don’t it is possible to integrate the by directly reading and writing the IR-USB serial interface If you’re only working with integrating multimeters then go for the basic MATLAB install no need for any toolboxes
It was straightforward to directly import from the to plot charts of data This allows all the powerful equations possible with MATLAB to be applied in real-time to the measurements from the greatly extending its usefulness
As an example, it is possible to measure resistances from a thermistor and immediately compute the temperature and display it at ultra-high resolution and with a very rapid response time.
The graph below shows the temperature of an idling CPU(Raspberry Pi 3 over a period of two minutes the resolution is under 1/100 of a degree C and time resolution was 100msec due to the high speed capability of the I used a tiny thermistor with extremely rapid response time The temperature was calculated in real time based on the measurements from the
The MATLAB software to retrieve data from the is available here. It uses SCPI commands to capture data and plots it to a graph.
The short video below (there appear to be rendering issues; try YouTube) shows it all in action during power-up of a Raspberry Pi 3 You’ll notice how rapidly the temperature rises towards the end The specific details of that are the subject of a 30-minute video which is needed to do that justice For now the important thing is how easy it was to control the with MATLAB and perform math equations on the fly before graphing the results
In summary if you have a need to monitor in real time CPU or heat sink temperature trends then it is not a bad option to purchase the and use the source code mentioned earlier with the or other multimeter of your choice The would have the advantage of matching the rapid response from the thermistor
Next I wanted to combine the data from the along with other data captured within a test bed I had a test bed that I had built for monitoring power consumption by the Pi 3 It was easy to include the and simultaneously show real-time temperature voltage current and power all on the same display As useful as MATLAB is this time it was decided to go open source I used a kst application to do all this.
It was tested and it all nicely runs on another Pi 3, so for remote data capture there is no need to dedicate a PC to it.
The test bed I had created for measuring the Pi’s power consumption benefitted greatly from the integration I could finally measure multiple things in a single session and see the effect and interaction of each one If I had multiple multimeters I could rip out my home-made test tool which won’t have a guaranteed specification unlike a multimeter not important for this particular test but very important for commercial tests Still for now the integrated seamlessly with my existing test bed From top-left clockwise in the photo above you can see
Orange Keysight performing thermistor measurement
Dark blue: Custom ADC board performing voltage and current measurement
Light blue: Current sense resistor
Unmarked: Bench supply powering the device under test
Yellow: Fluke 175 for voltage confirmation (not playing a part in the data logging/monitoring)
Pink: Device under test (Raspberry Pi 3)
Purple: Another Raspberry Pi 3 (and touch screen) performing all data capture, math conversions and real-time graphical reporting
The graph below shows some typical output; clockwise from top left you can see temperature, current, power and voltage. All of this updates in real-time (10 captures per second) indefinitely.
To achieve this, I made some changes to the fastlog application devised for the previous blog post. The main change is to provide an equation capability (the graphical tool also has equation capability but I felt it to be easier to implement it in my code). It can still run in the normal mode, for example:
./fastlog Keysight Technologies,U1282A,MY55480016,V1.03 Configuration: "RES +6.00000000E+05,+1.00000000E+01" Battery: 85% 1, 05/09/2016 17:06:58.119, +9.63490000E+04 2, 05/09/2016 17:06:58.269, +9.63490000E+04 3, 05/09/2016 17:06:58.419, +9.63490000E+04 4, 05/09/2016 17:06:58.570, +9.63490000E+04 5, 05/09/2016 17:06:58.718, +9.63490000E+04 6, 05/09/2016 17:06:58.868, +9.63490000E+04 7, 05/09/2016 17:06:59.019, +9.63500000E+04 8, 05/09/2016 17:06:59.156, +9.63500000E+04 9, 05/09/2016 17:06:59.306, +9.63500000E+04 10, 05/09/2016 17:06:59.464, +9.63510000E+04
As you can see, the resistance measurements reported in the output are approximately 96 kohm, which does not help until a conversion into temperature can be done.
It is possible to convert to temperature in real-time by typing:
./fastlog -c therm100k
Now the output looks like this, showing that the resistance corresponds to around 25.76 degrees C:
Keysight Technologies,U1282A,MY55480016,V1.03 Configuration: "RES +6.00000000E+05,+1.00000000E+01" Battery: 85% 1, 05/09/2016 17:09:17.535, 25.767926 2, 05/09/2016 17:09:17.683, 25.767926 3, 05/09/2016 17:09:17.833, 25.767926 4, 05/09/2016 17:09:17.983, 25.767702 5, 05/09/2016 17:09:18.135, 25.767702 6, 05/09/2016 17:09:18.296, 25.767926 7, 05/09/2016 17:09:18.446, 25.767926 8, 05/09/2016 17:09:18.604, 25.767926 9, 05/09/2016 17:09:18.747, 25.767926 10, 05/09/2016 17:09:18.896, 25.767926
The code has a section where additional equations can be created as functions, and then invoked using the command line.
So, for example, if you (say) need to test particular flow meters regularly then you can create a function called flowmeter (as an example) and apply that whenever you want to do real time logging using it, so that results in (say) L/minute can be recorded directly to a file and displayed in real-time.
It was good to see the in action in a real test It is incredibly easy to integrate the into existing or new test beds It works with popular applications like MATLAB so that maximum use can be made of the high speed data logging functionality by combining with equation/math functions and plotting capabilities
The possibilities are endless. 10Hz logging speed in a multimeter is a game-changer.