实验零 搭建104子Vi的 Labview运行环境
搭建104子Vi的 Labview运行环境
本系列例程VI采用的是Labview2017
32位中文版设计,需电脑预装labview2017或者更高版本的才能使用。如果出现下图情况,请升级labview。注意:当用比2017版本更高版本打开过程序后,就不能再用2017打开程序。
2.安装labview2017 软件。安装软件如图。
3.打开工程文件夹“104工程”文件夹后,双击打开工程“104工程.lvproj”。
4.打开工程后界面如图。该工程包括。
传感器模块例程实现源码:三色LED/按键/温度/电机测速/PT100测温/应变片称重/热电偶测温等;
信号源&示波器例程实现源程序;
接口函数;
5. 如果打开工程或者实验VI后出现提示找不到子VI,
或者加载vi路径警告,主要原因是EPI提供的VI放置位置不正确或没有加载到工程中,将文件夹“EPI接口函数”,放入相应的工程下调用就行。
6.如果上一步没有出错,就能够运行例程,例如双击“第一个例程.vi”,弹出前面板,再点击:窗口-显示程序框图。
7.如果没有报错的情况下,可以直接点击“运行”按钮,运行程序。
8,如果“运行”按钮是灰色,说明程序中有错误,需要先排除错误程序才能继续“运行”。
9,排除故障定位方法:点击“运行”按钮,会弹出错误提示。
10. 将线连接好后,使用USB连接EPI设备和电脑USB口,同时连接AIN1与S1:
11.硬件连接好后,再点击“运行”。运行中程序如图所示。这样我们就将运行环境搭建成功。
12.如需要中止/暂停正在运行程序,按下相应的按钮。
实验一 第一个例程
目录
实验一 第一个例程
一、实验目标
1.新建第一个labview的vi;
2.调用EPI提供的子vi编写程序;
3.信号源“S1”发送正弦波,示波器通道1“AIN1”采集发送的波形。
二、硬件介绍
LITE104平台简介如图:
三、硬件连接
1. LITE104通过usb线和电脑连接。
2. 将LITE104上的“S1”和“AIN1”连接在一起。
电路板连接如图所示:
四、实验步骤
第一个例程实现信号源S1输出波形和示波器AIN1采集,用USB线连接“LITE104”后,用连接线将接口“S1”“AIN1”连接在一起,通过我们编写的程序,可以在labview上查看波形。
注意:使用之前需要将提供的文件中的文件夹“EPI接口函数”复制到“104工程”路径下。
- 点击运行可以看到AIN1采集到的S1发出的正弦波形。
2.
通过修改源代码,可以自行修改S1发出的波形类型,频率等参数,也可以修改AIN1的采样率和采样深度。
五、LabVIEW程序解读
程序使用 E-PI
提供的接口函数通过软件编程实现传感器控制/测量。主要使用“设备初始化.vi”、“EPI-m104信号源设置.vi”
、“数据采集.vi” 、“采样时间设置.vi” 、“采样量程设置.vi”。
示波器测量程序需要放在while循环中,对于初始化和配置程序,只需要一次运行,我们就放在while循环外部。
5.1 整体框图
下图展示了本实例的运行界面和程序框图。信号源S1发送正弦波,示波器AIN1观测采集数据。
运行界面
整体程序框图
5.2 程序流程图
实例流程图
5.3 新建VI放置子VI
1.
新建vi,在程序面板中,放置第一个设备vi。用labview打开工程“104工程”放置“设备初始化.vi”:104工程->EPI接口函数->设备初始化.vi。在所有运行程序中,“设备初始化.vi”是必须使用,用于初始化VISA控件,和EPI设备进行连接。
初始化
设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,返回一个端口设置结果;
在实际实现时,当设备初始化.vi
返回“真”时才对设备进行设置,即在“真”分支中设置,若返回“假”值表示初始化设备失败,不进行任何操作。
5.4 信号源设置
同样的方式放置“EPI-m104信号源设置.vi”,设置信号源S1,输出频率5KHz,峰峰值500mV,直流量0V的正弦波。调用“EPI-m104信号源设置.vi”函数。
EPI-m104信号源设置.vi:该 VI
设置S1的输出(正弦波与三角波),包括S1的频率,峰峰值,直流。
5.5 采样时间设置
放置“采样时间设置.vi”,用于设置示波器采样率为370kHz和采样深度1000个点。
5.6 采样量程设置
示波器采样量程设置,“采样量程设置.vi”,用于设置通道的电压输入范围,通道1的量程设置为±5v。
5.7 数据采集
经过前面几个基本函数的配置,剩下的只需在while循环中进行数据采集。调用“数据采集.vi”,函数参数:采样深度,根前面设置的一样。
在程序面板中,将波形图连在“AIN1采集数据”,在while循环中,加入“开关”控制。
到此,第一个简单例程已经讲解完毕,可以改变各个参数,观察效果。
实验二 三色LED模块
目录
实验二 三色LED模块
一、实验目标
1.熟悉PWM控制LED亮度原理;
2.调用EPI提供的子vi编写控制三色LED灯程序;
3.PWM波占空比自动变化,实现LED灯颜色和亮度变化。
二、硬件介绍
2.1 LITE104数字接口
逻辑接口和串行IO是复用管脚.
逻辑IO描述
逻辑IO复用功能
2.2 三色LED模块
三色 LED 将红、绿、蓝三种 LED
集成在一个灯珠里,通过调节三种颜色的亮度,可以实现彩色光。亮度通过lite104的 PWM
控制,占空比越大,灯越亮。
三色 LED 模块有 4 个管脚,“R” 是红色,“G” 是绿色,“B” 是蓝色,“-”是 GND
电路公共端。
名称 | 功能 |
---|---|
B | 蓝色LED正向端 |
G | 绿色LED正向端 |
R | 红色LED正向端 |
LED负向端 |
2.3 管脚说明
通过跳线和传感器相连,因为PWM和Digital共用管脚。下表列处对应关系。
Digital管脚 | PWM对应管脚 |
---|---|
DO0 | PWM1 |
DO1 | PWM2 |
DO2 | PWM3 |
DO3 | PWM4 |
下表列出了PWM对应传感器 的说明:
表 1 端口说明
插孔名称 | 说明 |
---|---|
PWM3 | PWM(脉宽调制)第 3 路,控制红色 LED 亮度 |
PWM2 | PWM(脉宽调制)第 2 路,控制绿色 LED 亮度 |
PWM1 | PWM(脉宽调制)第 1 路,控制蓝色 LED 亮度 |
GND | 电路的公共参考点 |
三、实验步骤
3.1 PWM管脚和LED连接
将LITE104通过usb线和电脑连接,将LITE104的PWM1/2/3分别连到LED模块R/G/B管脚。
电路板连接如图所示:
设备连接图
3.2 运行程序
Labview运行后,可以看上位机PWM变化。
3.3 观察测量
程序运行后,观察LED颜色变化,用示波器测量PWM变化。
四、LabVIEW程序解读
程序使用 E-PI
提供的接口函数通过软件编程实现传感器控制/测量。主要使用“设备初始化.vi”、“PWM1&2.vi”
。
4.1 整体框图
图展示了本实例的运行界面和程序框图。实例运行效果上位机自动调节“PWM”占空比,观察LED亮度变化。
运行界面
整体程序框图
4.2 程序流程图
实例流程图
4.3 Init状态
Init”状态为程序初始化状态,该状态完成E-PI 通信端口设置和PWM3
输出设置(PWM3输出占空比不变,当然用户也可设置成可变。若设置成可变,则需在“Output”状态中实现
其代码)。该状态代码如图所示:
“Init”状态
(1) 设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,返回一个端口资源;若未找返回的 boolean
值为 false,并且会返回一个错误。(vi 具体解释可见功能 VI 简述.pdf)
(2) PWM.vi:该 VI 是一个多态
VI,可以根据选择下拉列表选择当前使用功能。如选择“PWM1& PWM 2”那么程序实际控制
PWM1 和 PWM2 端口;如果选择“PWM3&PWM4”则实际控制 PWM3 和 PWM4
端口。实例在初始化时只需设置 PWM3 即可,故可只使能 PWM3。(vi 具体解释可见功能
VI 简述.pdf)
在实际实现时,当设备初始化.vi 返回“True”时才对 PWM3
的设置,即在“True”分支中设置,同时更改状态为“Output”,在下一次循环时就会进入“Output”状态;若返回“False”,不进行任何操作。
4.4 Output状态
“Output”状态下需要动态改变 PWM1 和 PWM2 的输出占空比,用来调节 LED
灯的亮度。该状态代码如图所示:
“Output”状态
(1)PWM.vi:该 VI 是一个多态
VI,可以根据选择下拉列表选择当前使用功能。如选择“PWM1& PWM 2”那么程序实际控制
PWM1 和 PWM2 端口;如果选择“PWM3&PWM4”则实际控制 PWM3 和 PWM4
端口。实例在“Output”状态下只需改变 PWM1 和 PWM2 的输出占空比。
在实现上,程序控制 PWM1 占空比输出范围为 0%~100%,步进为 1%;控制 PWM2
占空比输出范围为 0%~100%,步进为 10%。PWM1 完成一次循环设置后,PWM2
才进行一次设置。此处实现用户可根据自身需求进行修改。
实验三 按键模块
目录
实验三 按键模块
一、实验目标
1.熟悉按键原理;
2.调用EPI提供的子vi编写读取按键状态程序;
二、硬件介绍
2.1 LITE104数字接口
逻辑接口和串行IO是复用管脚.
逻辑管脚说明
2.2 按键模块
按键模块提供开关信号,按键和电阻串联,需要外部供电,按键不按时是高电平,按下后输出低电平。
传感器有 3 个管脚,“S” 是按键管脚一端,“-”按键管脚另一端,中间管脚是连在电阻端。
名称 | 功能 |
---|---|
S | 按键管脚一端(接5v) |
供电gnd | |
按键管脚另一端 |
2.3 管脚说明
因为Digital和GroupA共用管脚。下表列处对应关系
Digital管脚 | GroupA对应管脚 |
---|---|
DIN7 | GroupA_IO0 |
DIN8 | GroupA_IO1 |
DIN9 | GroupA_IO2 |
DIN10 | GroupA_IO3 |
Digital和GroupB共用管脚。下表列处对应关系
Digital管脚 | GroupB对应管脚 |
---|---|
DO4 | GroupB_IO0 |
DO5 | GroupB_IO1 |
DO6 | GroupB_IO2 |
DO7 | GroupB_IO3 |
DO8 | GroupB_IO4 |
DO9 | GroupB_IO5 |
DO10 | GroupB_IO6 |
DO11 | GroupB_IO7 |
按键使用到了5V,GND,和GPIOA_IO2。下表列处对应关系
插孔名称 | 说明 |
---|---|
GPIOA2 | GPIO 口,读取按键端口电平状态 |
+5V | 传感器的供电,易派开启对外供电后会输出 5V |
GND | 电路的公共参考点 |
三、实验步骤
3.1 DIN管脚和按键连接
将LITE104通过usb线和电脑连接,将LITE104的DIN9连到按键模块管脚。
电路板连接如图所示:
设备连接图
3.2 运行程序
Labview运行后,按下按键可以观察上位机按键状态变化。
按键未按下状态 按键按下状态
四、LabVIEW程序解读
程序使用 E-PI
提供的接口函数通过软件编程实现传感器控制/测量。主要使用“设备初始化.vi”、“GroupA_独立
IO.vi”、“电源.vi” 。
实例在程序实现中采用了“顺序帧”模式,按照时间先后发生的事即可使用“顺序帧”
模式。如在本实例中首先需要配置 E-PI
通信端口并且打开电源对外供电功能,之后程序需要循环读取按键端口电平状态,事件的发生存在先后顺序,故可使用“顺序帧”结构,同时可以使程序变得更加可读。当然在实现代码时也可以使用“状态机”模式:如将实例分成初始状态和读取状态。“状态机”模式可见“三色
LED 模块”介绍。
4.1 整体框图
下图展示了本例程的运行界面和程序框图。
按键未按下状态 按键按下状态
整体程序框图
4.2 程序流程图
实例流程图
4.3 第一帧程序
第一帧程序实现 E-PI
通信端口设置和电源配置。程序框图可见下图第一帧。其中使用了两个接口函数:设备初始化.vi
和电源.vi。
设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,并返回一个端口资源;若未找到端口返回的
boolean 值为 false,返回一个错误。
电源.vi:该 VI 是一个多态
VI,在使用时需要在其下拉列表中选择“电源配置”功能。设置使能端口为“True”可开启
E-PI 对外供电。
在程序上如果E-PI 存在,即“设备初始化.vi”设置 E-PI 通信端口成功则boolean
值返回true,该值直接作为“电源.vi”的输入,即开启了 E-PI 对外供电功能;如果 E-PI
不存在,“设备初始化.vi”boolean 值返回 false
并且携带一个错误返回,此时“电源.vi”不会开启对外供电功能,同时程序第二帧循环部分将不再执行,最后弹出错误提示。
端口设置和电源配置
4.4 第二帧程序
第二帧程序实现按键端口(GroupA_IO2)的电平状态读取。当按键为按下时该端口为高电平,“GroupA_独立
IO.vi”的 boolean 返回值为“true”;按键按下时改端口为低电平,“GroupA_独立 IO.vi”的
boolean 返回值为“false”。程序前面板(界面)使用 LED 表示按键按下状态,由于
LED“true”时灯亮,“false”时灯灭,程序添加取反操作后,使用 LED
灯亮来表示按键按下;灯灭表示按键未按下。程序如下:
端口电平状态读取
实验四 温度传感器模块
目录
实验四 温度传感器模块
一、实验目标
1.熟悉温敏电阻原理;
2.调用EPI提供的子vi编写读取温敏电阻输出电压程序;
二、硬件介绍
2.1 温敏传感器模块
温度传感器利用温敏电阻的特性,电阻值随温度变化而产生变化,将温敏传感器和电阻串联,再将输出信号经过运放放大,将温度转换为电压值。通过
E-PI
读取的也是温度传感器当前环境下对应的电压值,如要知道电压代表的温度值,则需要进行校准以获取电压和温度的特性曲线。
传感器有 4 个管脚,AO 是温度转化为电压输出,G 是公共参考点,+是供电,DO
是内部比较器的输出,比较的门限由蓝色精密电位器调节。出厂时调节在 2.5V 左右。
名称 | 功能 |
---|---|
A0 | 模拟输出 |
G | 供电gnd |
+ | 供电5V |
DO | 数字输出,温度电压经过比较器输出 |
三、实验步骤
3.1 硬件电路连接
将LITE104通过usb线和电脑连接,将LITE104的AIN1连到温度传感器模块输出管脚。连接电源D5V和GND.
电路板连接如图所示:
设备连接图
温度传感器使用了 3个插孔:
下表列出传感器板和EPI设备连接关系:
传感器板需要功能 | 传感器板接口 | EPI对应接口 | EPI接口功能 |
---|---|---|---|
传感器模拟输出 | AO | AIN1 | 示波器AIN1 |
5V供电 | + | D5V | 5V电源输出 |
与示波器共地 | GND | GND | 仪器仪表GND |
3.2 运行程序
Labview运行后,观察温度传感器输出变化。
3.3 测量观察
1. 读取温度计测得当前温度。和当前采集电压值,记录温度和电压测量数据。
2.改变温度,再测量当前温度和电压值。
3.画出温度和电压关系曲线图。
四、LabVIEW程序解读
程序使用 E-PI
提供的接口函数进行温度模块数据采集软件实现。接口函数涉及:设备初始化.vi、电源.vi、EPI-m104_耦合设计.vi、采样时间设置.vi、采样量程设计.vi、数据采集.vi。这些接口函数可参见“功能
VI 简述.pdf”。
4.1 整体框图
下图展示了本例程的运行界面和程序框图。
运行界面
整体程序框图
4.2 程序流程图
实例流程图
4.3 Init状态
“Init”状态为程序初始化状态,该状态完成 E-PI
通信端口设置,以及设置温度传感器数据采集方式。
“Init”状态
(1)设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,并返回一个端口资源;若未找返回的 boolean
值为 false,并且会返回一个错误。
(2) 电源.vi:该 VI 是一个多态
VI,在使用时需要在其下拉列表中选择“电源配置”功能。设置使能端口为“True”可开启
E-PI 对外供电。
(3) EPI-m104_耦合设计.vi: 该 VI
是一个多态VI,在使用时需要在其下拉列表中选择“AC”, “DC”是示波器耦合方式。
(4) 采样时间设置.vi:该 VI
是一个多态VI,在使用时需要在其下拉列表中选择“EPI-m104”,
“EPI-m104”是开发平台型号,可在平台背面查看(“P/N:EPI-m104”字样)。
(5) 采样量程设置.vi:该 VI
是一个多态VI,在使用时需要在其下拉列表中选择“EPI-m104”,
“EPI-m104”是开发平台型号,可在平台背面查看(“P/N:EPI-m104”字样)。
(6) 在实际实现时,当串口设置.vi
返回“True”才进行后续设置,即在“True”分支中设置,
同时更改状态为“Read”,在下一次循环时就会进入“Read”状态;若返回“False”,不进行任何操作。
4.4 Read状态
“Read”状态下不断采集温度传感器上的数据。该状态代码如图所示:
“Output”状态
数据采集.vi:该 VI 是一个多态 VI,在使用时需要在其下拉列表中选择“EPI-m104”,
“EPI-m104”是开发平台型号,可在平台背面查看(“P/N:EPI-m104”字样)。在实现上,“Init”状态中设置采样数据个数为“1000”,所以每次“数据采集.vi”将返回
“1000”数据值,故在“True”分支中对“1000”个数据进行了平均处理,最后将平均值展示在
前面板上。
实验五 光敏传感器模块
目录
一、实验目标
1.熟悉光敏电阻原理;
2.调用EPI提供的子vi编写读取光敏电阻输出电压程序;
二、硬件介绍
2.1 光敏传感器模块
光敏传感器可以将光的强弱转换电阻大小,经过串联电阻转换为电压值。光强则电压低,光弱则电压高。
传感器有 3 个管脚,“S” 是光敏管脚一端,“-”光敏管脚另一端,中间管脚是连在电阻端。
名称 | 功能 |
---|---|
S | 光敏管脚一端(接5v) |
供电gnd | |
光敏管脚另一端 |
三、实验步骤
3.1 硬件电路连接
将LITE104通过usb线和电脑连接,将LITE104的AIN1连到光敏传感器模块输出管脚。连接电源D5V和GND.
电路板连接如图所示:
设备连接图
光敏传感器使用了 3个插孔:
下表列出传感器板和EPI设备连接关系:
传感器板需要功能 | 传感器板接口 | EPI对应接口 | EPI接口功能 |
---|---|---|---|
传感器模拟输出 | 输出 | AIN1 | 示波器AIN1 |
5V供电 | 供电 | D5V | 5V电源输出 |
与示波器共地 | GND | GND | 仪器仪表GND |
3.2 运行程序
Labview运行后,观察光敏传感器输出变化。
3.3 测量观察
1. 改变光照强度,观察光敏传感器输出电压值。
2.记录有光和无光光敏电阻输出电压,计算出光敏传感器电阻值。
四、LabVIEW程序解读
程序使用 E-PI
提供的接口函数进行光敏模块数据采集软件实现。接口函数涉及:设备初始化.vi、电源.vi、EPI-m104_耦合设计.vi、采样时间设置.vi、采样量程设计.vi、数据采集.vi。这些接口函数可参见“功能
VI 简述.pdf”。
实例在程序实现中采用了“状态机”模式,该模式可见“三色 LED
模块”介绍,此处不再讲述。
下图展示示了本实例的运行界面和程序框图(只有其中一个状态,具体状态实现参见之后章节)。在实验过程中可将模块放置在不同光照强度下,同时观察程序中曲线变化。下图中曲线代表不同光照下程序采集的数据变化。。
4.1 整体框图
下图展示了本例程的运行界面和程序框图。
运行界面
整体程序框图
4.2 程序流程图
实例流程图
4.3 Init状态
“Init”状态为程序初始化状态,该状态完成 E-PI
通信端口设置,以及设置光敏传感器数据采集方式。
“Init”状态
(1)设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,并返回一个端口资源;若未找返回的 boolean
值为 false,并且会返回一个错误。
(2) 电源.vi:该 VI 是一个多态
VI,在使用时需要在其下拉列表中选择“电源配置”功能。设置使能端口为“True”可开启
E-PI 对外供电。
(3) EPI-m104_耦合设计.vi: 该 VI
是一个多态VI,在使用时需要在其下拉列表中选择“AC”, “DC”是示波器耦合方式。
(4) 采样时间设置.vi:该 VI
是一个多态VI,在使用时需要在其下拉列表中选择“EPI-m104”,
“EPI-m104”是开发平台型号,可在平台背面查看(“P/N:EPI-m104”字样)。
(5) 采样量程设置.vi:该 VI
是一个多态VI,在使用时需要在其下拉列表中选择“EPI-m104”,
“EPI-m104”是开发平台型号,可在平台背面查看(“P/N:EPI-m104”字样)。
(6) 在实际实现时,当串口设置.vi
返回“True”才进行后续设置,即在“True”分支中设置,
同时更改状态为“Read”,在下一次循环时就会进入“Read”状态;若返回“False”,不进行任何操作。
4.4 Read状态
“Read”状态下不断采集温度传感器上的数据。该状态代码如图所示:
“Output”状态
数据采集.vi:该 VI 是一个多态 VI,在使用时需要在其下拉列表中选择“EPI-m104”,
“EPI-m104”是开发平台型号,可在平台背面查看(“P/N:EPI-m104”字样)。在实现上,“Init”状态中设置采样数据个数为“1000”,所以每次“数据采集.vi”将返回
“1000”数据值,故在“True”分支中对“1000”个数据进行了平均处理,最后将平均值展示在
前面板上。
实验六 槽型光耦&霍尔IC电机测速实验
目录
实验六 槽型光耦&霍尔IC电机测速实验
一、实验目标
1.熟悉槽型光耦和霍尔IC原理;
2.熟悉PWM电机调速原理;
3.调用EPI提供的子vi编写PWM控制程序;
4.调用EPI提供的子vi编写频率测量程序。
二、硬件介绍
槽型光耦霍尔电机实验板主要由PWM驱动电路(增加驱动能力,驱动电机)、直流电机、槽型光耦、霍尔组成。
2.1槽型光耦测量原理
槽型光耦是光电传感器的一种,是以光为媒体由发光体与受光体间的光路遮挡或由反射光的光亮变化为信号检测物体的位置、有无的装置。槽型光耦具有检测距离长、响应速度快、受环境强光的影响三个特点。利用该特性并结合特殊的测量装置,槽型光耦可用于测量微型直流电机的转速。
图1 槽型光耦
光电测速码盘测速法:即在微型直流电动机转轴上安装一个圆形码盘,同时将码盘置于槽型光耦的槽中,码盘可以随电机顺畅旋转,如图2所示。微型直流电动机的转动将带动光电测速码盘旋转,利用槽型光耦装置将转速信号转换为脉冲信号,进而通过计算单位时间内脉冲信号的个数获得电动机的实际转速。
图 2码盘和装置
槽型光耦测速计算:
如果示波器测量频率为f,则转速n=f*60/6
60是转速变换到分钟,6代表每转一圈透光逢出现6次,f是示波器测量频率。
2.2霍尔IC测量原理
霍尔IC又称霍尔开关,是利用霍尔效应制成的有源磁电转换器件,是在霍尔效应原理的基础上,利用集成封装和组装工艺制作而成,它可方便的把磁输入信号转换成实际应用中的电信号,同时又具备工业场合实际应用易操作和可靠性的要求,
霍尔开关可应用于接近开关,压力开关,里程表等,作为一种新型的电器配件。
图3 霍尔IC
霍尔测速码盘测速法:即在微型直流电动机转轴上安装一个圆形码盘,同时将单个磁极置于码盘边缘处,码盘可以随电机顺畅旋转,如图4所示。微型直流电动机的转动将带动测速码盘旋转,若磁极的极性与霍尔IC匹配,码盘上的磁极与霍尔IC配合可将转速信号转换为脉冲信号,进而通过计算单位时间内脉冲信号的个数获得电机的实际转速。这一点与槽型光耦测量微型直流电机转速类似。
图 4测速码盘及装置
霍尔IC测速计算:
利用图4所示装置,微型磁铁安装在码盘上,霍尔IC位于码盘右侧,小型直流电动机开始旋转,带动安装在电机转轴的测速码盘随之旋转,同时码盘上的微型磁铁也随之旋转。当微型磁铁接近霍尔IC时,霍尔IC将感应到微型磁铁的磁场,直至磁感应强度达到并超过工作点B(BOP)时,霍尔IC发生导通,输出低电平。当微型磁极远离霍尔IC时,霍尔IC感应到的磁场强度小于工作点B(BRP)时,霍尔IC关闭,输出高电平。霍尔IC周期性往复上述输出,实现了微型直流电机的转速转换为脉冲电信号的过程,如图5所示。
图5 霍尔IC+测速码盘工作原理
如果示波器测量频率为f,则转速n=f*60。
60是转速变换到分钟,f是示波器测量频率。
2.3 PWM电机驱动
直流电机选择PWM驱动控制,可以实现快速速度变换,输入PWM选择EPI设备的PWM1驱动,PWM1端口只能输出0-5V的没有驱动能力的信号,这里使用驱动电路DRV8837将信号变为0-11V电压,电流能够达到1.8A。
图 6电机驱动
PWM输入占空比和电机速度成反比的关系,占空比越高,速度越慢。
PWM输入占空比(5V) | 电机速度 |
---|---|
0% | 最快 |
100% | 停止 |
三、实验步骤
控制不同PWM占空比,测量电机转速。
3.1 硬件电路连接
1. 首先供电,将EPI设备12V 和GND和传感器板上的12V和GND连在一起;
2. 将EPI设备的PWM1连接到槽型光耦实验板的”PWM”输入接口;
3. 槽型光耦输出连接到示波器通道AIN1(用于测量转速),测量电路连接如图7.
供电连接图
图7电路连接
下表列出传感器板和EPI设备连接关系:
传感器板需要功能 | 传感器板接口 | EPI对应接口 | EPI接口功能 |
---|---|---|---|
Pwm输入端口 | PWM | PWM1 | PWM通道1 |
槽型光耦输出 | OUT | AIN1 | 示波器AIN1 |
供电GND | GND | GND | 虚拟仪器地 |
供电12V | 12V | +12V | 12V电源输出 |
3.2 PWM设置
输出PWM控制,设置PWM1的频率为1000Hz,输出高电平为5V,占空比设置为50%,界面设置如图。
3.3 示波器设置
使用示波器采集槽型光耦输出波形,AIN1时间轴设为10ms,采样量程设为±20v。
3.4 频率计算
示波器采集到波形,计算频率。根据光电码盘,计算出转速RPM。
3.5 观察测量
控制输出PWM的占空比,10%……90%,测量不同占空比下转速。
Pwm占空比 | |||||||||
---|---|---|---|---|---|---|---|---|---|
转速 |
四、LabVIEW程序解读
4.1 整体框图
图 8
展示了本实例的运行界面和程序框图,程序中计算频率使用了FFT的方式。由于是采用FFT计算频率,示波器一屏数据采样的方波周期越多,计算的频率越准确。
图 8 运行界面 图 9 整体程序框图
4.2 程序流程图
程序流程图如图10所示,先进行初始化,然后一直在while循环中采集数据,将采集到的数据计算得到当前频率,在程序运行中,可以更改PWM波的占空比和示波器设置的值。
图10实例流程图
4.3初始化设置
程序初始化设置状态,该状态完成EPI
通信端口设置、电源开启、示波器通道设置(采样率,采样量程)。初始化代码如图11所示:
图11 初始化
4.4 While循环
While循环中放置事件结构,在超时事件结构中,设置“超时”事件为100ms,相当于每隔100ms空闲事件处理一次“超时”结构里面的程序。在该状态下主要进行示波器数据采集和FFT测频率和计算转速。该状态代码如图
12所示:
图 12 while中超时程序
4.5 频率计算程序
将示波器采集的周期信号计算出频率代码如图13:
图 13 FFT测频
FFT测频率这部分代码,配合采样率和采样深度,计算出真实的频率值。
计算FFT频率时,采样率是随着时间轴变化,一帧数据采样的周期越多,计算出的频率越准确。
图 14 时间轴和采样率对照关系
FFT频率测量是将周期信号算快速傅里叶变化,去除直流信号后,找到幅度最大的点,就对应信号的频率。再将采样率和采样点数带入进行计算,就得出真实的频率。
4.6 PWM1设置程序
用于设置PWM1的占空比,输出电压幅度(3.3v/5v),输出频率,输出使能。
(1)PWM设置.vi:用于设置PWM的频率、输出电压幅度、占空比等
在实现上,程序会一直采集数据计算转速。当改变PWM的频率时,观察电机转速变换。
实验七 直流电机转速和PID控制
目录
实验七 直流电机转速和PID控制
一、实验目标
1.熟悉PID控制原理;
2.熟悉PWM电机调速原理;
3.调用EPI提供的子vi编写PID控制程序;
二、硬件介绍
槽型光耦霍尔电机实验板主要由PWM驱动电路(增加驱动能力,驱动电机)、直流电机、槽型光耦、霍尔组成。频率测量和槽型光耦测转速用到的电路和方法一致,本节主要时通过PID控制来实现实际转速跟踪目标转速,并改变“PID增益”观察运行效果。
2.1槽型光耦测量原理
槽型光耦是光电传感器的一种,是以光为媒体由发光体与受光体间的光路遮挡或由反射光的光亮变化为信号检测物体的位置、有无等的装置。槽型光耦具有检测距离长、响应速度快、受环境强光的影响三个特点。利用该特性并结合特殊的测量装置,槽型光耦可用于测量微型直流电机的转速。
图1 槽型光耦
光电测速码盘测速法:即在微型直流电动机转轴上安装一个圆形码盘,同时将码盘置于槽型光耦的槽中,码盘可以随电机顺畅旋转,如图2所示。微型直流电动机的转动将带动光电测速码盘旋转,利用槽型光耦装置将转速信号转换为脉冲信号,进而通过计算单位时间内脉冲信号的个数获得电动机的实际转速。
图 2码盘和装置
槽型光耦测速计算:
如果示波器测量频率为f,则转速n=f*60/6
60是转速变换到分钟,6代表每转一圈透光逢出现6次,f是示波器测量频率。
2.2 PWM电机驱动
直流电机选择PWM驱动控制,可以实现快速速度变换,输入PWM选择EPI设备的PWM1,PWM1端口只能输出0-5V的没有驱动能力的信号,需用DRV8337驱动电路将信号变为0-11V电压,电流能够达到1.8A。
图 6电机驱动
PWM输入占空比和电机速度成反比的关系,占空比越高,速度越慢。
PWM输入占空比(5V) | 电机速度 |
---|---|
0% | 最快 |
100% | 停止 |
三、实验步骤
改变PID参数,设定一个目标转速,观察实际测量出转速跟随目标转速动态变化,找出最优PID参数。
3.1 硬件电路连接
1. 首先供电,将EPI设备12V 和GND和传感器板上的12V和GND连在一起;
2. 将EPI设备的PWM1连接到槽型光耦实验板的”PWM”输入接口;
3. 槽型光耦输出连接到示波器通道AIN1(用于测量转速),测量电路连接如图7.
供电连接图
图7电路连接
下表列出传感器板和EPI设备连接关系:
传感器板需要功能 | 传感器板接口 | EPI对应接口 | EPI接口功能 |
---|---|---|---|
Pwm输入端口 | PWM | PWM1 | PWM通道1 |
槽型光耦输出 | OUT | AIN1 | 示波器AIN1 |
供电GND | GND | GND | 虚拟仪器地 |
供电12V | 12V | +12V | 12V电源输出 |
3.2 PWM & 示波器设置
输出PWM控制,设置PWM1的频率为1000Hz,输出高电平为5V,界面设置如图。使用示波器采集槽型光耦输出波形,AIN1时间轴设为20ms,采样量程设为±20v。
PWM设置 示波器设置
3.3 设定PID参数,
设定PID参数:P设定为“30”,I设定为“0.01”,D设定为“0.002”
3.4 界面介绍
1.用户转速设定旋钮,在运行过程中可以随时更改。
2.槽型光耦输出示波器测量后计算得出电机转速。
3.PWM1占空比的值(此值只用于观察pwm变化)。
4.目标转速和实际转速实时波形图。
。
3.5 运行
点击程序运行按钮,改变目标转速,观察实际转速和运行设定值变化。
3.6 PID控制方式
修改PID参数,观察实际运行效果。
当 用户设定“目标转速设定”发生变换,
目标转速和实际转速不相同,PID的控制程序输出“过程变量MV”发生变化,目标转速和实际转速差别越大,过程变量值越大,计算得出PWM值变换也越大;
PWM变化就反应在电机转速上,转速发生变化后,示波器测量传到上位机的转速也发生变化;
目标转速和实际转速比较,再产生“过程变量MV”,继续控制PWM,就一直如此循环直到目标转速和实际转速相同。
程序运行效果如图所示:
在实现上,程序会一直采集数据计算转速。然后通过PID算法计算PWM的占空比,再下发PWM值,改变电机转速,使实际转速达到目标转速,改变目标转速值,观察电机转速变换。可以改变不同的PID参数,观察转速控制效果。
3.7 PID参数调节
修改PID参数,观察实际转速变化有无过冲,和达到稳定状态时间,最终是否稳定。给出不同PID值,测量输出状态。
PID参数设定 | P | ||||||||
---|---|---|---|---|---|---|---|---|---|
I | |||||||||
D | |||||||||
是否过冲 | |||||||||
是否能稳定 | |||||||||
稳定时间 |
四、LabVIEW程序解读
程序使用 EPI 提供的接口函数通过软件编程实现传感器控制/测量。主要使用“初始化.vi”
、“数据采集.vi” 、“采样率设置.vi” 、“采样量程设置.vi” 、“PWM.vi”等。
PID算法实现使用Labview自带的PID控件VI,该多态VI的DBL数组实例可用于多环PID控制应用。
程序采用事件结构,事件处理结构中,“超时”中一直进行数据采集,采集可以通过示波器来采集,当前面板设置值改变时,事件处理结构处理完事件后再回到“超时”中进行数据采集。
4.1 整体框图
图5
展示了本实例的运行界面和程序框图,程序中计算频率使用了FFT的方式,使用了PID控制算法。“目标转速设定(RPM)”,实际转速会朝着目标转速调整,调整的参数可以通过“PID增益”来控制。
图5 运行界面
图6 整体程序框图
4.2 程序流程图
程序流程图如图7所示,先进行初始化,然后一直在while循环中采集数据,将采集到的数据计算得到当前频率,然后再通过PID算法,计算得出方波的占空比,从新下发PWM1值,在程序运行中。
图7 实例流程图
4.3初始化设置
程序初始化设置状态,该状态完成EPI
通信端口设置、电源开启、示波器通道设置(采样率,采样量程)。初始化函数在前面已经介绍,这里不在介绍,初始化代码如图8
所示:
图8 初始化
4.4 While循环
While循环中放置事件结构,设置“超时”事件为100ms,相当于每隔100ms空闲事件处理一次“超时”结构里面的程序。在该状态下主要进行:示波器数据采集和FFT测频率和计算转速;PID控制算法计算得出占空比值;下发新PWM1的值。该状态代码如图9所示:
程序中有频率测量是使用FFT测频方式,输出是”FFT测频”,一帧数据中,周期越多,频率越精确,所以在示波器时间轴设置上,可以设置为“50ms”。
图 9 while中超时程序
- 数据采集.vi:该VI用于读取EPI采集到的四个通道的数据。
(2)FFT.vi:该VI用于计算频率。
4.5转速测量
测的频率转除以一圈对应6个脉冲,再乘以60,得到每分钟转速。
图 10 转速变换
4.6 PID程序
PID算法这部分调用labview自带程序实现,通过控制前面板的PID参数,输出PID调节值,再将值转换成PWM占空比变化并设置PWM1的占空比,从而达到PID控制。
图11 PID算法
PID控件描述如图12:
图 12 PID控件
将PID输出的操作变量转换成PWM的占空比变换,如图13所示。
图 13 PWM1设置
在实现上,程序会一直采集数据计算转速。当改变目标转速时,程序会根据PID参数和当前实际转速,计算出PWM占空比变化值,再将新的PWM占空比发送。观察电机转速变换。
实验过程和测量方式用户可根据自身需求进行修改。
实验八 PT100测温
目录
实验八 三线制PT100测温实验
一、实验目标
1.熟悉三线制PT100测量温度原理和测量电路;
2.调用EPI提供的子vi编写测量温度程序;
3.通过万用表和示波器观测传感器输出动态变化。
二、硬件介绍
PT100测温实验板主要由两个0.5mA的电流源、三线制PT100、本地50欧和100欧精密电阻、差分放大电路(x1倍,x50倍)组成。
PT100测温电路板
2.1测量原理
金属具有随温度升高而电阻值变大的特性,与PTC热敏电阻性质类似,铂电阻的阻值会随温度变化,电阻—温度特性呈线性关系。
按照国际电工委员会IED751国际标准,依据温度系数TCR=0.003851、Pt100(R0=100Ω)、Pt1000(R0=1000Ω)标准设计铂电阻。
铂电阻的温度测量范围若处于0℃~600℃时,可用下式表示:
Rt=R0(1+At+Bt2)
若处于-200℃~0℃温度范围时,则可用下式表示:
Rt=R0[1+At+Bt2+C(t-100)t3]
其中:
Rt:温度为t时的电阻值
R0:温度为0是的电阻值
t:任意温度值(℃)
A、B、C:分度系数(如:PT100 TCR=0.003851时分度系数A=3.96847×10-3/℃-1
B=-5.847×10-7/℃-2 C=-4.22×10-12/℃-4)
表1所示为PT100铂电阻的分度表;图2为铂电阻的电阻—温度特性曲线,可以看出其线性关系较为理想。
图2 铂电阻电阻—温度特性曲线
温度℃ | 电阻值(Ω)R0=100.00Ω | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
0 | 100 | 100.39 | 100.78 | 101.17 | 101.56 | 101.95 | 102.34 | 102.73 | 103.12 | 103.51 |
10 | 103.9 | 104.29 | 104.68 | 105.07 | 105.46 | 105.85 | 106.24 | 106.63 | 107.02 | 107.4 |
20 | 107.79 | 108.18 | 108.57 | 108.96 | 109.35 | 109.73 | 110.12 | 110.51 | 110.9 | 111.28 |
30 | 111.67 | 112.06 | 112.45 | 112.83 | 113.22 | 113.61 | 113.99 | 114.38 | 114.77 | 115.15 |
40 | 115.54 | 115.93 | 116.31 | 116.7 | 117.08 | 117.47 | 117.85 | 118.24 | 118.62 | 119.01 |
50 | 119.4 | 119.78 | 120.16 | 120.55 | 120.93 | 121.32 | 121.7 | 122.09 | 122.47 | 122.86 |
60 | 123.24 | 123.62 | 124.01 | 124.39 | 124.77 | 125.16 | 125.54 | 125.92 | 126.31 | 126.69 |
70 | 127.07 | 127.45 | 127.84 | 128.22 | 128.6 | 128.98 | 129.37 | 129.75 | 130.13 | 130.51 |
80 | 130.89 | 131.27 | 131.66 | 132.04 | 132.42 | 132.8 | 133.18 | 133.56 | 133.94 | 134.32 |
90 | 134.7 | 135.08 | 135.46 | 135.84 | 136.22 | 136.6 | 136.98 | 137.36 | 137.74 | 138.12 |
100 | 138.5 | 138.88 | 139.26 | 139.64 | 140.02 | 140.39 | 140.77 | 141.15 | 141.53 | 141.91 |
表1 PT100铂电阻的分度表
2.2 恒流法测量PT100
两线制测量电路
保持恒定电流经过铂电阻即可称为铂电阻恒流测温电路,其基本测量原理如图4所示。两个恒流源0.5mA分别驱动PT100和本地高精度100欧电阻,电阻两端再通过差分放大器后输出一个稳定电压,测量电压,再通过公式换算,就能得到测量所需的温度。这种方式PT100的引线电阻(下图中红圈圈出的部分)会影响精度。
图4 两线制PT100恒流源测温原理
三线制测量方式
为了减小PT100引线电阻的影响,采用三线制的PT100来进行信号调理。PT100的线电阻就不会影响精度。
图5 PT100三线测温原理
三、实验步骤
3.1 硬件电路连接
供电连接:
此次需要从“PT100测温实验”电路板背面排孔进行供电“+12V/-12V/GND”连接。
背面排孔供电管脚电气连接如表:
管脚号 | 管脚功能 |
---|---|
5/6脚 | +12V |
7/8脚 | GND |
9/10脚 | -12V |
供电连接图:
信号连接:
本次实验使用三线制PT100电阻,电路硬件连接图如图6所示,这里使用板上1V电压基准驱动压控恒流源(也可以使用S1输出直流电压驱动),示波器使用通道AIN1测量输出示波器测量输出。
图6 三线制PT100测温电路板连接(使用板载1V参考,示波器同时测量)
下表列出传感器板和EPI设备连接关系:
传感器板需要功能 | 传感器板接口 | EPI对应接口 | EPI接口功能 |
---|---|---|---|
恒流源压控输入 | 输入 | S1 | 信号源S1 |
x50差分放大器输出 | 放大器输出 | AIN1 | 示波器AIN1 |
与示波器,信号源共地 | GND | GND | 仪器仪表GND |
供电12V | 12V | 12V | 仪器电源输出12V |
供电-12V | -12V | -12V | 仪器电源输出-12V |
3.2 labview运行
Labview运行后,可以看上位机温度变化。
3.3 观察测量
1. 读取温度计测得当前温度。观察【温度数据】波形图,记录温度测量数据。
2.
改变PT100温度。有条件的实验室可使用PT100测量冰水混合物及沸水,分别测量0℃及100℃时两种铂电阻测得的温度,并验证PT100在这两种参考温度下的电阻值。
四、LabVIEW程序解读
程序使用 EPI
提供的接口函数通过软件编程实现传感器控制/测量。主要使用“设备初始化.vi”
、“数据采集.vi” 、“采样时间设置.vi” 、“采样量程设置.vi” 、“电源.vi”
、“EPI-m104_耦合设计.vi”等。
程序采用事件结构,在最开始运行时,先进行“S1开关”事件处理,关闭S1直流输出,然后在while循环中,事件处理结构中,“超时”中一直进行数据采集,采集通过示波器采集,当前面板设置值改变时,事件处理结构处理完事件后再回到“超时”中进行数据采集。
4.1 整体框图
图 7
展示了本实例的运行界面和程序框图。
图 7 运行界面
初始化和While循环
事件处理 - “超时”
事件处理 “S1开关,S1直流设置值改变”
4.2 程序流程图
程序流程图如图9所示,先进行初始化,然后一直在while循环中采集数据,将采集到的数据计算得到当前温度值。
图9 实例流程图
4.3 初始化设置
程序初始化设置状态,该状态完成EPI
通信端口设置、电源开启、示波器通道设置(采样时间,采样量程)、示波器耦合设置(AIN1设置为”DC”),当然用户也可设置成各个参数可变。若设置成可变,后面可在while循环中进行调节。初始化代码如图
10 所示:
图 10 初始化
(1)设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,并返回一个端口资源;若未找到,返回的
boolean 值为 false,并且会返回一个错误。
(2)电源.vi:该 VI 是一个多态
VI,在使用时需要在其下拉列表中选择“电源配置”功能。设置使能端口为“True”可开启
E-PI 对外供电。
(3)EPI-m104耦合设计.vi:该 VI 用于设置EPI的AIN1为”DC”耦合。
(4)采样率设置.vi:该VI用于设置EPI的采样率为370KHz和采样深度1000。
(5)采样量程设置.vi:该VI用于设置EPI的AIN1采样量程为±1V。
4.4 While循环
While循环状态下在超时事件结构中,设置“超时”事件为100ms,相当于每隔100ms空闲事件处理一次“超时”结构里面的程序。在该状态下主要进行示波器数据采集和计算温度。该状态代码如图
11 所示:
图 11 while循环程序 – 示波器采集值
4.5 计算温度程序
示波器采集到的是电压值,当前温度PT100电阻值:
根据公式:
Rt=R0(1+At+Bt2)
Rt = 当前电压/设定电流;
R0 = 100;
PT100 TCR=0.003851时分度系数A=3.96847×10-3/℃-1 B=-5.847×10-7/℃-2
解法一元二次方程,可以得到当前温度t.
程序如图12所示:
图 12 计算温度程序
在实现上,程序会一直采集数据。当手触摸PT100传感器是,观察温度变化,观察传感器输出变化。
4.6 基准电压设置
如果不使用板载1V参考电压来驱动恒流源,而使用EPI的信号源输出1V直流电压时,S1设置如下。采用事件结构实现。
图13 事件 - S1值改变
(1)S1设置.vi:该 VI 设置S1的输出(正弦波与三角波),包括S1的频率,峰峰值,直流。