Controlling Your Instruments From A Computer: Doing Something Useful

Do you know how to harvest data from your bench tools, like plotting bandwidth from your oscilloscope with a computer? It’s actually pretty easy. Many bench tools make this easy using a standard protocol with USB to make the connection.

In the previous installment of this article we talked about the National Instruments VISA (Virtual Instrument Software Archetecture) standard for communicating with your instruments from a computer, and introduced its Python wrapper with a simple demonstration using a Raspberry Pi. We’ll now build on that modest start by describing a more useful application for a Raspberry Pi and a digital oscilloscope; we’ll plot the bandwidth of an RF filter. We’ll assume that you’ve read the previous installment and have both Python and the required libraries on your machine. In our case the computer is a Raspberry Pi and the instrument is a Rigol DS1054z, but similar techniques could be employed with other computers and instruments.

Continue reading “Controlling Your Instruments From A Computer: Doing Something Useful”

How to Control Your Instruments From A Computer: It’s Easier Than You Think

There was a time when instruments sporting a GPIB connector (General Purpose Interface Bus) for computer control on their back panels were expensive and exotic devices, unlikely to be found on the bench of a hardware hacker. Your employer or university would have had them, but you’d have been more likely to own an all-analogue bench that would have been familiar to your parents’ generation.

A GPIB/IEEE488 plug. Alkamid [CC BY-SA 3.], via Wikimedia Commons
A GPIB/IEEE488 plug. Alkamid [CC BY-SA 3.], via Wikimedia Commons.
The affordable instruments in front of you today may not have a physical GPIB port, but the chances are they will have a USB port or even Ethernet over which you can exert the same control. The manufacturer will provide some software to allow you to use it, but if it doesn’t cost anything you’ll be lucky if it is either any good, or available for a platform other than Microsoft Windows.

So there you are, with an instrument that speaks a fully documented protocol through a physical interface you have plenty of spare sockets for, but if you’re a Linux user and especially if you don’t have an x86 processor, you’re a bit out of luck on the software front. Surely there must be a way to make your computer talk to it!

Let’s give it a try — I’ll be using a Linux machine and a popular brand of oscilloscope but the technique is widely applicable.

Continue reading “How to Control Your Instruments From A Computer: It’s Easier Than You Think”

No Spectrum Analyser? No Problem!

In the Bad Old Days, a spectrum analyser was a big piece of expensive machinery that you’d have on your bench next to your oscilloscope. And while good ones still cost a ton of money, [rheslip] shows you how to turn your VISA-compatible scope into a decent spectrum analyser for the low, low price of nothing. Watch it in action in the video below the break.

pyvisa-shot0002_tnIf your scope is relatively recent, like this side of the late 1990s, it might support National Instrument’s VISA: virtual instrument software architecture. [rheslip]’s Rigol scope does, and he uses PyVisa, a Python wrapper for the NI-VISA libraries to download the raw samples from the ‘scope and then crunches the FFTs out on his laptop.

There are definitely drawbacks to this method. The sampling depth of the scope is eight bits, which limits his maximum signal-to-noise ratio, and the number-crunching and data transfer are slow, resulting in a 2 Hz refresh rate. But once the data has made it across to his laptop, [rheslip] can run the FFTs at whatever sample length he wants, resulting in very high frequency resolution.

Indeed, we’re thinking that there’s all sorts of custom filters and analysis that one could do with raw access to the oscilloscope’s data. Why haven’t we been doing this all along? Any of you out there have cool VISA tricks that you’d like to share?

Continue reading “No Spectrum Analyser? No Problem!”