Labview:我无法从多个通道读取电压(DAQmx 读取)

Labview: I can't read the voltage from more than one channel (DAQmx read)

我有一个来自 National Instruments 的 SCB 68A 连接器,我想从中读取开路电压。所以我使用了National Instruments提供的示例代码(https://decibel.ni.com/content/docs/DOC-28502):

我得到了 5 mV,这是一个合理的值(我用示波器测量了噪声信号)。现在我想从几个通道中读出噪声信号。所以我稍微更改了 VI(根据文档,我需要创建一个通道数组并将它们展平):

但现在我在两个通道上读出大约 200 mV(其中一个与第一个 VI 中的相同)。这没有任何意义。

我做错了什么?

我希望用户能够选择频道,所以我不能只写"Dev1/ai0:4"。

编辑:我正在使用 DAQ 14.0.0。

编辑 2:1) 设备没有任何连接 - 我只想读出噪声信号。 2) 我在禁用温度传感器模式(默认配置)的情况下使用 MIO 中的连接器。

请查看以下链接: http://forums.ni.com/t5/Multifunction-DAQ/How-to-use-DAQmx-Read-to-measure-multiple-analog-channels/td-p/2620949

http://digital.ni.com/public.nsf/allkb/A3A05920BF915F1486256D210069BE49

您的问题已经有了完整的解决方案。

您正在观察来自 DAQ 设备多路复用器的电荷注入。将每个 aiN 终端连接到 aignd,您将能够测量 DAQ 设备的噪声。

电荷注入

大多数 NI DAQ 板都有一个模数转换器 (ADC),并通过使用多路复用器 (MUX) 将 ADC 的输入切换到不同的模拟输入端子来提供多个输入通道 ai0ai1,等等:

NI explains一样,当 DAQ 设备的多路复用器从一个通道移动到下一个通道时,它可以在每个通道上引入少量电荷。由于开放通道 没有路径 使该电荷消散,因此通道的电压会增加。这也会导致通道进入轨道,缓慢浮动至最大输入电压(通常为 10 V)。

表征噪声

您可以通过以下方式确定系统中每个组件的噪声:

  1. 测量DAQ设备的噪声
  2. 测量 DAQ 设备和接线端子的噪声
  3. 从系统噪声(步骤 2)中减去 DAQ 设备噪声(步骤 1)

完成后,第 1 步的值就是 DAQ 设备的噪声,第 3 步的值就是 SCB-68 的噪声。

要测量电路的噪声,必须要有完整的电路供ADC采样。对于第 1 步,将每个 aiN 终端连接到 aignd 和 运行 您的 VI。对于第 2 步,将接线盒连接到 DAQ 设备,断开传感器,并将接线盒的通道端子连接到其接地端子和 运行 您的 VI。

最小化噪音

除了电荷注入之外,several sources 中的噪声也会引入 DAQ 系统,包括环境。打开的终端就像小天线一样,接收来自其他电子设备、灯和交流电源的辐射能量。

link 还概述了如何查找和最小化噪声,但要点是:

  1. 系统地识别噪声源。
  2. 移除测量不需要的噪声源。
  3. 根据剩余噪声的性质和来源,使用适当的屏蔽、布线和终端配置。
  4. 过度采样并平均信号。