《基于labview的温度采集系统(共45页).doc》由会员分享,可在线阅读,更多相关《基于labview的温度采集系统(共45页).doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 目 录专心-专注-专业1 绪 论现代计算机技术和信息技术的迅猛发展,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器技术的出现又使得测量仪器进步入了高科技的殿堂。 与传统的仪器不同,虚拟仪器(virtual instrument)是基于计算机和标准总线技术的模块化系统,通常它是由控制模块、仪器模块和软件组成,在虚拟仪器中软件是至关重要的,仪器的功能都要通过它来实现,因此软件是虚拟仪器的核心,“软件就是仪器”,从本质上反映了虚拟仪器的特征。 从构成
2、方式上讲,虚拟仪器可分为四大类:GPIB体系结构、PC-DAQ体系结构、VXI体系结构和PXI体系结构。 GPIB体系结构是通过GPIB总线将具有GPIB接口的计算机和仪器集成的测试系统。组建方便灵活、操作简单。 VXI体系结构综合了。pib和vem总线的优点,它集成的系统硬件集成度高、数据传输率快、便携性好,是当今倍受业界关注的体系结构。 PXI体系结构是以PCI总线为基础的体系结构,由于其总线吞吐率高、硬件的价格较低被业内人士认为是符合国情的一种体系结构。 虚拟仪器应用程序的开发环境主要有两种。一种是基于传统的文本语言的软件开发环境,常用的有lab windows/cvi、.visual
3、basidc=vc+等:一种是基于图形化语言的软件开发环境,常用的有LabVIEW和hp vee。其中图形化软件开发系统是用工程人员所熟悉的术语和图形化符号代替常规的文本语言编程,界面友好,操作简便,可大大缩短系统开发周期,深受专业人员的青睐。 1.1 课题背景 随着世界经济的发展,工业的迅速扩张,政府和企业家们花在设备上的投入越来越多,这笔巨大的开销,极大地限制了企业的资金,从而制约着企业的发展。而虚拟仪器技术凭借着其开发容易、开发成本低、开发周期短等明显的优点,渐渐地在工业测控领域崭露头角。它的出现使企业家们看到了降低成本的希望。本设计将就虚拟仪器怎样用在工业测控中进行一番简单的探讨。1.
4、2 虚拟仪器简介 随着微电子技术、计算机技术、软件技术、网络技术和现代测量技术的迅速发展,一种新型的先进仪器虚拟仪器成为当前系统研究的热点。虚拟仪器通过软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储及分析处理。在对大规模、集成化、智能化及数字电子仪器需求愈加迫切的形势下,计算机技术、仪器技术和通信技术相结合,产生了具有里程碑意义的新一代仪器虚拟仪器。虚拟仪器的出现开辟了仪器技术的新纪元,它是多门技术与计算机技术结合的产物,其基本思想逐步代替仪器完成某些功能,如数据的采集、分析、显示和存储等,最
5、终达到取代传统电子仪器的目的。虚拟仪器是计算机硬件资源、仪器硬件、数据分析处理、软件、通信软件极图形用户界面的又效结合,具有传统仪器所具备的信号采集、信号处理分析、信号输出等功能。其基本构成包括计算机、虚拟仪器软件、硬件接口和测试仪器等。虚拟仪器以透明的方式把计算与传统仪器一样。虚拟仪器同样划分为数据采集与控制、数据分析与处理、结果表达三大功机资源和仪器硬件的测试能力结合起来,实现了仪器功能的运作。虚拟仪器的功能模块如图1-1所示。PCDAQ采集器网络传输信号处理串口仪器磁盘复制数字滤波GPIB仪器文件I/O统计VXI仪器图形用户接口分析PXI仪器图1-1 虚拟仪器的功能模块虚拟仪器用各种图标
6、或控件来虚拟传统仪器面板上的各种器件。由各种开关图标实现仪器电源的通断;由各种按钮图标来设置被测信号的“放大倍数”、“通道”等参数;由各种显示控件以数值或波形的方式显示测量或分析结果;由计算机的鼠标和键盘操作来模拟传统仪器面板上的实际操作;以对图形化软件流程图的编程来实现各种信号测量和数据分析功能。如下是虚拟仪器与传统仪器的比较表,直观的反应了传统仪器和虚拟仪器各自的性能特点。传统仪器和虚拟仪器的比较传统仪器虚拟仪器仪器厂商定义用户自己定义硬件是关键软件是关键仪器的功能、规模均已固定系统功能和规模可通过软件修改和增减封闭的系统,与其它设备连接受限制基于计算机的开放系统,可方便地同外设、网络及其
7、它相应设备连接价格昂贵价格低,可重复利用技术更新慢技术更新快开发和维护费用高软件结构可大大节省开发和维护费用多为实验室拥有个人可拥有一个实验室1.3 图形化编程语言LabVIEW的简介LabVIEW(laboratory virtual instrument engineering workbench)是一种图形化的编程语言和开发环境,它广泛地被工业界、学术界和研究实验室所接收,被公认为是标准的数据采集和仪器控制软件。LabVIEW不仅提供了与遵从GPIB,VXI,RS-232和RS-485协议的硬件及数据采集卡通信的全部功能,还布置了支持TCP/IP,ActiveX等软件标准的库函数,而且图
8、形化的编程界面使编程过程变得生动有趣。LabVIEW是一个功能强大且灵活的软件,利用他可以方便的建立自己的虚拟仪器。以LabVIEW为代表的图形化编程语言,又称为“G”语言。使用这种语编程时,基本上不需要编写程序代码,而是“绘制”程序流程图。LabVIEW尽可能利用工程技术人员所熟悉的术语、图标和概念,因而它是一种面向最终用户的开发工具,可以增强工程人员构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW,可产生独立运行的可执行文件。LabVIEW是真正的32位编译器。像其他软件一样
9、,LabVIEW提供了Windows,UNIX,Linux和Macintosh等多种版本。1.4 本论文任务 (1)设计一个由微控制器控制的温度采集装置,使其能够准确地采集环境温度。 (2)通过某种通信协议,将采集到的温度送往上位机进行显示和处理。 (3)用LabVIEW编写上位机的程序,使其能够接受下位机发送来的温度信息数据,并作出处理想,同时显示在PC屏幕上。 (4)使用LabVIEW编写PID控制程序,能实现对温度的比较准确的控制。 (5)使用LabVIEW编写模糊控制程序,能实现对温度的控制。 图1.2 上位机界面 图1.2 硬件实物图 2 温度控制设计方案 本设计采用LabVIEW和
10、AVR单片机组成系统的主要模块。由下位机把单线式温度传感器DS18B20测量到的温度,通过串口发送到的由LabVIEW构建的上位机去。然后在上位机中进行处理和显示,通过PID或者模糊算法,计算出要输出的控制量,再由串口将数据发送到下位机,交由下位机处理。下位机根据一定的关系,输出一定的信号来控制固态继电器的通断。固态继电器的交流端就会因为通断而控制水泥电阻工作与否,以此达到控制温度的目的。2.1 硬件及软件的选择2.1.1硬件的选择 系统的硬件设计主要分为四个部分:主控部分、DS18B20测温部分、通信部分、程序下载部分。 在下位机控制器上,由于需要采用PWM技术对加热装置进行控制,而传统的5
11、1系列单片由于其内部并不具有专门的PWM模块,当从上位机发送控制数据时,就必须采取中断才能执行这个过程。由于AVR系列单片机内部均有现成的PWM模块,可以在进行采集温度的同时,进行PWM控制。所以,本设计选择Atmel公司生产的ATMega16八位高性能微处理器。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域,它与51单片机、PIC单片机相比具有一系列的优点: (1)在相同的系统时钟
12、下AVR运行速度最快; (2)芯片内部的Flsah、EEPROM、SRAM容量较大; (3)所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); (4)多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; (5)每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; (6)内部资源丰富,一般都集成AD、DA模数器、PWM、SPI、USART、TWI、I2C通信口、丰富的中断源等。 目前支持AVR单片机编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAVR、AVRGCC、IAR、IC
13、CAVR等,C语言编译器由于它具有功能强大、 运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。测温部分,本设计采用美国DALLAS公司生产的一线式温度传感器DS18B20(如图2-1)。数字式温度传感器DS18B20是美国DALLAS公司推出的一种可组网数字式温度传感器,采用1-wire总线接口,测温范围为-55+125,精度可达0067 5 ,最大转换时间为200ms 。DS18B20能够直接读取被测物体的温度值,体积小,电压适用范围宽(3V5V),用户还可以通过编程实现9-12位的温度读数,即具有可调的温度分辨率。DS18B20与单片机的接口简单,只需
14、将信号线与单片机的一位双向端口相连即可 。系统中DS18B20采用外接电源方式,VDD端用3V55V电源供电。由于其测温分辨率较高(12位),因此对时序及电特性参数要求较高,必须严格按照时序要求操作。其数据的读写是由主机读写特定时间片来完成的,包括初始化、读时间片和写时间片。 DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高12位分辨率,精度可达土0.5摄氏度。 12位分辨率时的最大工作周期为750毫秒。 可选择寄生工作方式。 检测温度范围为5
15、5C +125C 内置EEPROM,限温报警功能。 DS18B20引脚功能: GND 电压地 DQ 单数据总线 VDD 电源电压 图2-1 DS18B20 功率控制部分,本设计采用无锡天豪公司生产的GTJ24-2A固态继电器。电气参数为:输入控制电压3-14VDC(自动限流),关断电压1.2VDC,开启电流5mA,控制电流25mA,工作电压24-240VAC。该固态继电器为过零型继电器,在电流过零时导通,过零时关断。相对于随机型的固态继电器,使用过零型的固态继电器可以使本设计比较方便地控制固态继电器中双向晶闸管的导通周期数,从而控制加热元件的工作时间。 通信部分,由于温度变
16、化并不是一个很快的过程,所以并不需要很高的数据采集和发送速度。而且,计算机的各种通信方式中,尤以串口通信方式最为简单,因此本设计采用传统的RS-232串口通信。由于单片机的工作电平TTL电平,它要与计算机上的串口进行通信,就必须转换成相应的计算机串口电平,也就是RS-232电平。在本设计中采用美国MAXIM公司生产的MAX232进行电平转换。2.1.2软件的选择软件选择包括下位机程序的编译软件和上位机的编程软件。下位机的编译软件,通常有ICC AVR、WinAVR(也就是通常所说的GCC)、IAR AVR、CodeVision AVR、ATman AVR,在这里使用ICC AVR和AVR St
17、udio的组合。这是因为市面上(大陆)的教科书使用ICC AVR作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便;而AVR Studio集软硬件仿真、调试、下载编程于一体,有效弥补了ICC AVR仿真能力的不足,同时还可以有效地对程序进行调试。上位机方面,本设计采用目前NI最新的LabVIEW 8.6进行编程。结合上NI为工业控制而开发的PID和模糊逻辑控制包,可以轻松地实现PID或模糊控制。2.2 硬件及软件设计方案2.2.1硬件设计方案下图给出系统硬件组成框图,由计算机、单片机、测温电路及温度控制电路组成。该系统集计算机、强大的图形化编程软件和模块化硬件于
18、一体,建立灵活且以计算机为基础的测量及控制方案,构建出满足需要的系统。利用传感器获取温度信号,再由单片机组成的小系统对温度信号进行采集、处理和转换,然后通过RS-232串口将数据送给计算机并通过计算机运行的LabVIEW程序来分析处理输入数据最终由计算机显示结果。同时,通过计算机串口采样输入信号,利用LabVIEW中的PID控制算法,求出系统输出信号的大小,再由串口将输出信号传输至外部温度控制电路,以实现温度控制。(如图2-2)温度测控对象温度控制电路温度测量电路单片机计算机图2-2 系统组成框图2.2.2软件设计方案(1)PID控制PID(Proportional Integral Deri
19、vative比例微分积分)控制是控制工程中技术成熟,应用广泛的一种控制策略,它经过长期工程实践,已形成了一套完整的控制方法和典型的结构。 PID控制器结构简单、稳定性好、工作可靠、调整方便(如图2-3)。当被控对象的结构和参数不能完全被掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。因此当不能完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,就是PID的用武之地。PID控制器执行机构被控对象测量装置期望值输出反馈 图2-3 PID控制系统PID顾名思义,就是根据系统误差利用比例,
20、微分,积分计算出控制量进行控制。比例,积分,微分这三个环节又相互独立,有各自不同的作用,在现场也可以根据实际情况来选择使用。P控制(比例控制) 如果控制器的输出仅仅与误差成正比关系,即u(t)= Kp(t),便构成了一个比例控制器(如图2-4),可见比例控制器实际上是一个增益可调的放大器。比例控制器通过改变比例放大系数Kp调节输出,对误差的反应很快,但是其输出与期望值之间总是存在一个稳态误差,必须使用手动复位来消除,在实际运用中很不方便。提高Kp值可以增加系统的开环增益,使稳态误差减小,还能够增加系统的快速性;但容易使系统的稳定程度变差,振荡变多。而当Kp值小时,又会使系统动作变得缓慢,所以校
21、正系统很少单独使用P控制。 Kp(t)误差图2-4 比例控制I控制(积分控制) 由于P控制存在稳态误差需要手动复位,人们发现可以通过引入一个积分项来消除稳态误差。积分控制器的输出与误差信号的积分成正比,即 ,所以PI控制器的输出有: 积分项对误差进行积分,随着时间的增加积分项增大,只要误差还存在,就会不断输出。这样,即便误差很小,积分项也会随着时间的增加而加大,推动控制器的输出增大使稳态误差进一步减小,直到等于零,以达到消除稳态误差的目的。因此,PI控制器,可以使系统在进入稳态后无稳态误差。但是对时间的积分必将影响系统的快速动态性能,对于一些系统会出现超调过大的现象,严重的甚至引起系统崩溃。D
22、控制(微分控制) 积分控制的动态性能不好,而微分项恰好可以弥补这点。微分控制器的输出和误差信号的微分成正比,即,所以PD控制器的输出有: 微分作用反映的是误差信号的变化率,所以对系统控制具有预见性,能预见误差的变化趋势,因此能产生超前的控制作用。甚至在误差形成之前,可能已被微分调节作用消除。所以如果微分时间选择合适,可以减少超调和系统调节时间,使系统的动态性能大大提高。微分控制在实际运用中经常用来抵消积分控制产生的不稳定趋势,但因其反应的是误差的变化率,所以仅对动态过程作用,通常不单独使用。而且微分控制对噪声干扰有放大作用,过强地调节微分项对系统抗干扰能力不利。PID控制 PID控制即比例控制
23、、积分控制、微分控制的组合,综合了3种控制器的优点。 实际运用中,有时也不需要用到全部的三个部分,只有比例控制单元是必不可少的。对于PID控制器,输出为:PID控制实际就是根据经验,对Kp,Ti,Td这3个参数进行整定,以得到合适的输出值对系统进行控制。具体如何整定,根据不同的现场有所不同。目前PID不仅应用广泛,发展也很快,已研究出很多对这3个参数进行自整定的智能控制器。在和计算机这样的数字控制器结合后,还出现了数字PID的设计方法,不过具体原理还是遵循于传统。(2)模糊控制 模糊控制是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制。通常是一类缺乏精确数学模型的被控过程,
24、采用模糊集合的理论,总结人们对系统的操作和控制经验。用模糊条件语句写出控制规律,再用算法语言来编写程序,按此程序对生产过程进行自动控制。模糊控制同常规的控制方案相比,主要特点有:模糊控制只要求掌握现场操作人员或有关专家的经验、知识或操作数据, 不需要建立过程的数学模型,所以适用于不易获得精确数学模型的被控过程,或其结构参数不很清楚等场合。模糊控制是一种语言变量控制器,其控制规律只用语言变量的形式定性地表达,不用传递函数与状态方程,只要对人们的控制经验加以总结,进而从中提炼出规则,直接给出语言变量,再应用推理方程进行观察与控制。系统的鲁棒性强,尤其适用于时变、非线性、时延系统的控制。从不同的观点
25、出发,可以设计不同的目标函数,其语言控制规则分别是独立的,但是整个系统的设计可得到总体的协调控制。模糊控制的理论基础是模糊集合理论,模糊集合是一种介于严格变量与定性间的数学表达形式,例如变量的数值分为正大(PL)、正中(PM)、正小(PS)、零(O)、负小(NS)、负中(NM)、负大(NB)等。其中P=Posive,B=Big,M=Medium,S=Small,O=Zero,N=Negative。模糊集合理论的核心是对复杂的系统或过程建立一种语言分析的数学模式,提供一个严格的数学框架,使日常生活中的自然语言能直接转化为计算机所能接受的算法语言。模糊集合理论的一个基本概念是函数或称隶属度。表示某
26、一个元素与模糊子集的关系(即隶属度),并用 或 表示。所有隶属度均满足下列要求,即 ,表示 隶属于 ; ,则表示 不属于 。模糊子集可表示成 其中的U为论域(指被考虑过程的所有元素的全体)。式中的“+”号表示列举,并不是加号;作用每项中的分式也不表示相除,分母表示元素名称,分子表示该元素的隶属度。模糊子集 不仅可用隶属度 来描述,也可用模糊向量(即隶属度向量)来表示,即下图2-5为模糊控制系统原理框图。模糊控制器执行机构被控对象测量装置期望值输出图2-5 模糊控制系统3 LabVIEW 开发环境以及PID和模糊控制模块简介使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。设计程
27、序主要是在以下两个窗口中进行的:前面板设计窗口:它是与用户直接接触的图形用户界面,即VI的虚拟仪器面板。后面板编辑窗口:它是用户为完成特定功能而编写的程序,即VI的图形化源代码。3.1 LabVIEW前台显示面板与后台控制面板3.1.1 LabVIEW前台显示面板 程序前面板是图形用户界面,这一界面上有用户输入控制和输出显示两类对象,用于模拟真实仪表的前面板。控制和显示是用各种各样的图标形式出现在前面板,具体表现为旋钮、开关、图形、图标以及其他的控制(Control)和显示(Indicator)对象等,这使得用户界面更加直观易懂。3.1.2 LabVIEW后台控制面板 后面板即是程序编辑窗口。
28、流程图提供VI的图形化源程序,可以理解为传统程序的源代码。在流程图中队VI进行编程,以实现程序的输入和输出功能流程图由端口、节点、图框和连线构成。 LabVIEW有三类端口:前面板对象端口、全局变量与局部变量端口和常量端口。对象端口被用来与程序前面板上的控制件或显示件传递数据;常量端口只能在程序中作为数据流起点;全局变量和局部变量端口是LabVIEW用力啊传递数据的工具。 节点类似于文本语言的函数或子程序,LabVIEW有两种节点类型:功能函数节点或子VI节点,二者的区别在于功能函数节点是LabVIEW本身提供给用户使用的,不可以对它进行修改;子VI则是用户可以进入并根据实际需要对其加以修改。
29、 图框被用来实现结构化控制命令,例如循环控制、顺序控制以及条件分支等;此外还有MATLAB脚本、HiQ脚本以及调用C语言编程的CIN节点等。连线用于代表程序执行过程中的数据流,它类似于文本程序的变量,数据是单向流动的。这些都是编程必须有的东西。3.2 LabVIEW程序执行流程 宏观上讲,LabVIEW的运行机制已经不是传统上的冯诺依曼式计算机体系结构的执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。而且,对于那些数学和逻辑运算过程较复杂的程序,用花可以选择使用VC或者Matlab等开发工具将数学分析和处理过程编写为专用的动态链接库,LabVIEW提供
30、了专门的接口函数可以调用之。这样,可以结合图形语言和文本语言各自优点,更为灵活、高效、易用。 3.3 LabVIEW中的仪器控制和驱动 虚拟仪器是仪器的未来,但在工作台上还有很多非虚拟仪器,毫无疑问需要用LabVIEW控制他们。对仪器的驱动是虚拟仪器实现对真实物理信号采集的基础,当仪器驱动后,才能由软件进行数据的分析处理进而实现某种测温功能,并求取测量结果。并且,有时使用外部仪器也是可以的。3.3.1常用的仪器通信方式 GPIB:通用接口总线(General Purpose Interface Bus)。有时候成为HP-IB(Hewlett-Packard Interface Bus)和IEE
31、E 488.2总线(Institute of Electronic Engineer standard 488.2),它几乎是任何仪器与计算机通信的世界标准。 IVI:可交换虚拟仪器(Interchangeable Virtual Instrument)。可以与许多不同的仪器协调工作的仪器驱动程序(用来控制外部仪器的软件)标准。 LXI:LAN在仪器领域的扩展(LAN eXtension for Instrumentation)。LXI协会给予工业标准以太网技术,为小型和中型系统提供模块化、灵活性和性能的仪器平台建议标准。 RS-232:232号推荐标准(Recommended Standar
32、d #232)。美国仪器协会为串行通信提出的建议标准。可以与术语“串行通信”互换使用,尽管串行通信一般指的是一次传输一位。也许还会看到其他一些标准如RS-485、RS-422和RS-432。 SCPI:可编程仪器标准命令(Standard Commands for Programmable Instrumentation)。SCPI协会的一个建议标准,该标准使用简单、直观的ASCII命令为仪器通信制定了结构和语法。 USB:通用串行总线(Universal Serial Bus),大多数PC与外部设备互联的标准总线。 VISA:虚拟仪器标准体系结构(Virtual Instrument Sta
33、ndard Architecture),NI公司研发的一种驱动软件体系结构。其目的是尽量统一一起软件标准,不论仪器使用GPIB、PXI、VXI,还是串行接口(RS-232/422/485)。3.3.2 LabVIEW支持的GPIB、VXI、标准串口I/O仪器的驱动 通常LabVIEW有两张安装光盘,其中一张就是设备驱动盘,它包含了一个仪器驱动库,该库为NI生产的各种程控仪器(GPIB仪器、VXI仪器和串行仪器等)提供仪器驱动程序,例如HP34401A数字万用表的仪器驱动程序。仪器驱动程序在功能模块Instrument I/OInstrument Drivers子模板中。对于非NI公司生产的上述
34、I/O接口仪器设备,可用Instrument I/O子模板上提供的VISA图标来进行驱动。利用这些仪器驱动器,用户可以很容易地控制各种仪器,并将主要精力放在仪器功能的实现上,而不必关心具体的编程细节,这一点是LabVIEW强大功能的体现。3.3.3 VISA简介 VISA是NI公司发布的为统一软件标准的驱动软件体系结构。它是与驱动软件通信的LabVIEW 仪器驱动VI 中的底层函数。 VISA 本身不提供仪器编程功能。 VISA 是一个调用低层驱动程序的高层API。 VISA 能够控制VXI、GPIB、串口或者基于计算机的仪器,并能根据所用仪器的类型来调用合适的驱动程序。下表给出了本系统用到的
35、几个通信模块的基本属性的描述。VI名称VI功能VISA Configure Serial Port初始化VISA resource name指定的串口通讯参数VISA Write将输出缓冲区中的数据发送到VISA resource name指定的串口VISA Read将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中VISA Serial Break向VISA resource name指定的串口发送一个暂停信号VISA Bytes at Serial Port查询VISA resource name指定的串口接收缓冲区中的数据字节数VISA
36、Close结束与VISA resource name指定的串口资源之间的会话VISA Set I/O Buffer Size设置VISA resource name指定的串口的输入输出缓冲区大小VISA Flush I/O Buffer清空VISA resource name指定的串口的输入输出缓冲区3.4 PID控制模块简介 NI提供了在LabVIEW中使用的PID控制工具包,可帮助工程师结合NI数据采集设备快速有效地搭建一个数字PID控制器,精确可靠地完成系统需求。 安装NI光盘Tookit Software中的LabVIEW PID Control Tookit,即可在LabVIEW中生
37、成该工具包。安装完成后打开一个新的VI,右击程序框图,在“函数”面板上选择“控制设计与仿真”,即可看到PID工具包,该工具包由10个VI组成(如图3-1)。 图3-1 PID工具包 利用PID.vi即可搭建一个简单的PID控制器,在该vi的输入端给入PID的3个参数值(PID gains),系统反馈值(process variable),实际期望值(setpoint)以及微分时间(dt),便能得到需要的输出值(output)。该vi还能控制输出值的范围(如图3-2)。 图3-2 PID的使用范例PID Advanced.vi是为专家PID设计的vi,增加了一些高级的功能,如可以设定期望值的范围
38、(setpoint range),手动控制(manual control),线性化(linearity)等功能。PID Autotuning.vi(如图3-3)是为需要自整定的PID系统设计的,在给出一些基本要求后,具有自整定的功能。图3-3 PID Autotuning.viPID Lead/Lag.vi可以对PID控制器(如图3-4)前端由系统反馈来的输入信号做动态补偿。PID Setpoint Profile.vi可以在期望值间断性变化时使其变得平滑。PID Control Input Filter.vi是一个五阶的低通滤波器,放在PID控制器的process variable前端,可以
39、滤去小于采样率十分之一的输入值。PID Gain Schedule.vi可以写入几组增益参数,并给出条件,执行时当输入信号达到条件,便使用对应的一组参数给入到PID控制器的PID Gains上。PID Output Limiter.vi对PID控制器输出信号的变化速率进行控制,以保证外部接受控制信号部件的安全。PID EGU to %.vi和PID % to EGU.vi负责对实际数值和其在设定工程单元范围内占的百分比进行转换。图3-4构建PID控制系统3.5 模糊控制模块简介 安装NI光盘Tookit Software中的LabVIEW PID Control Tookit,即可在LabVI
40、EW中生成该工具包。安装完成后打开一个新的VI,右击程序框图,在Functions Palette上选择Control Design&Simulation,即可看到Fuzzy Logic工具包,该工具包由3个VI组成(图3-5)。安装工具包后,可以使用LabVIEW创建.fc格式的文件。.fc文件是NI自定义的一种文件格式,用于仿真模糊控制器推理机中的知识库。图3-5 Fuzzy Logic工具包创建一个.fc文件步骤如下:打开一个新的VI,在任务栏依次点击ToolsControl Design and SimulationFuzzy Logic Controller Design,接着在弹出
41、的 Fuzzy Logic Controller Design(如图3-6)对话框的状态栏上点击FileNew,即打开了一个新的.fc文件。 图3-6 Fuzzy Logic Controller Design接着弹出一个Fuzzy Set Editor对话框,这是仿真模糊推理器中的数据库。工程师可根据专家经验绘制出输入和输出量的隶属函数图,绘制完成后点击Quit;接着弹出Rulebase Editor对话框(图3-7),这是仿真模糊推理器的规则库。工程师根据实际情况将制定好的规则写入,完成后点击Quit;最后点击FileSave,给出保存位置和文件名,一个.fc文件就创建完成了。 图3-7
42、Fuzzy Set Editor 图3-8 Rulebase Editor.fc文件使用工具包Fuzzy Logic中的Load Fuzzy Controller.vi加载,该VI加载后将数据传送到Fuzzy Controller.vi中。Fuzzy Controller.vi接收输入信号(最多可接受4维输入),根据.fc文件进行模糊推理,并计算出合适的输出信号值(图3-8)。工具包中的另一个VI是Test Fuzzy Controller.vi,它可以通过手动输入算出输出响应值,已到达调试.fc文件中规则和隶属度函数的目的。4 以单片机为核心的下位机的设计4.1 下位机设计方案下位机上,本设
43、计采用Atmega16控制DS18B20采集温度,并将采集到的温度通过串口发送到上位机,以便处理。在上位机发回控制信息后,单片机将收到的信息按照一定的规则处理后,将其送入功率控制设备。此功率设备为过零型固态继电器,在电流过零处导通或关断,易于实现PWM的控制。4.2下位机的硬件设计硬件部分分为四个部分:主控部分、DS18B20测温部分、通信部分、程序下载部分。4.2.1主控部分由于需要进行串口通信,所以单片机的晶体振荡器我们选择用的比较多的7.3728MHz的外部晶振(如图4-1)。 图4-1 主控部分4.2.2 DS18B20测温部分 本来在DS18B20的数据脚上应该接一个4.7K的上拉电
44、阻(如图4-2),可是由于Atmega16中的数据脚上已经有了内部的上拉电阻,我们就不需要在外部再加。这样不仅降低了成本,最大程度利用了Atmega16的强大功能,而且降低了电路的复杂性,使布线更加方便。 图4-2 测温部分4.2.3通信部分 硬件电路如图4-3 图4-3 串口通信部分4.2.4程序下载部分 硬件电路如图4-4 图4-4 程序下载部分4.3 下位机的软件设计系统模型如下图4-5.PID/模糊控制器加热执行设备温度输出温度输入图4-5 下位机系统模型4.3.1DS18B20工作原理及应用DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前有必要了解DS18B20的内部存储器资源。DS18B20共有三种形态的存储器资源,它们分别是: ROM 只读存储器,用于存放DS18B20ID编码,其前8是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8