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

2023-10-04 21:54

本文主要是介绍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项目合作开发,请与我们联系。

这篇关于LabVIEW开发教学实验室自动化INL和DNL测试系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/2807

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis