用NI的数据采集卡实现简单电子测试之4——半导体温度传感器
本文从本人的163博客搬迁至此。
为了展示NImax(Measurement & Automation explorer)的强大配置功能,做了一个半导体温度传感器测试的示例。
一、半导体温度传感器
半导体温度传感器 (semiconductor transducer )利用半导体材料的物理特性制成的温度传感器。其优点在于:灵敏度高、体积小、响应速度快和成本低等;缺点是测量范围较窄,精度不高等。早期的半导体温度传感器需要配备辅助电路,线性不佳,且整个测量系统需要标定后方可使用,应用不方便。但各大半导体公司推出的新型温度传感器,一般经过线性校正,且采用电压直接输出,极大地简化了温度的测量步骤。
半导体温度传感器可大致分为"数字接口"和"模拟接口"两大类,常见的DS18B20就属于数字接口类,这里为了展示USB-6009的模拟测试功能,选择模拟接口类型的MCP9700。MCP9700的灵敏度达到10mV/℃,具有非常优异的线性,且可以直接测量0℃以下的温度。MCP9700典型的温度——电压关系如下图所示:

图1 MCP9700输出电压和温度对应曲线
二、测试电路
由图1可知,在0-100℃的常温下,MCP9700的输出电压为0.5~1.5V,如果直接送给USB-6009配置为单端(RSE)模式的模拟输入通道(输入范围为-10V~+10V),则显得输入范围太小。因此在MCP9700的输出端配置了一个同相放大器来增加其输入范围。

图2 温度传感器输出放大电路
经过放大后,在0-100℃的常温下,放大器的输出电压为1~3V。
三、在NImax中配置换算规则
NImax是NI公司的硬件配置平台,在该平台上可以测试、配置NI公司生产的各种硬件板卡和设备。本例在NImax配置换算关系,随后在LabVIEW程序框图中使用该换算关系,这样就可以直接在程序框图中直接得到换算结果,非常直观方便。
1、打开NImax。

图3 打开Measurement & Automation explorer
2、单击右键单击左侧目录树中的"换算",在弹出的快捷菜单中选择"新建…",弹出下图,单击"下一步"。

图4 新建NI-DAQmx
3、由于MCP9700具有线性输出,所以在弹出的下图中选择左侧框中的"映射范围"。

图5 选择换算关系
4、输入换算名称:"MCP9700温度换算(放大两倍)",并单击"完成"。

图6 输入换算名称
5、单击Measurement & Automation explorer主界面左侧"换算"下的"MCP9700温度换算(放大两倍)",在左侧配置换算关系。

图7 配置换算关系
由于选择了线性关系,因此只需指定线性映射关系中的"最大值"和"最小值"两个点即可固定换算关系。如上图所示,换算前的最大值为3V,最小值为1V;换算后的最大值为100℃,最小值为0℃;换算前单位为"伏特",换算后为"摄氏度"。最后单击上部的"保存"。
四、测试程序
在LabVIEW的程序框图中配置USB-6009,其中"自定义换算关系"连线端子处需连接到NImax中配置的换算关系"MCP9700温度换算(放大两倍)",如图8所示。具体过程是:在连线状态下右键单击"自定义换算关系"端子——在弹出快捷菜单中选择"创建","常量"——在工具选板中选择"操作值"工具——单击刚创建的"常量"——在图8所示的快捷菜单中选择"MCP9700温度换算(放大两倍)"。

图8 指定事先配置的"自定义换算关系"
温度测试程序如图9所示。

图9 温度测试程序
上图程序中,每输出一个新的温度值都启动了100次测量,并对其求平均,以降低噪声的影响。
五、程序运行结果
打开图9所示的测试程序,并用手触摸MCP9700得到图10所示的测试曲线。

