Jump to content
  • 0

Multiple DT9837A devices




I am using 4 DT9837A devices to acquire data from 15 IEPE sensors. I have some questions.

  • in total there are be 16 channels from all the devices. I want to leave one channel and not acquire data from it. So should I set high and low channels for each device separately?
  • the frequency is 23kHz and I want to store data on MongoDB with accurate time stamp of the acquired data. Is it possible to store the time in the buffer? If not is there any other solutions that you could suggest. 
  • For multiple devices should I use threading or multiprocessing or just single thread to acquire the data? I want to sync the devices but as it is not possible with the library, which of the above approach would be suitable? 
  • I would like to associate a specific name to each channel. So every time the device with it's unique id has the same name. I am try this from my config.ini file but I am facing the error that number of variable are not equal. so it can not name them, maybe it is because number of channel= 4 for each device and I'm trying to name 16 of them together. What could be the possible solution to this?

I have attached my code below. I really appreciate your response. Thanks in advance. :)

config.ini DataAcquisition.py

Edited by DAQIEPE
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0


Your config.ini file lists configurations for all 16 channels. If you only plan to use 15 channels, then omit the last channel from one DT9837A device configuration.  The omitted channel should also not be included in your Python code; resulting in a channel range of 0-14. 

In order to determine which DT9837A device to select with the unused channels, select the device with the lowest voltage levels from three sensors.  For example, if the majority of your sensors output a voltage range of +/-10 V, but three sensors output a voltage range of +/-1 V, then assign those three low level signals to one DT9837A device, with an unused input channel.

Additionally, connect a 50 Ohm BNC termination to the unused channel, to avoid any external noise into an open BNC connector. 

Regarding timestamps, this option is not available in our library.  Your code should determine the start time and knowing the sampling frequency, along with Python programming, a user can add a timestamp to each data point after the acquisition.

With regards to synchronization of multiple DT9837A devices, one device should be set as the master device and the other three as the slave devices.  The options argument of the scan function for the master should include 'SO_TIMEBASEOUT', while the options argument of the scan function for the slaves should include 'SO_EXTTIMEBASE'.  Reference the 'Synchronizing Acquisition on Multiple Modules' section of the DT9837 Series User's Manual (https://files.digilent.com/manuals/UM9837.pdf).  You will need to use the RJ45 (LVDS) synchronization
connector on each device for synchronization.  Unfortunately, the EP386 panel is no longer available for the RJ45 connections, but alternative third-party solutions are available; i.e. https://www.l-com.com/ethernet-6-way-bridging-adapter-rj45-8x8

Use a single thread to acquire the data.

The library functions use the A/D channel number.  When you create the config.ini file, you need to know which sensors are connected to which device and its input connector.  You will need to create some coding logic in your application.



Link to comment
Share on other sites

  • 0

Thanks for prompt response Fausto!
Does Master and Slave configuration actually work on DT9837A?
In my previously asked question you said that the DT9837A does not support the set_sync_mode()  method in UL for Linux. 

Can you please provide me with some example code for 'SO_TIMEBASEOUT' and 'SO_EXTTIMEBASE' with master and slave configuration it works. 

Regarding the RJ45 I have made a parallel circuit on a protoboard according to the documentation and also tested it with QuickDAQ software to test it. And all the IEPE accelerometers use +/-10Volts so there is no other option for device with 3 sensors. I will surely add a 50 Ohms BNC connector for noise reduction. 

Edited by DAQIEPE
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...