Starting a journey in NI proficiency…

The background…

I recently started a journey of becoming more proficient in using National Instruments software (the usual suspects: LabVIEW, LabWindows/CVI, TestStand, and then some…). Although I have some experience in using NI software, certainly not to a professional level  so I am able to develop HIL test systems. As part of my regular job, I was also presented with an opportunity to participate (volunteer if you will) in some projects of that nature, so I thought it would be best if I took an online refresher course (or courses!) – pickup where I left off and acquire new skills along the way. Starting from the ground up. Literally!

Now… I have been granted access to some powerful equipment, but I also wanted to experiment in the comfort of my house and in a way, cap off each milestone with a project. To do so, I would need the most basic (and cheapest) device for data acquisition. I am aware NI software offers the possibility to work with simulated hardware so perhaps I’ll explore this option in-depth.

With regards to simple acquisition devices, this is where this one (NI USB-6210) comes into play. It basically is a USB based DAQ with 32 IO – 16 of which digital (some as both input/output) and 16 analog (input only!).

But now there’s another shortcoming – I would need some sort of a function generator – a really simple one – to generate sine and square wave signals (at least!) and triangular and saw-tooth wave signals as a bonus.

The present…

For a simple function (-like) generator, there are plenty of options:

This article presents a nice overview on the different options. I advise you to read it in any case – it’s very informative!

Yet another shortcoming – I recently moved to Ireland for work, so I have pretty much limited access to some basic tools. Therefore, any option in building a function generator which involves electronic components, breadboards and/or soldering – other than my computer and/or my development boards – is out of the question! At least for now.

My choice was made up. I will go with one of my development boards and my sound card. I don’t enjoy torturing myself. But I also like to experiment and learn by doing as opposed to read about it and know it’s possible to do it, never actually done it!

I came across this article using the Arduino Due (also referenced and well explained by Gadget Reboot). My choice was made! But as I didn’t have any possibility to use any components other than my Due, I decided to build a small application giving me the possibility to change the different options of this simple function generator through the serial port.

… and a bummer! The board I have is an actual Mega ADK – not a Due. The Due has a 12bit resolution DAC! The Mega has none. I suppose I could buy a DAC board (MCP4725) and use that in conjunction with the Mega (or any other development board which supports I2C), but I eventually abandoned the idea altogether.

Someone at work suggested why not use your PC’s sound card? I’d have 2 channels available, and the signal and frequency range I’ll get with a sound card would be much better than any of the development boards I have!? I really don’t know why I haven’t thought of that.

I found plenty of software (although I was focusing on free software only, there are some commercial ones which are pretty good), but I will mention these three:

My choice was set on the last one. A convenient JavaScript based signal (wave form) generator right out of my web browser – OS independent!

In the mean time, I found this really interesting project using a MAX232 and the sound card (in a really interesting packaging!). I think I’ll try it out eventually and maybe re-write the SW part?

Time for me to get back to my LabVIEW exercises!