虚拟仪器课程设计实验报告Word格式文档下载.docx

上传人:b****1 文档编号:3103797 上传时间:2023-05-01 格式:DOCX 页数:17 大小:1.12MB
下载 相关 举报
虚拟仪器课程设计实验报告Word格式文档下载.docx_第1页
第1页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第2页
第2页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第3页
第3页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第4页
第4页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第5页
第5页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第6页
第6页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第7页
第7页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第8页
第8页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第9页
第9页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第10页
第10页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第11页
第11页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第12页
第12页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第13页
第13页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第14页
第14页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第15页
第15页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第16页
第16页 / 共17页
虚拟仪器课程设计实验报告Word格式文档下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

虚拟仪器课程设计实验报告Word格式文档下载.docx

《虚拟仪器课程设计实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《虚拟仪器课程设计实验报告Word格式文档下载.docx(17页珍藏版)》请在冰点文库上搜索。

虚拟仪器课程设计实验报告Word格式文档下载.docx

用Labwindows/CVI软件进行用户界面开发,并进行

编程。

具体程序见后面。

4)、进行调试:

把PC与其她设备连接好,测试程序,设置PID参数,观

察控制效果,确立PID参数。

5)、重新对数据采样:

开始采样时,因为温度与电压值都不断发生变化,

而温度计显示变化相对于电压变化有一定的滞后,造成微机上温度显示

数值比温度计发生一定量的偏移,造成较大误差。

因此,此次采样利用

刚开发的程序控制炉温恒定,观察电压变化范围,记录多个电压值,求

其平均值。

但只需要对部分温度采样就可以了,因为这里采用线段拟合

成曲线,只需要线段的端点数据就可。

6)、重新调试程序,并完善用户界面。

2、程序如下:

#include<

ansi_c、h>

easyio、h>

analysis、h>

cvirte、h>

userint、h>

#include"

PID、h"

StaticintpanelHandle;

StaticdoubleWave[1024];

StaticdoubleTemp[1024];

StaticdoubleA;

StaticdoubleF;

StaticdoublePh,VOL,GG;

StaticdoubleAM;

StaticdoublePGAIN;

StaticdoubleIGAIN;

StaticdoubleDGAIN;

StaticdoubleLASTERR;

StaticdoubleTEMP;

Staticdoubleintegral,TEMPUP,PIDPWM;

StaticdoubleTE=0;

StaticunsignedlongAOtaskID;

StaticdoubleERR,FERROR,PT;

PID_PWM()//PID算法定义

