LabVIEW开发教学实验室自动化INL和DNL测试系统

LabVIEW开发教学实验室自动化INL和DNL测试系统

如今,几乎所有的测量仪器都是基于微处理器的设备。模拟输入量在进行数字处理之前被转换为数字量。对于参加电气和电子测量课程的学生来说,了解ADC以及如何欣赏其性能至关重要。ADC的不确定性可以根据其传输特性来表征。更准确地说,它可以基于微分(DNL)和积分非线性(INL)来理解。

INL和DNL的测量是一项耗时的操作(占总测试时间的35%至50%)。这意味着找到输出代码变为下一个输出代码的所有转换电压。ADC分辨率越高,测试时间就越长。还有一些方法和技术可以根据一些假设,根据转换电压的子集来估计这两个参数。

本方法专用于教学实验室,学生将了解ADC的非线性及其传输特性。因此,已经考虑了经典方法。400mV在其输入范围的中间,电压以精细的步长变化,并确定转换电压。由于测量非常耗时,所以基于可编程电压源和LabVIEW应用程序实现自动化。DUT是NI的低成本DAQ。

Keitley6487可编程电压源是标准器件。它允许产生-10V至+10V的高精度电压,分辨率为200μV。根据其数据表,源极精度为0.1%+1mV。DUT是一款NI 6008数据采集设备,具有12位分辨率和7.73mV的绝对精度。

DAQ卡在其差分输入端进行测试。两个100Mohms的电阻器从每个输入连接到地,以保持其对称性。DAQ设备通过USB接口连接到主机PC,而电压源则通过GPIB连接连接。NI USB转GPIB适配器插入在PC和电压源之间。测试电压通过同轴电缆提供。

INL和DNL表示实际ADC特性与理想特性差异程度的量度。“差分非线性(DNL)是校正静态增益后,指定码箱宽度与理想码箱宽度之间的差值除以理想码箱宽度。这意味着DNL是两个连续代码的两个转换电压除以理想值7LSB之差:

由于实际电路中的噪声与ADC内部噪声累积,转换电压实际上是转换间隔,对于相同的输入电压,在输出端产生多个代码。确定哪个是实际转换电压的一种方法是为相同电压获取更多值,并计算每个代码的结果数字。较大的数字是决定哪个输出代码是真实代码的选择。当您接近转换电压时,测试的DAQ设备返回3个代码,而在间隔中间,它只返回2个代码。

LabVIEW DAQmx仪器允许从DAQ设备获取来自ADC的数字代码,或根据这些代码和校准数据计算的校正电压。该软件允许学生获得两种数据类型的INL和DNL。

该应用程序是在LabVIEW中开发的。由于其编程方式,学生很容易理解。在前面板上,学生可以找到DUT的设置、电压源的设置和文件路径的对话框。

本应用程序是为电气和电子测量学科的实验室应用而开发的,学生在其中研究数据采集设备,ADC及其相应的误差和参数。在运行仪器并收集数据后,要求学生根据保存在文件中的数据手动计算多个代码的相应INL和DNL,并将其结果与VI获得的结果进行比较。

这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/95174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯每日一题2023.10.5

