Julia data acquisisition code to commuicate with the Omron D6F-PH differential pressure sensor using a LabJack multifunction DAQ device.
Author: Markus Petters (mdpetter@ncsu.edu)
The specific implementation is for the NC State aerosol group circuit board (designed by Tim Wright), which accomodates the sensor to interface directly with Labjack device. The device is mounted on the board and powered from the 5V reference VS power on the labjack. A Texas Instruments LP2950-33LPE3 voltage regulator converts the 5V input to 3.3V to power the device. The four cables are degined to plug into a Labjack bank (e.g. VS, GND, FIO0, FIO1). Different banks can be used.
The sensor specifications are in the documentation
pkg> add https://github.com/mdpetters/OmronD6FPH.jl.git
PyCall and a working installation of the LabJack python library.
The code was tested with a U3-HV and U6-PRO device. Examples for these devices are in the example folders. Note that you will need to configure the IO pins. If timers or counters are used they will block the lower FIO channels. The configIO call has subtle differences between the different LabJack Models.
using OmronD6FPH, PyCall
u6 = pyimport("u6") # Import Labjack
handle = u6.U6() # open device
# Turn off counters and timers
handle.configIO(EnableCounter0 = false, EnableCounter1 = false, NumberTimersEnabled = 0)
# Initialize device for first power up, set SDA and SCL pins
isInitialized = OmronD6FPH.initialize(handle; SDAP = 2,SCLP = 3)
# Read temperature in Celsius
T = OmronD6FPH.T(handle; SDAP = 2, SCLP = 3)
# read differential pressure in Pa
dp = OmronD6FPH.dp(handle, "0505AD3"; SDAP = 2, SCLP = 3)
The circuit board was designed by Timothy Wright
Example C++ code by bitixel
D6F-PH sendor datasheet
D6F-PH sensor user manual
LabJack Python website and documentation
LabJack i2c sensor example