{DoubleERR;

DoublePT,DT,RESULT,FERROR;

ERR=TEMP-AM;

If(abs(ERR)>

0、01)

{FERROR=ERR;

PT=PGAIN*FERROR;

If(PT>

100||PT<

-100)

{Integral=0、0;

}

Else

{Integral+=IGAIN*FERROR;

If(integral>

100、00)

{Integral=100、0;

Elseif(integral<

0、0)

{Integral=0、0;

DT=(ERR-LASTERR)*DGAIN;

RESULT=PT+integral+DT;

ElseRESULT=integral=PGAIN+IGAIN;

LASTERR=ERR;

Return(RESULT);

intmain(intargc,char*argv[])

{if(InitCVIRTE(0,argv,0)==0)

return-1;

/*outofmemory*/

if((panelHandle=LoadPanel(0,"

PID、uir"

PANEL))<

0)

DisplayPanel(panelHandle);

GetCtrlVal(panelHandle,PANEL_HORIZONTAL,&

F);

//获得频率//

RunUserInterface();

DiscardPanel(panelHandle);

return0;

intCVICALLBACKSetHorizontal(intpanel,intcontrol,intevent,

void*callbackData,inteventData1,inteventData2)

//频率响应后在PC机上输出方波图形

{switch(event)

{

caseEVENT_COMMIT:

DeleteGraphPlot(panelHandle,PANEL_GRAPH,-1,

VAL_IMMEDIATE_DRAW);

break;

intCVICALLBACKShutDown(intpanel,intcontrol,intevent,

void*callbackData,inteventData1,inteventData2)//退

出程序//

switch(event)

QuitUserInterface(0);

intCVICALLBACKUpDataCallback(intpanel,intcontrol,intevent,

{caseEVENT_TIMER_TICK:

GetCtrlVal(panelHandle,PANEL_AIM,&

AM);

//设定目标温度

GetCtrlVal(panelHandle,PANEL_KP,&

PGAIN);

//设定比例系数

GetCtrlVal(panelHandle,PANEL_KI,&

IGAIN);

//设定积分系数

GetCtrlVal(panelHandle,PANEL_KD,&

DGAIN);

//设定微分系数

AISampleChannel(1,"

1"

0、0,0、0,&

VOL);

//采集数据

SetCtrlVal(panelHandle,PANEL_VOT,VOL);

//在PC机上输出电压

//以下就是电压温度转换

if(VOL<

-1、12)

TEMP=-40、91*VOL+28、18;

elseif(VOL<

-0、84)

TEMP=-25、00*VOL+46、00;

0、05)

TEMP=-12、36*VOL+56、62;

0、73)

TEMP=-7、35*VOL+56、37;

elseif(VOL<

1、91)

TEMP=-5、08*VOL+54、71;

elseif(VOL<

2、72)

TEMP=-3、7*VOL+52、07;

4、25)

TEMP=-3、27*VOL+50、89;

6、96)

TEMP=-2、95*VOL+49、55;

7、04)

TEMP=-37、50*VOL+290;

7、10)

TEMP=-100、00*VOL+730、00

SetCtrlVal(panelHandle,PANEL_CURTEMP,TEMP);

//温度输出

TEMPUP=PID_PWM();

//PID函数调用

SetCtrlVal(panelHandle,PANEL_WEIZHI,TEMPUP);

//PID返回数值输出,对用户隐藏

SquareWave(1024,5,F/1024,&

Ph,100+TEMPUP/*PID算法控制PWM参数

*/,Wave);

//产生方波

PlotY(panelHandle,PANEL_GRAPH,Wave,1024,VAL_DOUBLE,

VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);

AOGenerateWaveforms(1,"

1000、0,1,0,Wave,&

AOtaskID);

//方波进行输出,控制炉温实验箱加热与否

1、开发出来的用户界面如下,

这里PID参数如下:

四.实验器材介绍及线路接口

1、CB-68PL端子板

实物图接线图

接线说明:

上图就是CB-68LP端子板引脚图,下面就是对其接线作简要说明。

AI为模拟信号输入端口,当选择单端测量方式时,接线方式就就是把信号源的正端接入AIn(n=0,1,……15)、信号源的负端接入AIGND;

当选择差分测量方式时,接线方式就是把信号源的正端接入AIn(n=0,1,……7)、信号源的负端接入AIn+8。

例如,单端时,通道0的正负接入端就分别就是AI0与AIGND;

通道1的正负接入端就分别就是AI1与AIGND;

差分时,通道0的正负接入端就分别就是AI0与AI8;

通道1的正负接入端就分别就是AI1与AI9。

PI0、0~P0、7为8个数字信号输入通道,可以通过软件设置每个数字通道为输入或者输出,对应开关量与输入输出。

PCI-6023E有2个计数器:

CTR0与CTR1,如果计数器信号只有1个,希望实现简单的计数功能,那么只需要把计数器信号接到CTR0SRC或者CTR1SRC即可。

(本实验只用到4个接口,分别就是:

模拟接地67,模拟输入33,数字接地,数字输出)

2、变送器(SBWZ-2460)

变送器(transmitter)就是把传感器的输出信号转变为可被控制器识别的信号(或将传感器输入的非电量转换成电信号同时放大以便供远方测量与控制的信号源)的转换器。

传感器与变送器一同构成自动控制的监测信号源。

不同的物理量需要不同的传感器与相应的变送器。

变送器的种类很多,用在工控仪表上面的变送器主要有温度变送器、压力变送器、流量变送器、电流变送器、电压变送器等等。

下图为我们此次课设所用的变送器规格及功能特点:

输出:

4~20mA(可以做0-5V0-10V)

精度:

0、5%

电源:

24VDC

温度范围:

0~50℃0~100℃0~150℃0~200℃

0~300℃0~400℃

适用范围:

可以接收热电阻或各类热电偶输入,可直接安装于温度传感器接线盒内,并标出标准电压电流信号

功能特点:

变送器信号电源同为两根普通导线,节省了热电偶专用补偿导线,降低了线路干扰带来的误差。

体积小巧、安装方便、精度好,抗干扰,稳定性好;

免维护外部可直接调整零点与满度。

电流信号输出,传输距、远,缩短了仪表与传感器的距离,降低线路干扰带来的误差。

主要技术指标:

极限28mA

输入范围:

热电阻:

Pt1000-150度

熔断检测:

上限(标准)

温度漂移:

±

0、2%/℃

冷端补偿:

0~50℃±

1℃

调整方式:

电位器

负载能力:

0~500Ω

输出:

4~20mA 

 

(可以做0-5V 

0-10V 

价格另议)

24VDC 

0~50℃0~100℃0~150℃ 

0~200℃ 

0~300℃ 

0~400℃

3.可控硅

可控硅,就是可控硅整流元件的简称,就是一种具有三个PN结的四层结构的大功率半导体器件,亦称为晶闸管。

具有体积小、结构相对简单、功能强等特点,就是比较常用的半导体器件之一。

该器件被广泛应用于各种电子设备与电子产品中,多用来作可控整流、逆变、变频、调压、无触点开关等。

家用电器中的调光灯、调速风扇、空调机、电视机、电冰箱、洗衣机、照相机、组合音响、声光电路、定时控制器、玩具装置、无线电遥控、摄像机及工业控制等都大量使用了可控硅器件。

本次实验所用到的可控硅规格型号如下:

输入电压:

交流220V

电压调节:

交流50V~220V

最大功率:

2000W

最大电流:

25A

(说明:

我们在使用该可控硅时,并没有采用调压旋钮,而就是把旋钮卸下换上接线柱并接入我们设计好的电路中,利用PWN的高低电平触发使电路在某个设置的温度进行通断电,从而实现水温控制。

适用于:

使用新型双向大功率可控硅,因为电流可达25A,很好的解决了电炉丝在冷却的情况下电阻太小从而引起的过流问题;

能很方便的调整市电的输出电压,在50--220伏之间任意调整,供用电器使用。

如:

电炉,热水器的调热、灯具的调光、小电机调速、电烙铁调温等。

从而达到调光,调温,调压的效果。

可供用电功率小于2000瓦的大型电器使用由于功率已经很大,所以一般的家庭电器或就是小型工厂足够用。

五、实验方法、步骤及结果测试

1、温度控制基本理论

温度控制不像开关变量,要么全开,要么全关,就是一个连续变化量。

当被控温度低于目标值很大时,就需要全速加热,当温度接近目标值时,就必须减慢加热速度,否则就很容易造成温度严重超调,达不到温度控制效果。

炉温实验箱一般只有输入控制就是低电平时才会有进行加热,其余则就是停止加热。

因此,我们可以通过控制高电平与低电平的比例来控制加热速度(只要电压频率足够快,宏观上就就是速度控制了),也就就是所谓的PWM控制。

控制算法有很多,而PID算法目前为止比较纯熟的一种,这里采用就采用PID算法,其运算结果转换成PWM输出,以达到控制效果。

2、PID控制的原理与特点

在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。

P当被控对象的结构与参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构与参数必须依靠经验与现场调试来确定,这时应用PID控制技术最为方便。

即当我们不完全了解一个系统与被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。

PID控制,实际中也有PI与PD控制。

PID控制器就就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

(1)比例(P)控制

比例控制就是一种最简单的控制方式。

其控制器的输出与输入误差信号成比例关系。

当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。

(2)积分(I)控制

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。

对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统就是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。

为了消除稳态误差,在控制器中必须引入“积分项”。

积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。

这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。

因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

(3)微分(D)控制

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。

其原因就是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总就是落后于误差的变化。

解决的办法就是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该就是零。

这就就是说,在控制器中仅引入“比例”项往往就是不够的,比例项的作用仅就是放大误差的幅值,而目前需要增加的就是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。

所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

六、课程设计电路图

实物图

仿真控制电路①

信号采集仿真电路②

七、实验现象

标定电压转换成温度记录数据及对应的拟合直线:

数据1拟合直线1

数据2拟合直线2

数据3拟合直线3

八、实验心得与体会

通过本次课程设计,我们大大感受到了团队分工合作,相互帮助,相互配合的重要性,在我们感受到团结合作的力量的同时,也让我们学到了不少知识与技能,特别就是掌握了虚拟仪器高级语言LabVIEW或LabWindows/CVI的流程图与软仪器面板的编程设计方法,熟悉数据处理模块、信号分析模块、仪器控制模

块等各种软件模块的应用;

也了解了数据采集硬件的低层驱动程序(C语言/汇编语言)设计、调试及嵌入LabVIEW的技术;

进一步学习掌握了基于PID的比例积分微分程序编写方法;

初步掌握了可控硅的的温度控制特点与原理,同时对CB-68LP接线端子板各接口、利用CB-68LP端子板与PCI-6023E数据采集卡进行模拟量与数字量的转换及相关数据采集更加熟悉。

总之,通过本次课程设计,对我们的知识与技能都有很大的提高,相信在以后的工作生活中会有很大的帮助,为此,感谢李洋老师与各个同学细心耐心的指导与帮助,老师与同学都让我们组学到了很多知识。

九、参考文献

1.《基于LabWindows/CVI的虚拟仪器设计与应用(第2版)》作者孙晓芸

2.《LabWindows/CVI测试技术及工程应用》作者王建新

3.《LabWindows/CVI虚拟仪器设计》作者史君成

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

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

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

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