3420. 括号序列 - AcWing题库 题目描述 题目分析 对于这一我们需要有前缀知识完全背包 完全背包的朴素写法&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1010; int n, m, v[N], w[N], f[N][N]; int main() {cin >> n >> m;fo…

PyTorch实例:简单线性回归的训练和反向传播解析

文章目录 &#x1f966;引言&#x1f966;什么是反向传播&#xff1f;&#x1f966;反向传播的实现&#xff08;代码&#xff09;&#x1f966;反向传播在深度学习中的应用&#x1f966;链式求导法则&#x1f966;总结 &#x1f966;引言 在神经网络中&#xff0c;反向传播算法…

利用python来打印九九乘法表

一. 打印九九乘法表 法一 # 定义起始行 row 1# 最大打印 9 行 while row < 9:# 定义起始列col 1# 最大打印 row 列while col < row:# end ""&#xff0c;表示输出结束后&#xff0c;不换行# "\t" 可以在控制台输出一个制表符&#xff0c;协助在输…

华为OD七日集训第6期 十一特辑 - 按算法分类,由易到难,循序渐进,玩转OD

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、优先队列4、滑动窗口5、二叉树6、并查集7、栈 三、算法1、基础算法① 贪心算法② 二分查找③ 分治…

OpenCV 15(SIFT/SURF算法)

一、SIFT Harris和Shi-Tomasi角点检测算法&#xff0c;这两种算法具有旋转不变性&#xff0c;但不具有尺度不变性&#xff0c;以下图为例&#xff0c;在左侧小图中可以检测到角点&#xff0c;但是图像被放大后&#xff0c;在使用同样的窗口&#xff0c;就检测不到角点了。 尺度…

JavaScript操作CSS样式

上节课我们基本完成了游戏的主体&#xff0c;这节课我们来学习如果使用JavaScript去操作CSS样式 ● 例如&#xff0c;我们现在想当玩家输入对的数字之后&#xff0c;我们讲背景改为绿色&#xff0c;并且把number的框宽度变大 const secretnumber Math.trunc(Math.random() * …

经典算法-----汉诺塔问题

前言 今天我们学习一个老经典的问题-----汉诺塔问题&#xff0c;可能在学习编程之前我们就听说过这个问题&#xff0c;那这里我们如何去通过编程的方式去解决这么一个问题呢&#xff1f;下面接着看。 汉诺塔问题 问题描述 这里是引用汉诺塔问题源自印度一个古老的传说&#x…

目前制造企业生产计划现状是什么?有没有自动化排产系统?

大家都知道&#xff0c;人的指挥中心是大脑&#xff0c;大脑对我们的发出各种各样的指令&#xff0c;告诉我们&#xff1a;“手”做什么事情&#xff0c;“眼睛”看什么地方&#xff0c;“耳朵”听什么声音&#xff0c;然后再将摸到的、看到的、听到的信息传递给大脑&#xff0…

制作 3 档可调灯程序编写

PWM 0~255 可以将数据映射到0 75 150 225 尽可能均匀电压间隔

2023-09-27 Cmake 编译 OpenCV+Contrib 源码通用设置

Cmake 编译 OpenCV 通用设置 特点&#xff1a; 包括 Contrib 模块关闭了 Example、Test、OpenCV_AppLinux、Windows 均只生成 OpenCV_World 需要注意&#xff1a; 每次把 Cmake 缓存清空&#xff0c;否则&#xff0c;Install 路径可能被设置为默认路径Windows 需要注意编译…

安装PostgreSQL

PostgreSQL安装指南&#xff1a;从下载到配置 PostgreSQL是一款强大的开源关系型数据库管理系统&#xff0c;广泛用于企业和开发者的应用程序。在这篇博客中&#xff0c;我们将向您介绍如何安装和配置PostgreSQL&#xff0c;以便您可以开始使用这个强大的数据库。 步骤1&#…

maven下载、本地仓库设置与idea内置maven设置

一、下载安装maven maven下载官网&#xff1a;https://maven.apache.org/download.cgi 下载到本地后解压 二、配置环境变量 我的电脑-属性-高级系统设置-环境变量/系统变量 新建MAVEN_HOME 变量值为自己的maven包所在的位置 编辑path 添加 %MAVEN_HOME%\bin 三、测试 Win…

【Pytorch笔记】5.DataLoader、Dataset、自定义Dataset

参考 深度之眼官方账号 - 02-01 Dataloader与Dataset.mp4 torch.utils.data.DataLoader 功能&#xff1a;构建可迭代的数据装载器。 data.DataLoader(dataset,batch_size1,shuffleFalse,samplerNone,batch_samplerNone,num_workers0,collate_fnNone,pin_memoryFalse,drop_la…

一个案例熟悉使用pytorch

文章目录 1. 完整模型的训练套路1.2 导入必要的包1.3 准备数据集1.3.1 使用公开数据集&#xff1a;1.3.2 获取训练集、测试集长度&#xff1a;1.3.3 利用 DataLoader来加载数据集 1.4 搭建神经网络1.4.1 测试搭建的模型1.4.2 创建用于训练的模型 1.5 定义损失函数和优化器1.6 使…

JDK8 Stream测试

如何创建一个流Stream&#xff0c;三种方法&#xff1a;测试 1、通过 java.util.Collection.stream() 2、通过数组来创建流 3、静态方法&#xff1a;使用Stream的静态方法&#xff1a;of()、iterate()、generate() public class StreamJ {public static void main(String[] arg…

redis持久化与调优

一 、Redis 高可用&#xff1a; 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#x…

POJ 2886 Who Gets the Most Candies? 树状数组+二分

一、题目大意 我们有N个孩子&#xff0c;每个人带着一张卡片&#xff0c;一起顺时针围成一个圈来玩游戏&#xff0c;第一回合时&#xff0c;第k个孩子被淘汰&#xff0c;然后他说出他卡片上的数字A&#xff0c;如果A是一个正数&#xff0c;那么下一个回合他左边的第A个孩子被淘…

通过usb串口发送接收数据

USB通信使用系统api&#xff0c;USB转串口通信使用第三方库usb-serial-for-android&#xff0c; 串口通信使用Google官方库android-serialport-api。x 引入包后在本地下载的位置&#xff1a;C:\Users\Administrator\.gradle\caches\modules-2\files-2.1 在 Android 中&#x…

【python海洋专题十一】colormap调色

【python海洋专题十一】colormap调色 上期内容 本期内容 图像的函数包调用&#xff01; Part01. 自带颜色条Colormap 调用方法&#xff1a; cmap3plt.get_cmap(ocean)查询方法&#xff01; Part02. seaborn函数包 01&#xff1a;sns.cubehelix_palette cmap5 sns.cu…

string类的模拟实现(万字讲解超详细)

目录 前言 1.命名空间的使用 2.string的成员变量 3.构造函数 4.析构函数 5.拷贝构造 5.1 swap交换函数的实现 6.赋值运算符重载 7.迭代器部分 8.数据容量控制 8.1 size和capacity 8.2 empty 9.数据修改部分 9.1 push_back 9.2 append添加字符串 9.3 运算符重载…