图10 实际测试得到的温度曲线
未完待续……
用NI的数据采集卡实现简单电子测试之4——半导体温度传感器的更多相关文章
- 用NI的数据采集卡实现简单电子测试之6——数字I/O及测试平台
本文从本人的163博客搬迁至此. 前面几个例子介绍了NI数据采集卡的模拟输入和输出功能,本例则集中介绍USB-6009的数字输入输出功能.本例包括基本数字IO电路及在LabVIEW中控制USB-600 ...
- 用NI的数据采集卡实现简单电子测试之1——USB-6009简介
本文从本人的163博客搬迁至此. 几年以来,一直担任学校“虚拟仪器”课程教师.以前上课都以介绍LabVIEW编程为主,硬件实验一直没有开展.这次借“西部高校实力提升工程”的机会,学院采购了一批NI的数 ...
- 用NI的数据采集卡实现简单电子测试之2——绘制三极管输出特性曲线(面)图
本文从本人的163博客搬迁至此. 想设计几个实验,既能展示NI的LabVIEW和数据采集卡的功能特点,又能够让普通电类专业本科学生可以理解,自然首先想到了<电子技术基础>课程的内容.第一个 ...
- 用NI的数据采集卡实现简单电子测试之5——压控振荡器的测试
本文从本人的163博客搬迁至此. 为了展示连续信号采集的方法,以其外部触发采集功能.我用运算放大器实现了一个最简单的低频压控振荡器(VCO),作为USB-6009采集的信号源.在LabVIEW下编写的 ...
- 用NI的数据采集卡实现简单电子测试之3——绘制二极管V-I特性曲线图
本文从本人的163博客搬迁至此. 接下来用USB-6009和LabVIEW实现对二极管最重要的特性曲线“V-I特性曲线”的测试和绘制. 一.什么是二极管V-I特性曲线 康华光版的<电子技术 ...
- 【转】linux设备驱动之MMC SD卡——核心层简单分析
原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************** ...
- python3 练手实例5 做一个简单电子时钟
import time,sys,os while(1): t = time.strftime('%Y-%m-%d\n%H:%M:%S',time.localtime(time.time())) pri ...
- LabVIEW生成.NET的DLL——C#下调用NI数据采集设备功能的一种方法 [原创www.cnblogs.com/helesheng]
LabVIEW是NI公司的数据采集设备的标准平台,在其上调用NI-DAQmx驱动和接口函数能够高效的开发数据采集和控制程序.但作为一种图形化的开发语言,使用LabVIEW开发涉及算法和流程控制的大型应 ...
- PBOC电子钱包与电子现金及QPBOC
电子钱包:EP 电子现金:EC,在PBOC规范中的13部分定义了<基于借贷记应用的小额支付规范中> QPBOC:在PBOC规范的12部分中定义了<费接触式IC卡支付规范> PB ...
随机推荐
- 计算机二进制表示、cpu架构(x86_64)、cpu频率、核心、主板
计算机二进制表示 色彩二进制表示: 红色 255,0,0绿色 0,255,0蓝色 0,0,255 文字二进制表示:A 65a 97 cpu架构 cpu架构有精简指令集和复杂指令集两种精简指令集cpu有 ...
- 转 Ubuntu Linux 环境变量PATH设置
Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...
- [IIS] [PHP] 500.19 随机出现
微信确认有BUG: https://support.microsoft.com/en-au/help/3007507/-http-error-500.19-error-when-you-browse- ...
- Azure Document DB Repository 的实现
阅读 需要大约 5 分钟. 前景: Azure Cosmos DB 由 Microsoft 提供,是全球分布式多模型数据库. 通过 Azure Cosmos DB 跨任意数量的 Azure 地理区域 ...
- 数组(list)分组、分段
对一个list进行分组,要求控制每组中的元素个数: 1.使用切片分组: lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1] #lst可为 ...
- Linux fdisk命令详解[主分区/逻辑分区创建]
fdisk常见命令参数 -b<分区大小>:指定每个分区的大小: -l:列出指定的外围设备的分区表状况: -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块: -u: ...
- Apache下开启SSI配置,使html支持include包含
有的时候,我们的页面有公共的导航栏navbar,公共的脚注footer,那么我们就想把这些公共部分独立成一个html文件,在要引用的地方像引用js,css一样,给包含进来. Apache下开启SSI配 ...
- PHP利用二叉堆实现TopK-算法的方法详解
前言 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证 内存和速度的效率,我们可能第一个想法就是利用排序,然后 ...
- 3、Django下载与简介
第1节:MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一 ...
- CentOS 7下启动、关闭、重启、查看MySQL服务
1.启动命令 [root@xufeng Desktop]# service mysqld startRedirecting to /bin/systemctl start mysqld.service ...