数据采集技术与系统设计实验报告讲解.docx

上传人:b****1 文档编号:1588568 上传时间:2023-05-01 格式:DOCX 页数:27 大小:217.88KB
下载 相关 举报
数据采集技术与系统设计实验报告讲解.docx_第1页
第1页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第2页
第2页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第3页
第3页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第4页
第4页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第5页
第5页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第6页
第6页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第7页
第7页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第8页
第8页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第9页
第9页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第10页
第10页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第11页
第11页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第12页
第12页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第13页
第13页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第14页
第14页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第15页
第15页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第16页
第16页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第17页
第17页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第18页
第18页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第19页
第19页 / 共27页
数据采集技术与系统设计实验报告讲解.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据采集技术与系统设计实验报告讲解.docx

《数据采集技术与系统设计实验报告讲解.docx》由会员分享,可在线阅读,更多相关《数据采集技术与系统设计实验报告讲解.docx(27页珍藏版)》请在冰点文库上搜索。

数据采集技术与系统设计实验报告讲解.docx

数据采集技术与系统设计实验报告讲解

 

2011/2012学年第

(二)学期

实验报告

 

课程名称数据采集技术与系统设计

专业

学号 

姓名     

指导教师 

 

实验项目一DS18B20数字温度传感器的使用

一、设计目的和内容:

1、目的:

(1)了解DS18B20数字式温度传感器的工作原理。

(2)利用DS18B20数字式温度传感器和微机实验平台实现数字温度计。

2、内容:

采用数字式温度传感器为检测器件,进行单点温度检测。

用数码管直接显示温度值,微机系统作为数字温度计的控制系统。

二、总体设计:

1、检测的温度范围:

0℃~100℃,检测分辨率

0.5℃。

2、用4位数码管来显示温度值。

3、超过警戒值报警提示:

红灯亮代表温度超过100℃,显示为“----”;蓝灯亮代表温度在0℃~100℃,正常显示数值;黄灯亮代表温度低于0℃,显示为“----”。

4、主要采用AT89C51芯片和DS18B20数字温度传感器。

三、硬件设计:

图1电路原理图

本次设计包括报警模块、数码显示电路、温度传感器模块。

报警模块中P1.1、P1.2和P1.3口连接红色、蓝色和黄色LED灯,分别代表温度高温、正常、低温。

数码显示电路采用4位共阳极LED数码管。

P0口作为段码输出并作为数码管的驱动,P2口的低四位作为数码管的位选端,采用动态扫描的方式显示。

温度传感器模块中P1.0口连接DQ传输数据,VCC端上拉10k电阻,GND端接地。

四、软件设计框图及程序清单:

1、软件设计框图:

(1).主程序

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次,其程序流程图如图2。

图2主程序流程图

(2).读出温度子程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。

其程序流程图如图3所示。

图3读出温度子程序流程图

(3).温度转换命令子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。

温度转换命令子程序流程图如图4所示。

图4温度转换命令子程序流程图

(4).计算温度子程序

计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如图5所示。

图5计算温度子程序流程图

(5)显示数据刷新子程序

显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。

程序流程图如图10所示。

图6显示数据刷新子程序流程图

2、程序清单:

#include"reg51.h"

#defineucharunsignedchar

#defineuintunsignedint

//===========================================

sbitDQ=P1^0;sbitGW=P1^1;//高温sbitZC=P1^2;//正常

sbitDW=P1^3;//低温signedinttemp;ucharcnt;

uchardis_7seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};

//=====================================================

voidtimer0()

{TMOD=0x01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;

ET0=1;EA=1;TR0=1;}//定时器0初始化

//*******************************************

voidDelay_DS18B20(uintnum)

{while(num--);}//DS18B20延时函数

//*******************************************

voidInit_DS18B20()//DS18B20初始化

{ucharx=0;DQ=1;//DQ复位ds18b20通信端口Delay_DS18B20

(2);//稍做延时DQ=0;//单片机将DQ拉低Delay_DS18B20(80);//精确延时,大于480usDQ=1;//拉高总线Delay_DS18B20(4);

x=DQ;//稍做延时后,如果x=0则初始化成功,x=1则初始化失败

Delay_DS18B20(40);DQ=1;}

