虚拟仪器课程设计案例DYS18试验箱说明书.docx
《虚拟仪器课程设计案例DYS18试验箱说明书.docx》由会员分享,可在线阅读,更多相关《虚拟仪器课程设计案例DYS18试验箱说明书.docx(35页珍藏版)》请在冰豆网上搜索。
虚拟仪器课程设计案例DYS18试验箱说明书
一.温度测量
实验原理:
1.本实验的热敏电阻阻值与温度关系为
其中:
R1、R2为绝对温度下T1、T2时的电阻值(kΩ);B:
B值(K)
实验所用热敏电阻B=3470(K),T=298K时,R=5K。
与一3K电阻分压得
对上式进行曲线拟合可近似得到温度与电压的线性关系
T=23.68*V-19.59(OC)
2、热敏电阻RT1构成的测温电路图如下图所示:
热敏电阻RT1与R1串联分压,电路输出电压与温度成正比。
3、测量电路输出的模拟电压通过U18接口转化为数字信号输入PC机,这一AD转换功能由U18硬件平台提供,U18软件内的U18软件功能模块实现硬件接口的驱动和通信及信号处理等基本功能的实现。
4.如图所示,当温度变大时,热敏电阻RT1电阻变小,在分压点产生一线性电压,经电压跟随器保持后,经过LM324进行一级和二级放大,输出一个正向、与温度变化大小成正比的线性电压。
实验步骤:
1.接线:
用DB37电缆将实验板的模拟口XS1与采集卡的模拟口XS1连接。
2.调节硬件测温电路中的RX1电位器阻值,从而调节输入信号幅度和电路的放大倍数,确定电路的电压输出幅度与温度变化之间的比例关系。
3.最终结果是:
当温度升高时,响应的电压显示曲线也响应增大;反之亦然,当温度降低时,响应的电压显示曲线也响应减小。
4.利用labview软件的设计平台及U18提供的功能模块,设计温度监测及显示用虚拟仪器。
软件流程:
初始化设备
初始化AD部件
读取模拟口CH0数据
数据处理
释放AD部件
N
是否结束
Y
释放设备
说明:
由于电路中反馈大于1,所以在数据处理时
中,a应大于23.68,通过调节RX1校正。
Labview面板图:
Labview流程图:
二.光强检测与控制
实验原理:
当U18的DA0端为5V时,发光二极管不发光。
当U18的DA0端为0V时,发光二极管发光,其光强通过电阻RX2进行调节,所发出的光经过光敏电阻接收,光敏电阻值与光强成反比。
当光强增大时,光敏电阻阻值减小;当光强减弱时,光敏电阻阻值增大。
光敏电阻上产生变化的电压,该电压通过U2ALM358放大输出至CH1。
实验步骤:
1.接线:
用DB37电缆将实验板模拟口XS1与采集卡模拟口XS1连接。
2.控制U18的DA0端,使其输出0V电压,发光二极管发光,通过屏幕观察通过CH1端输入的光强信号波形;改变DA0输出电压,通过屏幕观察通过CH1端输入的光强信号波形。
3.结果:
当发光二极管光强增大时,屏幕显示的光强信号减小;当发光二极管光强减小时,屏幕显示的光强信号增大。
软件流程
读取模拟口CH1数据
输出模拟量到DA0
Y
N
释放设备
是否结束
释放AD部件
数据处理
初始化AD部件
初始化设备
Labview面板图:
Labview流程图:
三.红绿灯系统
实验原理:
U18通过DO0、DO1、DO2输出高电平或低电平信号,通过U9ULN2003器件反向后,分别驱动D6红灯、D7黄灯、D8绿灯开始发光或结束发光,同时,U18通过设置DO7~DO13端为高电平或低电平信号,通过U10ULN2003分别反向驱动DIG1数码管a~g各段显示相应的数码信息,最终实现当某一灯亮时,数码管从某一数值开始倒记时。
实验步骤:
1.接线:
用电缆将实验板数字口XS2与采集卡数字口连接。
2.调试与结果:
通过U18应用软件控制U18的DO0、DO1、DO2端的高或低电平状态,点亮红、黄、绿三盏灯中的一只,同时控制U18的DO7~DO13端的高或低电平状态,显示某一数值,并按每秒减1的规则控制数码管显示相应的数值。
3.整个显示过程是:
红灯亮,同时数码管从某一初始值按每秒减1的规则显示—>当显示值为0时,红灯暗,
黄灯亮,同时数码管从某一初始值按每秒减1的规则显示—>当显示值为0时,黄灯暗,
绿灯亮,同时数码管从某一初始值按每秒减1的规则显示—>当显示值为0时,绿灯暗,
黄灯亮,同时数码管从某一初始值按每秒减1的规则显示—>当显示值为0时,黄灯暗,
红灯亮,同时数码管从某一初始值按每秒减1的规则显示。
如此循环往复。
软件流程
N
说明:
时间显示采用CASE结构进行7段译码输出至数码管D8~D14。
Labview面板图:
Labview流程图:
四.红外传输
实验原理:
如图所示,U13CD4060B通过外接晶振电路在第9端产生一路频率为38KHZ的方波信号作为调制信号,输入与门U14A74HC08的2端;另一路为需发射的数据,它通过DO14端输入与门U14A74HC08的1端。
输入的数据在与门调制,在其输出端形成调制后的数据波,从而通过Q2S8050控制红外发光二极管D13以38KHZ的频率发出红外光。
Q31736为去调制波的红外接收器,它去掉38KHZ的调制波,解调成原始的输入数据信号,通过3端输出至U14B74HC08及U5B74HC14的驱动整形,连接至DI9。
实验步骤:
1.接线:
用电缆将实验板数字口XS2与采集卡数字口XS2连接。
2.调试与结果:
控制labview应用软件使U18的DO14端形成一路需传输的原始数据信号,在屏幕上可观察到U18的DI9端输入的信号与原始数据信号一致。
3.软件设计:
用labview设计红外传输程序,要求输出整数或布尔数组,同时显示发送和接收数据进行比较。
软件流程
释放设备
说明:
取第i个元素,i+1及i?
=L可用forloop实现。
Labview面板图:
Labview流程图:
五.模拟电梯工作(步进电机)
实验原理:
1.本实验使用的步进电机用直流+12V电压,电机线圈由A、/A、B、/B四相组成。
2.驱动方式为四相四拍方式,各线圈通电顺序如下表。
表中首先向A线圈输入驱动电流,接着/A、B、/B线圈驱动,最后又返回到A线圈驱动,按这种顺序切换,电机轴按顺时针方向旋转。
若通电顺序相反,则电机轴按逆时针方向旋转。
(注:
为提高步进电机负载能力和运行平稳可使用四相八拍驱动方式。
)
四相四拍
0
1
2
3
4
5
6
7
A
1
1
0
0
0
0
0
1
/A
0
1
1
1
0
0
0
0
B
0
0
0
1
1
1
0
0
/B
0
0
0
0
0
1
1
1
四相八拍
3.电路原理图:
a.步进电机的原理图
DO3-DO6分别控制电机的四相,“1”代表该相加电流工作。
霍尔元件T1-T8检测旋转臂的位置,旋转臂上带有一磁钢,当霍尔元件输出为“0”代表旋转臂到了它的上方,经74HC14整形反向后,连接至DI0—DI7,即当DI0—DI7某一位检测到“1”的时候代表旋转臂到了某一霍尔元件的上方。
实验步骤:
1.接线:
用电缆将实验板数字口XS2与采集卡数字口XS2连接。
2.调试与结果:
控制DO3-DO6使步进电机旋转,当霍尔元件检测到磁钢时,对应的LED点亮,并通过U18的DI0-DI7传入PC,经处理后控制U18的DO7~DO13端的高或低电平状态,通过数码管显示对应数值。
3.软件设计:
用labview编程来模拟8层电梯的工作过程。
N
软件流程
说明:
步进电机的驱动可采用forloop嵌套CASE实现。
Labview面板图:
Labview流程图:
六.电机调速与测速
实验原理:
调速控制:
如图所示,U18的DA1输出一个0~5V大小的直流电压,经过U3ALM358放大一倍后得到0~10V大小的电压,该电压信号再经过U4CA3140和Q12073进行功率放大,电流达到75mA,从而驱动电机转动。
测速过程:
如图所示,电机上的风扇安装在光耦的发射端和接收端之间,风扇的叶片为9片,当风扇转动时,叶片阻挡光耦发射出的光信号,在光耦接收端得到一段连续的脉冲波形,该脉冲波形经过U5A74HC14进行整形后,得到一形状规则的脉冲波形。
整形后的脉冲波形输出至U18的8254计数器的CLK0端,进行记数显示。
实验步骤:
1.接线:
将实验板的数字口XS2和模拟口XS1与采集卡上对应数字口XS2和模拟口XS1连接。
2.调试与结果:
用labview软件改变DA1端的输出电压大小,改变电机的转速,从而在显示屏上显示出不同的速度值。
软件流程
N
说明:
因为风扇叶片为9片,所以应将1s内计数值除以9才得到风扇转速。
Labview面板图:
Labview流程图:
七.电子秤设计
实验原理:
1.本实验的压力传感器是电阻应变式传感器,故其电阻变化与电阻的关系如下:
其中:
为灵敏系数,由金属材料决定;当压力F在一定范围内时,
以一个常数正比于F。
故由压力传感器连接线路及压力传感器的性质,可知电路的CH2电压输出与压力传感器上所放置物体的质量近似成线性关系,因而有:
m=a*F+b(a,b为常数)
通过测试,可得到经验方程:
质量=145*UCH2+50
2.利用U18硬件平台可实现模拟信号的采集输入(A/D转换)。
如图所示,当压力传感器上压力变化时,其电阻也响应线性变化,从而压力桥式测量电路输出端电压发生变化,该变化电压通过连接器J2进入由LM324的U8B、U8C、U8D组成的差动放大电路进行一级放大,再经过LM324的U8A进行二级放大后在CH2端输出一个与压力成正比的线性电压波形。
实验步骤:
1.接线:
将压力传感器经J2连接至压力桥式测量电路,将实验板模拟口XS1与采集卡模拟口XS2连接。
2.通过调节电位器RX4来改变差动放大倍数,在U6D输出端得到一级放大信号;通过调节电位器RX5来调节电路对称性,实现对干扰信号的抑制。
3.最终结果是:
在U8A的输出端得到一个二级放大后的信号,该信号特点是:
当压力增大时,该信号曲线显示增大的信息;当压力减小时,该信号曲线幅度也相应应减小。
4.通过LabView编程来实现电子秤的功能,软件要求有“零”标定功能,即无砝码放入时,软件认定为0克,通过提供的两个20克的砝码来标定系统。
软件流程
释放设备
Labview面板图:
Labview流程图:
八.信号源发生器说明
实验原理:
如图所示,U16ICL8038为信号发生器件,具体频率先通过开关S1来选择频段(ON为20Hz~800Hz,OFF为600Hz~20KHz),再通过电位器RX7来设置。
在U16ICL8038的第9端产生某一设置频率的方波信号,通过U8C74HC14反向后,输出0或5V的数字方波信号到开关S2的一脚。
在U16ICL8038的第3端产生某一设置频率的三角波信号,在U16ICL8038的第2端产生某一设置频率的正弦信号,该两路信号通过开关S3,选择其中一路至跟随器的输入端,通过U9ALF353放大输出至开关S2的一脚,通过调RX9来改变信号的幅度。
通过S2,S3的不同组合在J4的3端输出不同的信号。
S2
S3
输出信号
OFF
OFF
正弦波
OFF
ON
三角波
ON
X
方波
实验步骤:
通过S2,S3的不同组合在3端输出正弦波,三角波或方波,通过S1选择频段,调节电位器RX7来设置具体频率,调节电位器RX9来改变信号源的幅度。
九.编程参考
一.设备对象操作函数
1.CreateID
功能:
该函数负责创建设备对象,并返回其设备对象句柄。
输入:
DeviceID设备ID(Identifier)标识号。
当向同一个Windows系统中加入若干相同类型的USB设备时,系统将以该设备的“基本名称”与DeviceID标识值为名称后缀的标识符来确认和管理该设备。
比如若用户往Windows系统中加入第一个U18AD模板时,系统则以“U18”作为基本名称,再以DeviceID的初值组合成该设备的标识符“U18-0”来确认和管理这第一个设备,若用户接着再添加第二个U18AD模板时,则系统将以“U18-1”来确认和管理第二个设备,若再添加,则以此类推。
所以当用户要创建设备句柄管理和操作第一个USB设备时,DeviceID应置0,第二应置1,也以此类推。
默认值为0。
输出:
如果执行成功,则返回设备对象句柄;如果没有成功,则返回错误码INVALID_HANDLE_VALUE。
由于此函数已带容错处理,即若出错,它会自动弹出一个对话框告诉您出错的原因。
您只需要对此函数的返回值作一个条件处理即可,别的任何事情您都不必做。
2.ReleaseID
功能:
释放设备对象所占用的系统资源及设备对象自身。
输入:
hDevice设备对象句柄,它应由CreateID创建。
输出:
错误码。
应注意的是,CreateID必须和ReleaseID函数一一对应,即当您执行了一次CreateID,再一次执行这些函数前,必须执行一次ReleaseID函数,以释放由CreateID占用的系统软硬件资源,如系统内存等。
只有这样,当您再次调用CreateID函数时,那些软硬件资源才可被再次使用。
二.AD采样操作函数
1.ADINT
功能:
它负责初始化设备对象中的AD部件,为设备操作就绪有关工作,用户便可以连续调用ADRead读取USB设备上的AD数据以实现连续采集。
输入:
hDevice设备对象句柄,它应由USB设备的CreateID创建。
pADPara设备对象参数结构,它决定了AD采样通道。
输出:
错误码。
2.ADRead
功能:
读取USB设备AD部件上的批量数据。
它不负责初始化AD部件,待读过完整指定长度的数据才返回。
它必须在ADINT之后,ADClose之前调用。
输入:
hDevice设备对象句柄,它应由CreatID创建。
Dimensionsize读取数据的长度(以字为单位),为了提高读取速率,根据特定要求,其长度必须指定为32字的整数倍长,如32、64、128……8192等字长,否则,USB设备对象将失败该读操作。
输出:
pADBuffer从设备上采集的数组。
3.ADClose
功能:
释放设备对象中的AD部件所占用的系统资源。
输入:
hDevice设备对象句柄,它应由CreateID创建。
输出:
错误码。
应注意的是,ADINT必须和ADClose函数一一对应,即当您执行了一次ADINT,再一次执行这些函数前,必须执行一次ADClose函数,以释放由ADINT占用的系统软硬件资源,如系统内存等。
只有这样,当您再次调用ADINT函数时,那些软硬件资源才可被再次使用。
三.DA输出函数原型
1.DAOUT
功能:
输出DA数据
输入:
hDevice设备对象句柄,它应由CreateID创建。
nDAData输出数据,取值范围为[0,5]。
nDAChannelDA通道号。
输出:
错误码。
四.计数器操作函数原型
1.COUNTInt
功能:
负责初始化8254各通道的工作模式、计数方式等。
输入:
hDevice设备对象句柄,它应由CreateID创建。
CounterChannel计数器的通道选择,取值范围为[0,2]。
CounterValue计数器的初始值,取值范围为[0,65535]。
OperateType计数器的操作方式,取值范围为[0,3]。
CountMode计数器的技术方式,取值范围为[0,5]。
BCD是否采用BCD码,是为1,否为0。
输出:
错误码。
2.GetCount
功能:
取得8254的当前计数值。
输入:
hDevice设备对象句柄,它应由CreateID创建。
Dimensionsize计数器计数值数组大小。
输出:
pConterPara计数器计数值数组。
注意:
8254相关说明见附录
五.数字开关量输入输出简易操作函数
1.DI
功能:
负责将USB设备上的输入开关量状态读入内存。
输入:
hDevice设备对象句柄,它应由CreateID决定。
输出:
DO16路输入开关量数组。
2.DO
功能:
负责将USB设备上的输出开关量置成相应的状态。
输入:
hDevice设备对象句柄,它应由CreateID决定。
Input输入开关量数组。
输出:
错误码。
六.函数调用流程图
5
说明:
CreateID与ReleaseID必须成对出现,程序开始时用CreateID初始化设备,结束时用ReleaseID释放设备。
初始化设备后根据需要选择1—5中的若干路进行操作。
ADINT与ADClose必须成对出现,ADINT初始化设备对象中的AD部件,ADClose释放设备对象中的AD部件所占用的系统资源。
ADRead必须在ADINT与ADClose之间进行,当不改变参数时,可以重复调用ADRead进行连续采集。
在GetCount之前必须先用COUNTInt初始化计数器。
十.可编程定时/计数器8254编程描述
有关8254详细情况请参见8254技术手册或有关资料。
一、控制字
在使用8254内部计数器前,必须先向8254内部控制字寄存器写入控制字和写入计数器
置值。
控制字寄存器格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
SC1
SC0
RL1
RL0
M2
M1
M0
BCD
各位定义如下:
BCD:
计数器计数方式选择,可采用二进制或BCD码。
M2、M1、M0:
计数器工作方式选择,可有六种工作方式,具体含义见下表。
BCD
计数类型
0
二进制计数
1
BCD码计数
M2
M1
M0
方式
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
SC1
SC0
选择计数器
0
0
计数器0
0
1
计数器1
1
0
计数器2
1
1
非法
RL1
RL0
操作类型
0
0
计数器锁存操作
0
1
只读/写低字节
1
0
只读/写高字节
1
1
先读/写低字节
后读/写高字节
RL1、RL0计数器读写操作长度选择,以决定对计数器进行装入或读出是双字节还是单字节。
SC1、SC0选择计数器0、1或2。
当对8254写入控制字后,就要给计数器赋初值了。
当控制字D0=0时,即二进制计数,初值可在0000H~FFFFH之间选择,当控制字D0=1时,则装入计数器的初值应选十进制方式,其值可在0000~9999十进制数之间选择,但无论何种计数方式,当初值为0000时,计数器的计数值最大。
二、工作方式
对8254的读写操作
方式0-计数结束中断
当写入方式0控制字后,计数器输出立即变成低电平,当赋初值后,计数器马上开始计数,并且输出一直保持低电平,当计数结束时变成高电平,并且一直保持到重新装入初值或复位时为止。
当控制字中D5D4=11时,在写入低字节后计数器还不计数,当写入高字节后,计数器才开始计数,如果对正在做计数的计数器装入一个新值,则计数器又从新装入的计数值开始,重新作减量计数。
可用门控端GATE控制计数,当GATE=0时,禁止计数,当GATE=1时,允许计数。
方式1—可编程单次脉冲方式
该方式要在门控信号GATE作用下工作。
当装入计数初值N之后,要等GATE由低变高,并保持高时开始计数,此时输出OUT变成低电平,当计数结束时,输出变成高电平,即输出单次脉冲的宽度由装入的计数初值N来决定。
当计数器减量计数未到零时,又装入一个新的计数值N1,则这个新值,不会影响当前的操作,只有原计数值减到零且有一个GATE上升沿时,计数器才从N1开始计数。
如当前操作还未完,又有一次GATE上升沿时,则停止当前计数,又重新从N1开始计数,这时输出单次脉冲就被加宽。
方式2—频率发生器方式
在该方式下,计数器装入初始值,开始工作后,输出端将不断输出负脉冲,其宽度等于一个时钟周期,两负脉冲间的时钟个数等于计数器装入的初始值。
在方式2中门控信号相当于复位信号,当GATE=0时,立即强迫输出为高电平,当GATE=1时,便启动一次新的计数周期,这样可以用一个外部控制逻辑来控制GATE,从而达到同步计数的作用。
当然计数器也可以用软件控制GATE而达到同步控制目的。
方式3—方波频率发生器方式
与方式2类似,当装入一个计数器初值N后,在GATE信号上升沿启动计数,定时/计数器此时作减2计数,在完成前一半计数时,输出一直保持高电平,而在进行后一半计数时,输出又变成低电平。
若装入的数N为奇数,则在(N+1)/2个计数期间,输出保持高电平。
在(N-1)/2个计数期间,输出保持低电平。
若在一次计数期间,将一个新的初值装入计数器,那么在当前的计数发生跳变时,计数器马上又按新的计数开始计数。
方式4—软件触发选通方式
用控制字设置该方式后,输出即变为高电平,在GATE=1时,计数器一旦装入初值,便马上开始计数,每当计数结束,便立即在输出端送出一个宽度等于一个时钟周期的负脉冲。
如果在一次计数期间,装入了一个新的计数值。
则在当前的计数结束,送出负脉冲后,马上以这个新的计数开始计数。
在GATE=0时,禁止计数,这些均与方式2同,但这不是用GATE的上升沿来启动计数的。
方式5—硬件触发选通方式
当采用该方式工作时,在GATE信号的上升沿启动计数器开始计数,输出一直保持高电平,当计数结束时,输出一个宽度等于时钟周期的负脉冲。
在此种方式下,GATE是高电平或低电平都不再影响计数器工作。
但计数操作可用GATE信号的上升沿重新触发,便又从原来的初值开始计数,计数期间,输出又一直保持高电平。
在上述六种工作方式中,GATE信号均起作用,现将GATE信号的作用列于表中:
GATE
低电平或下降沿
上升沿
高电平
方式0
禁止计数
无作用
允许计数
方式1
无作用
启动计数,
下一时钟后输出变低
无作用
方式2
禁止计数并输出为高
启动计数
允许计数
方式3
禁止计数并输出为高
启动计数
允许计数
方式4
禁止计数
无作用
允许计数
方式5
无作用
启动计数
无作用
注意:
8254的每个定时/计数器在所有操作方式下,均不能设置初值为“1”,否则定时/计数器将停止计数及计数输出。
十一.光盘使用说明
一、光盘各部分内容说明
1、App文件夹中是U18数据采集卡的应用软件安装程序,必须安装。
2、Help文件中是帮助文件,包括U18数据采集卡的硬件说明书和软件说明书(即U18H和U