NI采集卡USB-6361多通道模拟输入采集报错解决方案

news/2024/11/19 17:32:03/

文章目录

  • 前言
  • 一、现有例程
    • 1、前面板
    • 2、程序框图
  • 二、采集测试
    • 1、单通道采集
    • 2、多通道采集
      • ①、错误的做法
      • ②、正确的做法
        • 1)前面板
        • 2)程序框图
        • 3)运行测试
  • 总结


前言

折腾一块 USB-6361 采集卡很久了,之前都是单通道采集模拟信号,突然接到要使用双通道采集模拟信号,本想着就新增加一路 Analog Input task 即可,但事情总没有想象的那么简单,因此记录一下解决的方法。


一、现有例程

其实官方给我们提供了很多范例方便我们对 NI 板卡进行开发,我这里要用到的是 电压-连续输入例程,相关范例路径在:帮助 -> 查找范例 -> 硬件输入与输出 -> DAQmx -> 模拟输入 -> 电压-连续输入
注:这里有 DAQmx 的前提是你已经安装了 DAQmx 的驱动,具体安装方法这里不赘述,去 NI 官网可以找得到
在这里插入图片描述

1、前面板

在这里插入图片描述

2、程序框图

在这里插入图片描述

二、采集测试

1、单通道采集

这里我使用测试面板输出幅值为3V的正弦波,使用射频线将AO1和AI0进行连接,单通道采集没问题

在这里插入图片描述

2、多通道采集

①、错误的做法

将程序框图再复制一份,改个输入通道,这里使用AI0和AI1同步采集,运行时出现如下报错:
在这里插入图片描述
问题原因:USB-6361同时只能支持1个Analog Input task。这个方式来采集已经属于2个Analog Input tasks,所以出现报错。

在 NI 官网经验贴看到了类似的问题,受限于硬件,每个设备的模拟输入和模拟输出任务数只有1个
在这里插入图片描述

②、正确的做法

使用 channel expansion 方式,在同一个 Analog Input task 使用多个通道来采集。
在这里插入图片描述

1)前面板

在这里插入图片描述
将之前的 Dev/ai0 改成 Dev/ai0:1

2)程序框图

在这里插入图片描述
其他位置不做修改,DAQmx 读取这里稍作修改,模式改成模拟1D波形N通道N采样,并将输出的内容使用索引数组控件将 Dev/ai0 和 Dev/ai1 分开,这里索引0对应 Dev/ai0,索引1对应 Dev/ai1

3)运行测试

在这里插入图片描述
虽然不报错了,但是还存在一个问题,此图是仅仅将 Dev/ai0 接入了信号,Dev/ai1 保持浮空的状态呢,但是可以看到出现了信号串扰的问题,也就是 Dev/ai1 受到了 Dev/ai0 的干扰。

针对串扰问题的解决方案可以参考以下相关资料:
<1>、如何消除测量和数据采集时出现的鬼影效应?
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YHy6CAG&l=zh-CN
<2>、NI does not specify what voltage a device will read when there is no signal connected.
Since an open or unconnected channel is not being actively driven to any specific voltage you cannot expect a specific voltage to appear on the channel. To see zero volts on a given channel, there will need to be a zero voltage signal applied across the + and - terminals of the channel, which is the same as grounding the channel. To pull down the signal to zero, you can use a pull-down resistor. See Can I Use Pull-Down Resistors for Analog Inputs? for more details.
Incorrect Readings on Unconnected or Open Channels of DAQ Device
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P6TeSAK&l=zh-CN

其实完全不必理会这个串扰问题,当我把 Dev/ai1 不浮空,而是接入到设备中,或者连接示波器也好,那么串扰问题就不存在了。

因此解决串扰问题可以按照如下两种方案尝试:
<1>、方案1:在输入端增加一个下拉电阻
在这里插入图片描述
<2>、方案2:不让通道保持悬空,使其连接任意设备


总结

以上就是全部内容,本文实现了多通道模拟输入同时采集的功能,对其中的串扰问题进行了介绍以及给出了解决方法。


我的qq:2442391036,欢迎交流!



http://www.ppmy.cn/news/789058.html

相关文章

MySQL Optimization Learning(五)

目录 一、分区表 1、分区表的应用场景 2、分区表的限制 3、分区表的原理 4、分区表的类型 5、如何使用分区表 6、在使用分区表的时候需要注意的问题 二、服务器参数设置 1、general 2、character 3、connection 4、log 5、cache 6、INNODB 一、分区表 对于用户而…

C++之std::function和lambda表达式回调函数(一百五十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

css:鼠标经过el-dropdown 组件上会出现一个蓝色的小框

问题描述 效果如下&#xff0c;原以为是浏览器的bug&#xff0c;升级后就好了&#xff0c;没想到一直有这个问题 页面刷新后&#xff0c;鼠标经过el-dropdown 组件上会出现一个蓝色的小框 原因 浏览器默认有一个样式&#xff0c;加了一个边框 :focus-visible {outline: -we…

docker容器内安装ps命令

apt-get update apt-get install procps

安装PS出现“由于找不到VCRUNTIME 140_1.dll”的解决方法

安装PS出现“由于找不到VCRUNTIME 140_1.dll&#xff0c;无法继续执行代码。重新安装程序可能会解决此问题”的解决方法 这是缺少运行库的问题&#xff0c;分享个B站视频链接&#xff0c;UP主讲了解决方法&#xff0c;我的已经解决了&#xff1a;https://www.bilibili.com/vide…

win7安装PS2019CC启动时报d3dcompiler_47.dll的问题解决

原先安装的PS2017太卡顿了&#xff0c;有些功能用的也不习惯&#xff0c;卸载准备重装一下PS2019&#xff0c;在安装时发现报错&#xff0c;具体如下图所示&#xff1a; 因此在网上下载了D3DCOMPILER_47.dll程序&#xff0c;放到了指定文件夹还是不行。 百度参考这个解决了&am…

如何解决M1芯片安装PS 2021闪退、卡启动界面的问题?

2021版Photoshop版M1可以使用了&#xff0c;具体怎么安装呢&#xff0c;本文将介绍m1芯片安装ps2021的方法。如果安装过错出现问题&#xff0c;本文将介绍M1 芯片安装 PS 2021 闪退、卡启动界面解决方法。 总共四步 第一步&#xff1a;版本升级到bigsur11.3 第二步安装ps2021&…

m1芯片安装PS2021 已经支持M1芯片安装 M1处理器安装PS2021解决方案教程,2021最新方法!

4月份更新消息 TNT团队已发布&#xff1a;适配M1芯片MAC版的PS 2021来了&#xff0c;转眼购买M1芯片版的macbook pro已经两个多月了&#xff0c;之前因为这款芯片的特殊性&#xff0c;一直没能用上PS&#xff0c;之前在网上找的PS安装大部分都不行&#xff0c;不仅如此&#xf…