zoukankan      html  css  js  c++  java
  • 用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 实际测试得到的温度曲线

    未完待续……  

  • 相关阅读:
    在yii中使用Filter实现RBAC权限自动判断
    关于WEB设计透明和阴影
    一句话扯扯数据结构的概念点
    Console API Google 浏览器开发人员工具使用
    git提交项目时候,忽略一些文件
    学习笔记 如何解决IE6 position:fixed固定定位问题{转载}
    [转载]yii jquery折叠、弹对话框、拖拽、滑动条、ol和ul列表、局部内容切换
    Jquery 常用方法经典总结【砖】
    PHP中冒号、endif、endwhile、endfor这些都是什么
    [转载]救命的PHP代码
  • 原文地址:https://www.cnblogs.com/helesheng/p/9833552.html
Copyright © 2011-2022 走看看