//--------------------------DS18B20的读一个字节操作

signedcharReadOneChar(void)

{uchari=0;uchardat=0;

for(i=8;i>0;i--)

{DQ=0;//高电平拉成低电平时读周期开始dat>>=1;DQ=1;//给脉冲信号

if(DQ)dat|=0x80;//读数据线的状态得到1个状态位,并进行数据处理。

Delay_DS18B20(4);}return(dat);}

//----------------------------DS18B20写一个字节操作

voidWriteOneChar(uchardat)

{uchari=0;

for(i=8;i>0;i--){DQ=0;//从高电平拉至低电平时,写周期的开始

DQ=dat&0x01;//数据的最低位先写入Delay_DS18B20(5);DQ=1;

dat>>=1;//从最低位到最高位传入DQ=1;}}

//-----------------------------读取温度

intReadTemperature()

{uchara=0;ucharb=0;signedintt;charflog;

Init_DS18B20();//复位WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0x44);//启动温度转换Delay_DS18B20(200);

Init_DS18B20();//复位WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0xBE);//读取温度寄存器Delay_DS18B20(200);

a=ReadOneChar();//读取温度值低位b=ReadOneChar();//读取温度值高位

//******************数值处理

t=b;t<<=8;t=t|a;//两字节合成一个整型变量。

if(t<0x0fff)flog=0;else{t=~t+1;flog=1;}

t=t*0.625;//放大10倍输出并四舍五入return(t);}

//----------------------------

voiddisply(signedintn)

{if(n>1000){switch(cnt%4)

{case0:

P2=0x00;P2=0x01;P0=dis_7seg[10];break;

case1:

P2=0x00;P2=0x02;P0=dis_7seg[10];break;

case2:

P2=0x00;P2=0x04;P0=dis_7seg[10];break;

case3:

P2=0x00;P2=0x08;P0=dis_7seg[10];break;default:

break;};

GW=0;ZC=1;DW=1;//红灯高温警报器亮}//100C以上

elseif(n>=0){GW=1;ZC=0;DW=1;//蓝灯亮显示正常

switch(cnt%4){case0:

P2=0x00;P2=0x01;P0=dis_7seg[n/1000];break;

case1:

P2=0x00;P2=0x02;P0=dis_7seg[n/100%10];break;

case2:

P2=0x00;P2=0x04;P0=dis_7seg[(n/10%10)]&0x7f;break;

case3:

P2=0x00;P2=0x08;P0=dis_7seg[n%10];break;default:

break;};}//0C以上

else{switch(cnt%4){case0:

P2=0x00;P2=0x01;P0=dis_7seg[10];break;

case1:

P2=0x00;P2=0x02;P0=dis_7seg[10];break;

case2:

P2=0x00;P2=0x04;P0=dis_7seg[10];break;

case3:

P2=0x00;P2=0x08;P0=dis_7seg[10];break;default:

break;};

GW=1;ZC=1;DW=0;//黄灯低温警报器亮}//0C以下}

//==============================================

voidmain()

{timer0();//T0初始化while

(1){disply(temp);}}

//=====================================================

voidinit_timer0()interrupt1

{TH0=(65536-5000)/256;TL0=(65536-5000)%256;cnt++;

if(cnt>=20){cnt=0;temp=ReadTemperature();//读取温度};}

五、设计结果和体会:

通过这次对数字温度传感器的设计,对编程有了更深一步的了解和理解,尤其是编程的方法,编程的格式。

除了加强对单片机编程的了解外,同时也复习了一些模电知识。

虽然最后结果能基本满足设定要求,可是还是存在一些问题,LED显示会出现闪烁,还有一开始会出现一个扰乱值,以及在按键过程中,会出现小数的误差。

 

实验项目二压阻式压力传感器特性实验

一、实验目的:

了解扩散硅压阻式压力传感器测量压力的原理和方法。

二、基本原理:

扩散硅压阻式压力传感器在单晶硅的基片上扩散出P型或N型电阻条并接成电桥。

在压力作用下,基片产生应力,根据半导体的压阻效应,电阻条的电阻率会产生很大变化而引起电阻值的变化,我们把这一变化量引入测量电路,则其输出电压的变化反映了所受到的压力变化。

三、需用器件与单元:

主控台(压力源、驱动器手动调节、压力/转动控制驱动器、激励源、电压表)、连接皮管、压力模块。

四、实验步骤:

1、根据图2-1连接管路,主控台内的压缩泵、储气箱、压力表之间的管路在内部已好。

将硬管一端插入主控台气压源面板上的压力输出孔中(注意管子拉出时请用手按住气源插座边缘往内压,则硬管可轻松拉出),另一端插入压力模块的压力传感器中。

图2-1:

压阻式压力测量系统

2、接线如图2-2所示。

压力传感器有4个引脚,③端接+4V电源,①端接地,②端为V0+,④端为V0-。

3、实验模板上Rw2用于调节零位,Rw1可调放大倍数,模板的放大器输出Vo2引到主控台电压表的Vi插座,将电压量程显示选择开关拨到20V档,Rw1大约旋至中间,打开主控台电源,调节Rw2使数显表显示为零。

图2-2:

压阻式压力传感器特性实验接线图

4、将驱动器手动调节旋到最右(最大),并将输出接到压力/转速控制驱动器的输入端,打开压力/转速控制开关,旁边拨段开关选择在压力档,使压缩泵开始满功率工作。

调节流量计阀门,使压力表显示为30Kpa,此时气压源的最大压力为30KPa。

5、调节驱动器手动调节旋钮至最小,此时压缩泵应停止工作,缓慢调节驱动器手动调节旋钮,使压力每上升2KPa记录下电压表相应数值,并填与下表2-1。

表2-1:

压力传感器实验模块输出电压与输入压力的关系:

压力(kp)

4

6

8

10

12

14

16

18

20

22

电压(V)

0.47

0.75

1.03

1.32

1.56

1.84

2.09

2.36

2.65

2.90

压力(kp)

24

26

28

30

32

34

36

38

40

42

电压(V)

3.16

3.42

3.70

3.94

4.21

4.48

4.69

4.96

5.22

5.48

压力(kp)

44

46

48

50

52

54

56

58

60

62

电压(V)

5.76

6.01

6.26

6.52

6.72

6.98

7.21

7.48

7.73

7.99

6、计算本系统的灵敏度和非线性误差。

灵敏度:

S=y/x=0.27/2=0.135

非线性误差:

L=Lmax/fs*100%=0.27/(62-4)=0.466%

7、如果本实验装置要成为一个12KPa的压力计,则必须对电路进行标定,过程如下:

①当气压为零时,调节Rw2使数显电压表显示0.000V,②输入12KPa气压,调节Rw1,使数显表显示1.200V,反复上述过程直到足够的精度即可。

压力(kp)

12

11

10

9

8

7

6

5

4

3

电压(V)

1.2

1.1

1.0

0.89

0.78

0.68

0.57

0.48

0.36

0.27

8、将压力模块换成主控台上的压力传感器及压力传感器变送器重复实验,比较两者的灵敏度及非线性误差。

五、问题分析

1.本次实验中产生误差的原因是在调节手动调节旋钮不够精确,记录数据时存在误差,而仪器和电路中本身也存在误差。

2.本次实验中一开始实验无法继续进行下去,是由于连接电路时太过粗心,线路没有接对。

 

实验项目三压力测量闭环控制实验

一、实验目的:

  掌握压力传感器在测控系统中的实际应用,对压力闭环控制系统中的数据采集、参数调整、控制规律(曲线)、误差产生及不稳定状态进行验证。

二、实验原理:

  用所提供的压力源及驱动器、压力传感器及变送器、控制器组成闭环位移控制系统,在一定压力范围内(<30Kp)对气压源进行连续的高精度控制。

三、所需单元:

 主控台(压力/转动控制驱动器、压力源、压力传感器及其变送器、智能调节仪、微机数据采集控制器)、计算机、通讯线、皮管。

四、实验步骤:

(一)利用智能调节仪对压力源的闭环控制。

1、用皮管将气源接口与压力传感器连接起来,流量计阀门位置保持在实验四位置(使其最大压力在30KPa),压力传感器接入相应的变送器中,变送器输出接入智能调节仪输入端,智能调节仪信号输出接入压力/转动调节输入端,压力/转动控制驱动器拨段开关至压力档。

参考实验三接线,

4、打开主电源,压力传感器变送器电源,压力/转动控制开关。

这样压力传感器,压力变送器、智能调节仪、压力控制驱动器、压力源组成了一个闭环控制系统。

如图3-1所示。

图3-1:

压力传感器仪表控制闭环系统示意图

5、调节智能调节仪设定值,进入A菜单改变设定值,观察压力变化情况。

智能调节仪上显示的数值为百分数,即100时为50KPa(5V)。

建议压力设定值不超过60(即30KPa)。

五、思考题:

1、为什么说上述实验系统是一个闭环控制系统?

答:

闭环控制系统是系统的输出量对系统的控制作用有直接影响的控制系统。

本实验中由压力传感器和变送器将输出量反馈给智能调节仪。

2、各个单元在实验中起到什么作用?

答:

压力/转动控制驱动器的作用是作为执行机构提供驱动,压力源的作用是作为被控对象改变压力,压力传感器及变送器的作用是作为检测元件将输出量反馈给智能调节仪进行控制,智能调节仪的作用是作为控制器对输入量和反馈回来的输出量的偏差进行控制。

3、分析系统误差来源?

答:

仪器存在误差。

 

实验项目四温度测量控制实验

一、实验目的:

掌握温度传感器在测控系统中的实际应用,对温度闭环控制系统中的数据采集、参数调整、控制规律(曲线)、误差产生及不稳定状态进行验证。

二、实验原理:

用所提供的温度源及驱动器、温度传感器及变送器、控制器组成闭环温度控制系统,在一定温度范围内(<150℃)对热源进行连续的高精度温度控制。

三、所需单元:

主控台(温度控制驱动器、温度源、Pt100变送器、LM35变送器、智能调节仪、微机数据采集控制器)、Pt100热电阻温度传感器、LM35集成温度传感器、计算机、通讯线。

四、实验步骤:

(一)利用智能调节仪对温度源的闭环控制。

1、仪表采用XMTD系列智能数字温度控制仪,它具有双LED窗指示功能、模糊理论结合传统PID方法、控制快速平稳及先进的自整定方案。

仪表精度0.5级,采用0~5V标准信号输入输出,并带有位控输出(报警输出)。

2、将Pt100热电阻温度传感器插到温度源的两个加热孔中任意一个,插头插入到对应的传感器接口。

再将Pt100温度传感器接入到旁边相应的变送器中,变送器输出接入智能调节仪输入端,智能调节仪位控接温度控制器的冷却插孔,信号输出接加热插孔。

如图3-1所示。

图3-1:

Pt100温度仪表控制接线示意图

4、打开主电源,Pt100变送器电源,温度控制开关。

这样Pt100温度传感器,Pt100变送器、智能调节仪、温度控制驱动器、温度源组成了一个闭环控制系统。

如图3-2所示。

图3-2:

Pt100仪表控制闭环系统示意图

5、调节智能调节仪设定值,按SET键0.5秒,PV窗显示5U,SV窗显示值即为设定值,通过移位键、加建、减键改变SV窗的值,再按SET键0.5秒确认,设定好后,观察温度变化情况。

智能调节仪上显示的数值为百分数,即100时为200℃(5V)。

建议温度设定值不超过75(即150℃)。

智能调节仪使用说明:

1、主控设定值(SV窗);2、当前测量值(PV窗);3、功能键;4、移位键;5、减键;6、加键;

7、主控输出指示;8、AL2报警输出指示;9、AL1报警输出指示;10、自整定指示;

图3-3:

智能调节仪面板示意图

进入A菜单:

按SET键0.5秒,PV窗显示5U,SV显示窗闪烁,此时可改变SV窗的值来改变设定值,再按SET键0.5秒确认。

进入B菜单:

按住SET键3秒以上,可按要求逐一修改内容,见下图操作流程表。

图3-4:

智能调节仪操作流程图

进入C菜单:

先进入B菜单至PV窗显示ATU后同时按住▲▼键0.5秒,PV窗显示HL,在SV窗选1或0,(选1时:

AL1=上限报警,若选0时:

AL2=下限报警,出厂时设为1);再按SET键0.5秒,PV窗显示A,在SV窗选1或0,选1时为绝对值报警(报警设定值=报警输出值),选0时=偏差值报警(主控值±报警设定值=报警输出值),出厂时设置为0;再按SET0.5秒,PV窗显示E,E为抗干扰等级,0=常规,1=加强,再按SET0.5秒即进入新的工作状态。

注意事项:

a.B菜单和C菜单出厂时已经设定好,请不要随便进入改动。

b.当控制效果不够理想时,可以人工或自整定来改变PID参数。

操作方法如下:

①人工修正:

将仪表进入B菜单至PV窗显示P,再用《︾︽键来修正P值(SV窗值),再按SET键0.5S进入I窗,I、D、T的修正方法同上,然后再按SET键0.5S若干下返回正常工作状态,即开始新的PID参数。

②自整定修正:

将仪表进入B菜单至PV窗显示ATU后选择1(SV窗值,选0时为不自整定),选好按SET键确认后仪表即进入自整定状态,同时AT灯亮,待自整定完成AT灯闪时再按SET键2秒确认后即按新的自整定PID参数工作。

用自整修正PID值时应注意:

当负载为多段串联加热方式(如挤出机械),其中某段进入自整定过程时,应注意保持前拍二段的温度不变,否则会影响自整定效果。

c.PID参数的设置原则:

P为比例带设定,如果过冲大可加大比例带。

如希望升温快可减小比例带。

I为积分时间设定,如温度波动较大则加长积分,反之则减小积分。

一般来说系统滞后现象越严重,积分时间越长。

D为微分时间设定,一般取积分时间的(1/5~1/4)。

d.若控温失常请检查仪表参数是否被误修改,传感器部分是否失效。

按键不起作用,请检查LCK键是否被锁定。

数据记录:

1.设定值40°(80°)

每隔1分钟记录温度源、PV指示值。

红灯亮

风扇开

红灯灭

风扇关

温度源

28

42

79

102

108

122

143

140

114

94

81

79

76

73

PV指示值

16

20

32

42

44

48

58

61

55

47

41

40

39

38

电压(v)

0.79

0.99

1.63

2.14

2.24

2.41

2.90

3.00

2.76

2.31

2.04

1.95

1.92

1.87

记录过程中先升温、降温再升温。

2.设定值60°(120°)

重复!

红灯亮

风扇开

红灯灭

风扇关

温度源

78

102

142

150

157

173

181

173

152

129

121

116

PV指示源

37

45

59

61

63

69

75

74

69

61

60

57

电压(v)

1.84

2.24

2.93

3.06

3.19

3.46

3.72

3.69

3.41

3.03

2.94

2.81

五、思考题:

1、将Pt100温度传感器换成LM35集成温度传感器,重复实验。

2、为什么说上述实验系统是一个闭环控制系统?

答:

若控制系统中信号除从输入端到输出端外,还有输出到输入的反馈信号,则构成闭环控制系统。

本系统中由Pt100和变送器将输出信号反馈给输入,于是构成闭环控制系统。

3、各个单元在实验中起到什么作用?

答:

驱动器的作用是作为执行机构提供驱动,温度源的作用是作为被控对象改变温度,Pt100及变送器的作用是作为检测元件将输出量反馈给智能调节仪进行控制,智能调节仪的作用是作为控制器对输入量和反馈回来的输出量的偏差进行控制。

4、分析系统误差来源?

答:

1.人在记录测量值时有误差;2.读数时有误差;3.仪器存在误差;4.由于室内温度而产生误差。

 

实验项目五I2C总线实验

一、实验目的:

掌握I2C总线的工作原理,掌握I2C总线与单片机的编程方法。

二、实验内容与要求:

1、向24C08的指定单元写入数据;

2、从24C08的指定单元读取数据。

具体要求如下:

将数据0x55和0xAA分别写入24C08的0x01和0x02地址,然后读出0x02地址的内容,用2位LED数码管进行显示。

三、I2C总线原理:

I2C总线是一种用于IC器件之间连接的二线制总线。

它通过SDA(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2