LabHelper is a general-purpose
data acquisition program for macOS. LabHelper interfaces with the following external serial A-D converters:
- The Sable UI2 and UI3 (the latter has not been thoroughly tested in-use with real data) have 8 channels of 16-bit A-D conversion (plus
or minus 5 volt range) and 4 channels for temperature inputs
using special thermistors; these can also be used for voltage inputs (0-5
volts), or current, or resistance measures. The UI2 / UI3 has 8 digital outputs that can switch external
devices, and two analog voltage outputs. LabHelper sets the UI2 to run
at 115,200 baud for fast communications (the UI3 runs independently of baud rate as it uses a direct USB connection). A USB to serial
converter is necessary to use the UI2 or any serial device; the Keyspan (TrippLite) USA-19HS
units work well; others may not (for unknown reasons). The UI3 works 'automatically' on newer OS X/MacOS versions; on older versions it requires installation of FTDI drivers (http://www.ftdichip.com/Drivers/VCP.htm ).
- DataTakers (several models) are quite sophisticated, but slower than the Sable units. They have a variable number of analog input channels, depending on
which model is used and whether any extension modules are attached. They can
also read thermocouples directly (i.e., they return a temperature instead
of the microvoltage potential). Several digital outputs to switch external devices
are also available (depending on model). As for the UI2, a USB to serial
converter is required to communicate with a DataTaker; the Keyspan (TrippLite)
units work well; others may not. Wiring of the cable between the computer and the DataTaker is more complex than with the UI-2 (but is clearly described in the DataTaker manual). You'll also need a power supply (a wide range of supply voltages is acceptable).
- The Advantech ADAM system is a series of inexpensive modules that can be combined as needed. To use this system, you need an ADAM-4019 module as the 'base' unit; it has 8 inputs that can read volts or thermocouples. If you need to control external devices that respond to digital signals, add an ADAM-4050. If you need more inputs, you can add 8 more voltage or thermocouple inputs with a second ADAM-4019, or 8 additional voltage inputs with an ADAM-4017. As for the UI2 and DataTakers, a USB to serial
converter is required to communicate with ADAM units. You will also need an RS485 to RS232 converter, as the ADAM modules use the RS485 protocol; a converter costs $10-$20 (or more if you want...), and a power supply. Only two wires are needed to connect the computer to the ADAM units, and the power can be any DC voltage from 10-30 V. The ADAM system is versatile, inexpensive, but not very fast: the maximum sampling rate is 10-15/sec for all channels combined.
A simulated A-D converter is used in the Test Mode option.
No A-D hardware is needed to explore the software.
LabHelper can also read text data (serial streaming) from instruments with this capability. Only one instrument can be connected at a time and you will need a USB to serial converter -- but you won't need an A-D converter.
Numerical Resolution
LabHelper stores data in a floating-point format with a precision of roughly 8 decimal digits. This saves considerable disk and memory space
compared to storage at higher precisions, but provides somewhat lower numeric
resolution. For example, in 8-digit precision (but not 10-digit precision)
the numbers 12445.239 and 12445.23914 are 'identical'. This minor
limitation should pose few problems to the average user, especially because the accuracy of most data is considerably less
than can be represented in even 6 decimal digits. A 16-bit analog-to-digital
converter working optimally can resolve one part in 65,535, for example -- five decimal digits.
LabHelper was written in FBtoC
by Mark
Chappell (a.k.a. 'Warthog Systems', with apologies
to Gilbert
Shelton) with facilities provided by the University of California, Riverside. No warranty of any kind is offered or implied.
LabHelper is NOT a commercial product and may not be sold or copied for
commercial purposes. If you have questions you may contact me at chappell@ucr.edu.
Many
thanks are due to Chris Stazny and Andy
Gariepy of STAZ Software,
who generously provided vital assistance in many ways early on. More recently I received invaluable help from many folks on the FutureBasic listserve, especially Brian Stevens, Bernie Wylde, Steve Van Vorst, Ken Schmidheiser, Steve Crossman, Jay Reeve and numerous others.
The late, great Robert Purves
was extremely helpful with serial interfacing, provided the code for the expression evaluator, and generally was a wonderful resource. |
|