基于labview的温度采集系统.doc

上传人:小** 文档编号:23332149 上传时间:2021-06-07 格式:DOC 页数:43 大小:2.36MB
收藏 版权申诉 举报 下载
基于labview的温度采集系统.doc_第1页
第1页 / 共43页
基于labview的温度采集系统.doc_第2页
第2页 / 共43页
基于labview的温度采集系统.doc_第3页
第3页 / 共43页
资源描述:

《基于labview的温度采集系统.doc》由会员分享,可在线阅读,更多相关《基于labview的温度采集系统.doc(43页珍藏版)》请在装配图网上搜索。

1、河南师范大学本科毕业论文(设计) 目 录1 绪 论11.1 课题背景11.2 虚拟仪器简介21.3 图形化编程语言LabVIEW的简介31.4 本论文任务32 温度控制设计方案52.1 硬件及软件的选择52.1.1硬件的选择52.1.2软件的选择62.2 硬件及软件设计方案72.2.1硬件设计方案72.2.2软件设计方案73 LabVIEW 开发环境以及PID和模糊控制模块简介113.1 LabVIEW前台显示面板与后台控制面板113.1.1 LabVIEW前台显示面板113.1.2 LabVIEW后台控制面板113.2 LabVIEW程序执行流程113.3 LabVIEW中的仪器控制和驱动1

2、13.3.1常用的仪器通信方式123.3.2 LabVIEW支持的GPIB、VXI、标准串口I/O仪器的驱动123.3.3 VISA简介123.4 PID控制模块简介133.5 模糊控制模块简介154 以单片机为核心的下位机的设计174.1 下位机设计方案174.2下位机的硬件设计174.2.1主控部分174.2.2 DS18B20测温部分174.2.3通信部分184.2.4程序下载部分184.3 下位机的软件设计184.3.1DS18B20工作原理及应用194.3.2单片机串口通信部分204.3.3单片机PWM功率控制部分205 基于PC的上位机编程设计235.1 方案设计与选择235.2

3、上位机各模块设计235.2.1串口通信模块设计235.2.2数据处理部分设计235.2.3 PID控制部分设计246 总结25参考文献26谢 辞27附 录281 绪 论现代计算机技术和信息技术的迅猛发展,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器技术的出现又使得测量仪器进步入了高科技的殿堂。 与传统的仪器不同,虚拟仪器(virtual instrument)是基于计算机和标准总线技术的模块化系统,通常它是由控制模块、仪器模块和软件组成,在虚拟仪器中软件是至关重要的,仪

4、器的功能都要通过它来实现,因此软件是虚拟仪器的核心,“软件就是仪器”,从本质上反映了虚拟仪器的特征。 从构成方式上讲,虚拟仪器可分为四大类:GPIB体系结构、PC-DAQ体系结构、VXI体系结构和PXI体系结构。 GPIB体系结构是通过GPIB总线将具有GPIB接口的计算机和仪器集成的测试系统。组建方便灵活、操作简单。 VXI体系结构综合了。pib和vem总线的优点,它集成的系统硬件集成度高、数据传输率快、便携性好,是当今倍受业界关注的体系结构。 PXI体系结构是以PCI总线为基础的体系结构,由于其总线吞吐率高、硬件的价格较低被业内人士认为是符合国情的一种体系结构。 虚拟仪器应用程序的开发环境

5、主要有两种。一种是基于传统的文本语言的软件开发环境,常用的有lab windows/cvi、.visual basidc=vc+等:一种是基于图形化语言的软件开发环境,常用的有LabVIEW和hp vee。其中图形化软件开发系统是用工程人员所熟悉的术语和图形化符号代替常规的文本语言编程,界面友好,操作简便,可大大缩短系统开发周期,深受专业人员的青睐。 1.1 课题背景 随着世界经济的发展,工业的迅速扩张,政府和企业家们花在设备上的投入越来越多,这笔巨大的开销,极大地限制了企业的资金,从而制约着企业的发展。而虚拟仪器技术凭借着其开发容易、开发成本低、开发周期短等明显的优点,渐渐地在工业测控领域崭

6、露头角。它的出现使企业家们看到了降低成本的希望。本设计将就虚拟仪器怎样用在工业测控中进行一番简单的探讨。1.2 虚拟仪器简介 随着微电子技术、计算机技术、软件技术、网络技术和现代测量技术的迅速发展,一种新型的先进仪器虚拟仪器成为当前系统研究的热点。虚拟仪器通过软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储及分析处理。在对大规模、集成化、智能化及数字电子仪器需求愈加迫切的形势下,计算机技术、仪器技术和通信技术相结合,产生了具有里程碑意义的新一代仪器虚拟仪器。虚拟仪器的出现开辟了仪器技术的新纪元,

7、它是多门技术与计算机技术结合的产物,其基本思想逐步代替仪器完成某些功能,如数据的采集、分析、显示和存储等,最终达到取代传统电子仪器的目的。虚拟仪器是计算机硬件资源、仪器硬件、数据分析处理、软件、通信软件极图形用户界面的又效结合,具有传统仪器所具备的信号采集、信号处理分析、信号输出等功能。其基本构成包括计算机、虚拟仪器软件、硬件接口和测试仪器等。虚拟仪器以透明的方式把计算与传统仪器一样。虚拟仪器同样划分为数据采集与控制、数据分析与处理、结果表达三大功机资源和仪器硬件的测试能力结合起来,实现了仪器功能的运作。虚拟仪器的功能模块如图1-1所示。PCDAQ采集器网络传输信号处理串口仪器磁盘复制数字滤波

8、GPIB仪器文件I/O统计VXI仪器图形用户接口分析PXI仪器图1-1 虚拟仪器的功能模块虚拟仪器用各种图标或控件来虚拟传统仪器面板上的各种器件。由各种开关图标实现仪器电源的通断;由各种按钮图标来设置被测信号的“放大倍数”、“通道”等参数;由各种显示控件以数值或波形的方式显示测量或分析结果;由计算机的鼠标和键盘操作来模拟传统仪器面板上的实际操作;以对图形化软件流程图的编程来实现各种信号测量和数据分析功能。如下是虚拟仪器与传统仪器的比较表,直观的反应了传统仪器和虚拟仪器各自的性能特点。传统仪器和虚拟仪器的比较传统仪器虚拟仪器仪器厂商定义用户自己定义硬件是关键软件是关键仪器的功能、规模均已固定系统

9、功能和规模可通过软件修改和增减封闭的系统,与其它设备连接受限制基于计算机的开放系统,可方便地同外设、网络及其它相应设备连接价格昂贵价格低,可重复利用技术更新慢技术更新快开发和维护费用高软件结构可大大节省开发和维护费用多为实验室拥有个人可拥有一个实验室1.3 图形化编程语言LabVIEW的简介LabVIEW(laboratory virtual instrument engineering workbench)是一种图形化的编程语言和开发环境,它广泛地被工业界、学术界和研究实验室所接收,被公认为是标准的数据采集和仪器控制软件。LabVIEW不仅提供了与遵从GPIB,VXI,RS-232和RS-4

10、85协议的硬件及数据采集卡通信的全部功能,还布置了支持TCP/IP,ActiveX等软件标准的库函数,而且图形化的编程界面使编程过程变得生动有趣。LabVIEW是一个功能强大且灵活的软件,利用他可以方便的建立自己的虚拟仪器。以LabVIEW为代表的图形化编程语言,又称为“G”语言。使用这种语编程时,基本上不需要编写程序代码,而是“绘制”程序流程图。LabVIEW尽可能利用工程技术人员所熟悉的术语、图标和概念,因而它是一种面向最终用户的开发工具,可以增强工程人员构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高

11、工作效率。利用LabVIEW,可产生独立运行的可执行文件。LabVIEW是真正的32位编译器。像其他软件一样,LabVIEW提供了Windows,UNIX,Linux和Macintosh等多种版本。1.4 本论文任务 (1)设计一个由微控制器控制的温度采集装置,使其能够准确地采集环境温度。 (2)通过某种通信协议,将采集到的温度送往上位机进行显示和处理。 (3)用LabVIEW编写上位机的程序,使其能够接受下位机发送来的温度信息数据,并作出处理想,同时显示在PC屏幕上。 (4)使用LabVIEW编写PID控制程序,能实现对温度的比较准确的控制。 (5)使用LabVIEW编写模糊控制程序,能实现

12、对温度的控制。 图1.2 上位机界面 图1.2 硬件实物图41 2 温度控制设计方案 本设计采用LabVIEW和AVR单片机组成系统的主要模块。由下位机把单线式温度传感器DS18B20测量到的温度,通过串口发送到的由LabVIEW构建的上位机去。然后在上位机中进行处理和显示,通过PID或者模糊算法,计算出要输出的控制量,再由串口将数据发送到下位机,交由下位机处理。下位机根据一定的关系,输出一定的信号来控制固态继电器的通断。固态继电器的交流端就会因为通断而控制水泥电阻工作与否,以此达到控制温度的目的。2.1 硬件及软件的选择2.1.1硬件的选择 系统的硬件设计主要分为四个部分:主控部分、DS18

13、B20测温部分、通信部分、程序下载部分。 在下位机控制器上,由于需要采用PWM技术对加热装置进行控制,而传统的51系列单片由于其内部并不具有专门的PWM模块,当从上位机发送控制数据时,就必须采取中断才能执行这个过程。由于AVR系列单片机内部均有现成的PWM模块,可以在进行采集温度的同时,进行PWM控制。所以,本设计选择Atmel公司生产的ATMega16八位高性能微处理器。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪

14、器仪表、通讯设备、家用电器等各个领域,它与51单片机、PIC单片机相比具有一系列的优点: (1)在相同的系统时钟下AVR运行速度最快; (2)芯片内部的Flsah、EEPROM、SRAM容量较大; (3)所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); (4)多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; (5)每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; (6)内部资源丰富,一般都集成AD、DA模数器、PWM、SPI、USART、TWI、I2C通信口、丰富的中断源等。 目前支持AVR单片机编译器的语言主

15、要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、 运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。测温部分,本设计采用美国DALLAS公司生产的一线式温度传感器DS18B20(如图2-1)。数字式温度传感器DS18B20是美国DALLAS公司推出的一种可组网数字式温度传感器,采用1-wire总线接口,测温范围为-55+125,精度可达0067 5 ,最大转换时间为200ms 。DS18B20能够直接读取被测物体的温度值,体积小,电压适用范围宽(3V5

16、V),用户还可以通过编程实现9-12位的温度读数,即具有可调的温度分辨率。DS18B20与单片机的接口简单,只需将信号线与单片机的一位双向端口相连即可 。系统中DS18B20采用外接电源方式,VDD端用3V55V电源供电。由于其测温分辨率较高(12位),因此对时序及电特性参数要求较高,必须严格按照时序要求操作。其数据的读写是由主机读写特定时间片来完成的,包括初始化、读时间片和写时间片。 DS18B20的主要特征: 􀂄全数字温度转换及输出。 􀂄先进的单总线数据通信。 􀂄最高12位分辨率,精度可达土0.5摄氏度。 􀂄12位分辨

17、率时的最大工作周期为750毫秒。 􀂄可选择寄生工作方式。 􀂄检测温度范围为55C +125C 􀂄内置EEPROM,限温报警功能。 DS18B20引脚功能: GND 电压地 DQ 单数据总线 VDD 电源电压 图2-1 DS18B20 功率控制部分,本设计采用无锡天豪公司生产的GTJ24-2A固态继电器。电气参数为:输入控制电压3-14VDC(自动限流),关断电压1.2VDC,开启电流5mA,控制电流25mA,工作电压24-240VAC。该固态继电器为过零型继电器,在电流过零时导通,过零时关断。相对于随机型的固态继电器,使用过零型的固态继电器

18、可以使本设计比较方便地控制固态继电器中双向晶闸管的导通周期数,从而控制加热元件的工作时间。 通信部分,由于温度变化并不是一个很快的过程,所以并不需要很高的数据采集和发送速度。而且,计算机的各种通信方式中,尤以串口通信方式最为简单,因此本设计采用传统的RS-232串口通信。由于单片机的工作电平TTL电平,它要与计算机上的串口进行通信,就必须转换成相应的计算机串口电平,也就是RS-232电平。在本设计中采用美国MAXIM公司生产的MAX232进行电平转换。2.1.2软件的选择软件选择包括下位机程序的编译软件和上位机的编程软件。下位机的编译软件,通常有ICC AVR、WinAVR(也就是通常所说的G

19、CC)、IAR AVR、CodeVision AVR、ATman AVR,在这里使用ICC AVR和AVR Studio的组合。这是因为市面上(大陆)的教科书使用ICC AVR作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便;而AVR Studio集软硬件仿真、调试、下载编程于一体,有效弥补了ICC AVR仿真能力的不足,同时还可以有效地对程序进行调试。上位机方面,本设计采用目前NI最新的LabVIEW 8.6进行编程。结合上NI为工业控制而开发的PID和模糊逻辑控制包,可以轻松地实现PID或模糊控制。2.2 硬件及软件设计方案2.2.1硬件设计方案下图给出系

20、统硬件组成框图,由计算机、单片机、测温电路及温度控制电路组成。该系统集计算机、强大的图形化编程软件和模块化硬件于一体,建立灵活且以计算机为基础的测量及控制方案,构建出满足需要的系统。利用传感器获取温度信号,再由单片机组成的小系统对温度信号进行采集、处理和转换,然后通过RS-232串口将数据送给计算机并通过计算机运行的LabVIEW程序来分析处理输入数据最终由计算机显示结果。同时,通过计算机串口采样输入信号,利用LabVIEW中的PID控制算法,求出系统输出信号的大小,再由串口将输出信号传输至外部温度控制电路,以实现温度控制。(如图2-2)温度测控对象温度控制电路温度测量电路单片机计算机图2-2

21、 系统组成框图2.2.2软件设计方案(1)PID控制PID(Proportional Integral Derivative比例微分积分)控制是控制工程中技术成熟,应用广泛的一种控制策略,它经过长期工程实践,已形成了一套完整的控制方法和典型的结构。 PID控制器结构简单、稳定性好、工作可靠、调整方便(如图2-3)。当被控对象的结构和参数不能完全被掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。因此当不能完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,就是PID的用武之地。PID

22、控制器执行机构被控对象测量装置期望值输出反馈 图2-3 PID控制系统PID顾名思义,就是根据系统误差利用比例,微分,积分计算出控制量进行控制。比例,积分,微分这三个环节又相互独立,有各自不同的作用,在现场也可以根据实际情况来选择使用。P控制(比例控制) 如果控制器的输出仅仅与误差成正比关系,即u(t)= Kp(t),便构成了一个比例控制器(如图2-4),可见比例控制器实际上是一个增益可调的放大器。比例控制器通过改变比例放大系数Kp调节输出,对误差的反应很快,但是其输出与期望值之间总是存在一个稳态误差,必须使用手动复位来消除,在实际运用中很不方便。提高Kp值可以增加系统的开环增益,使稳态误差减

23、小,还能够增加系统的快速性;但容易使系统的稳定程度变差,振荡变多。而当Kp值小时,又会使系统动作变得缓慢,所以校正系统很少单独使用P控制。 Kp(t)误差图2-4 比例控制I控制(积分控制) 由于P控制存在稳态误差需要手动复位,人们发现可以通过引入一个积分项来消除稳态误差。积分控制器的输出与误差信号的积分成正比,即 ,所以PI控制器的输出有: 积分项对误差进行积分,随着时间的增加积分项增大,只要误差还存在,就会不断输出。这样,即便误差很小,积分项也会随着时间的增加而加大,推动控制器的输出增大使稳态误差进一步减小,直到等于零,以达到消除稳态误差的目的。因此,PI控制器,可以使系统在进入稳态后无稳

24、态误差。但是对时间的积分必将影响系统的快速动态性能,对于一些系统会出现超调过大的现象,严重的甚至引起系统崩溃。D控制(微分控制) 积分控制的动态性能不好,而微分项恰好可以弥补这点。微分控制器的输出和误差信号的微分成正比,即,所以PD控制器的输出有: 微分作用反映的是误差信号的变化率,所以对系统控制具有预见性,能预见误差的变化趋势,因此能产生超前的控制作用。甚至在误差形成之前,可能已被微分调节作用消除。所以如果微分时间选择合适,可以减少超调和系统调节时间,使系统的动态性能大大提高。微分控制在实际运用中经常用来抵消积分控制产生的不稳定趋势,但因其反应的是误差的变化率,所以仅对动态过程作用,通常不单

25、独使用。而且微分控制对噪声干扰有放大作用,过强地调节微分项对系统抗干扰能力不利。PID控制 PID控制即比例控制、积分控制、微分控制的组合,综合了3种控制器的优点。 实际运用中,有时也不需要用到全部的三个部分,只有比例控制单元是必不可少的。对于PID控制器,输出为:PID控制实际就是根据经验,对Kp,Ti,Td这3个参数进行整定,以得到合适的输出值对系统进行控制。具体如何整定,根据不同的现场有所不同。目前PID不仅应用广泛,发展也很快,已研究出很多对这3个参数进行自整定的智能控制器。在和计算机这样的数字控制器结合后,还出现了数字PID的设计方法,不过具体原理还是遵循于传统。(2)模糊控制 模糊

26、控制是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制。通常是一类缺乏精确数学模型的被控过程,采用模糊集合的理论,总结人们对系统的操作和控制经验。用模糊条件语句写出控制规律,再用算法语言来编写程序,按此程序对生产过程进行自动控制。模糊控制同常规的控制方案相比,主要特点有:模糊控制只要求掌握现场操作人员或有关专家的经验、知识或操作数据, 不需要建立过程的数学模型,所以适用于不易获得精确数学模型的被控过程,或其结构参数不很清楚等场合。模糊控制是一种语言变量控制器,其控制规律只用语言变量的形式定性地表达,不用传递函数与状态方程,只要对人们的控制经验加以总结,进而从中提炼出规则,直接

27、给出语言变量,再应用推理方程进行观察与控制。系统的鲁棒性强,尤其适用于时变、非线性、时延系统的控制。从不同的观点出发,可以设计不同的目标函数,其语言控制规则分别是独立的,但是整个系统的设计可得到总体的协调控制。模糊控制的理论基础是模糊集合理论,模糊集合是一种介于严格变量与定性间的数学表达形式,例如变量的数值分为正大(PL)、正中(PM)、正小(PS)、零(O)、负小(NS)、负中(NM)、负大(NB)等。其中P=Posive,B=Big,M=Medium,S=Small,O=Zero,N=Negative。模糊集合理论的核心是对复杂的系统或过程建立一种语言分析的数学模式,提供一个严格的数学框架

28、,使日常生活中的自然语言能直接转化为计算机所能接受的算法语言。模糊集合理论的一个基本概念是函数或称隶属度。表示某一个元素与模糊子集的关系(即隶属度),并用 或 表示。所有隶属度均满足下列要求,即 ,表示 隶属于 ; ,则表示 不属于 。模糊子集可表示成 其中的U为论域(指被考虑过程的所有元素的全体)。式中的“+”号表示列举,并不是加号;作用每项中的分式也不表示相除,分母表示元素名称,分子表示该元素的隶属度。模糊子集 不仅可用隶属度 来描述,也可用模糊向量(即隶属度向量)来表示,即下图2-5为模糊控制系统原理框图。模糊控制器执行机构被控对象测量装置期望值输出图2-5 模糊控制系统3 LabVIE

29、W 开发环境以及PID和模糊控制模块简介使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。设计程序主要是在以下两个窗口中进行的:前面板设计窗口:它是与用户直接接触的图形用户界面,即VI的虚拟仪器面板。后面板编辑窗口:它是用户为完成特定功能而编写的程序,即VI的图形化源代码。3.1 LabVIEW前台显示面板与后台控制面板3.1.1 LabVIEW前台显示面板 程序前面板是图形用户界面,这一界面上有用户输入控制和输出显示两类对象,用于模拟真实仪表的前面板。控制和显示是用各种各样的图标形式出现在前面板,具体表现为旋钮、开关、图形、图标以及其他的控制(Control)和显示(Indi

30、cator)对象等,这使得用户界面更加直观易懂。3.1.2 LabVIEW后台控制面板 后面板即是程序编辑窗口。流程图提供VI的图形化源程序,可以理解为传统程序的源代码。在流程图中队VI进行编程,以实现程序的输入和输出功能流程图由端口、节点、图框和连线构成。 LabVIEW有三类端口:前面板对象端口、全局变量与局部变量端口和常量端口。对象端口被用来与程序前面板上的控制件或显示件传递数据;常量端口只能在程序中作为数据流起点;全局变量和局部变量端口是LabVIEW用力啊传递数据的工具。 节点类似于文本语言的函数或子程序,LabVIEW有两种节点类型:功能函数节点或子VI节点,二者的区别在于功能函数

31、节点是LabVIEW本身提供给用户使用的,不可以对它进行修改;子VI则是用户可以进入并根据实际需要对其加以修改。 图框被用来实现结构化控制命令,例如循环控制、顺序控制以及条件分支等;此外还有MATLAB脚本、HiQ脚本以及调用C语言编程的CIN节点等。连线用于代表程序执行过程中的数据流,它类似于文本程序的变量,数据是单向流动的。这些都是编程必须有的东西。3.2 LabVIEW程序执行流程 宏观上讲,LabVIEW的运行机制已经不是传统上的冯诺依曼式计算机体系结构的执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。而且,对于那些数学和逻辑运算过程较复杂的程

32、序,用花可以选择使用VC或者Matlab等开发工具将数学分析和处理过程编写为专用的动态链接库,LabVIEW提供了专门的接口函数可以调用之。这样,可以结合图形语言和文本语言各自优点,更为灵活、高效、易用。 3.3 LabVIEW中的仪器控制和驱动 虚拟仪器是仪器的未来,但在工作台上还有很多非虚拟仪器,毫无疑问需要用LabVIEW控制他们。对仪器的驱动是虚拟仪器实现对真实物理信号采集的基础,当仪器驱动后,才能由软件进行数据的分析处理进而实现某种测温功能,并求取测量结果。并且,有时使用外部仪器也是可以的。3.3.1常用的仪器通信方式 GPIB:通用接口总线(General Purpose Inte

33、rface Bus)。有时候成为HP-IB(Hewlett-Packard Interface Bus)和IEEE 488.2总线(Institute of Electronic Engineer standard 488.2),它几乎是任何仪器与计算机通信的世界标准。 IVI:可交换虚拟仪器(Interchangeable Virtual Instrument)。可以与许多不同的仪器协调工作的仪器驱动程序(用来控制外部仪器的软件)标准。 LXI:LAN在仪器领域的扩展(LAN eXtension for Instrumentation)。LXI协会给予工业标准以太网技术,为小型和中型系统提供

34、模块化、灵活性和性能的仪器平台建议标准。 RS-232:232号推荐标准(Recommended Standard #232)。美国仪器协会为串行通信提出的建议标准。可以与术语“串行通信”互换使用,尽管串行通信一般指的是一次传输一位。也许还会看到其他一些标准如RS-485、RS-422和RS-432。 SCPI:可编程仪器标准命令(Standard Commands for Programmable Instrumentation)。SCPI协会的一个建议标准,该标准使用简单、直观的ASCII命令为仪器通信制定了结构和语法。 USB:通用串行总线(Universal Serial Bus),大

35、多数PC与外部设备互联的标准总线。 VISA:虚拟仪器标准体系结构(Virtual Instrument Standard Architecture),NI公司研发的一种驱动软件体系结构。其目的是尽量统一一起软件标准,不论仪器使用GPIB、PXI、VXI,还是串行接口(RS-232/422/485)。3.3.2 LabVIEW支持的GPIB、VXI、标准串口I/O仪器的驱动 通常LabVIEW有两张安装光盘,其中一张就是设备驱动盘,它包含了一个仪器驱动库,该库为NI生产的各种程控仪器(GPIB仪器、VXI仪器和串行仪器等)提供仪器驱动程序,例如HP34401A数字万用表的仪器驱动程序。仪器驱动

36、程序在功能模块Instrument I/OInstrument Drivers子模板中。对于非NI公司生产的上述I/O接口仪器设备,可用Instrument I/O子模板上提供的VISA图标来进行驱动。利用这些仪器驱动器,用户可以很容易地控制各种仪器,并将主要精力放在仪器功能的实现上,而不必关心具体的编程细节,这一点是LabVIEW强大功能的体现。3.3.3 VISA简介 VISA是NI公司发布的为统一软件标准的驱动软件体系结构。它是与驱动软件通信的LabVIEW 仪器驱动VI 中的底层函数。 VISA 本身不提供仪器编程功能。 VISA 是一个调用低层驱动程序的高层API。 VISA 能够控

37、制VXI、GPIB、串口或者基于计算机的仪器,并能根据所用仪器的类型来调用合适的驱动程序。下表给出了本系统用到的几个通信模块的基本属性的描述。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

38、at Serial Port查询VISA resource name指定的串口接收缓冲区中的数据字节数VISA 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光盘

39、Tookit Software中的LabVIEW PID Control Tookit,即可在LabVIEW中生成该工具包。安装完成后打开一个新的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 PI

40、D的使用范例PID Advanced.vi是为专家PID设计的vi,增加了一些高级的功能,如可以设定期望值的范围(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 I

41、nput Filter.vi是一个五阶的低通滤波器,放在PID控制器的process variable前端,可以滤去小于采样率十分之一的输入值。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 模糊控制模块简介 安装

42、NI光盘Tookit Software中的LabVIEW PID Control Tookit,即可在LabVIEW中生成该工具包。安装完成后打开一个新的VI,右击程序框图,在Functions Palette上选择Control Design&Simulation,即可看到Fuzzy Logic工具包,该工具包由3个VI组成(图3-5)。安装工具包后,可以使用LabVIEW创建.fc格式的文件。.fc文件是NI自定义的一种文件格式,用于仿真模糊控制器推理机中的知识库。图3-5 Fuzzy Logic工具包创建一个.fc文件步骤如下:打开一个新的VI,在任务栏依次点击ToolsControl

43、Design and SimulationFuzzy Logic Controller Design,接着在弹出的 Fuzzy Logic Controller Design(如图3-6)对话框的状态栏上点击FileNew,即打开了一个新的.fc文件。 图3-6 Fuzzy Logic Controller Design接着弹出一个Fuzzy Set Editor对话框,这是仿真模糊推理器中的数据库。工程师可根据专家经验绘制出输入和输出量的隶属函数图,绘制完成后点击Quit;接着弹出Rulebase Editor对话框(图3-7),这是仿真模糊推理器的规则库。工程师根据实际情况将制定好的规则写

44、入,完成后点击Quit;最后点击FileSave,给出保存位置和文件名,一个.fc文件就创建完成了。 图3-7 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,它可以通过手动输入算出输出响应值,已

45、到达调试.fc文件中规则和隶属度函数的目的。4 以单片机为核心的下位机的设计4.1 下位机设计方案下位机上,本设计采用Atmega16控制DS18B20采集温度,并将采集到的温度通过串口发送到上位机,以便处理。在上位机发回控制信息后,单片机将收到的信息按照一定的规则处理后,将其送入功率控制设备。此功率设备为过零型固态继电器,在电流过零处导通或关断,易于实现PWM的控制。4.2下位机的硬件设计硬件部分分为四个部分:主控部分、DS18B20测温部分、通信部分、程序下载部分。4.2.1主控部分由于需要进行串口通信,所以单片机的晶体振荡器我们选择用的比较多的7.3728MHz的外部晶振(如图4-1)。

46、 图4-1 主控部分4.2.2 DS18B20测温部分 本来在DS18B20的数据脚上应该接一个4.7K的上拉电阻(如图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.1DS18B

47、20工作原理及应用DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前有必要了解DS18B20的内部存储器资源。DS18B20共有三种形态的存储器资源,它们分别是: ROM 只读存储器,用于存放DS18B20ID编码,其前8是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。 RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM

48、,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。控制器对18B20操作流程: (1)复位:首先必须对DS18B20芯片进行复位,复位就是由控制器(单片机

49、)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 (2)存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与DS18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 (3)控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片

50、、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。(4)控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM

51、中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 (5)执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。若要读出当前的温度数据需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节

52、,中途可停止,只读简单温度值则读前2个字节即可)。如图4-6为 DS18B20相关程序设计流程。4.3.2单片机串口通信部分串口通信首先要对串口进行初始化设置。初始化内容包括首先选择同步发送还是异步发送,如果是异步发送的话,选择是正常发送模式还是倍速发送模式,在本设计中采用异步正常模式发送。然后设置开启发送和接收中断使能,并且设置帧格式,通常选择8位数据位,1位停止位。初始化的最后一步是设置通信的波特率。波特率我们选择计算机串口通信用的比较多的9600bps,根据异步正常模式的波特率计算公式 ,可以算出UBRR=47,所以在设置波特率寄存器的时候,设置UBRRH=0x00,UBRRL=0x2F

53、。在串口初始化函数完成之后,即可编写发送和接受函数。串口发送和接受函数比较简单,本设计不再赘述。图4-7为串口通信流程图:4.3.3单片机PWM功率控制部分Atmega16有16种PWM模式,在本设计中我们选用模式15快速PWM。PWM的初始化比较简单,在这里我们不予赘述。比较重要的是PID控制器输出的控制量与PWM占空比的关系。此关系的测量需要进行硬件调试才可以达到较为理想的值。开始复位延时复位成功?写ROM命令0xCC(跳过ROM匹配)写ROM命令0x44(启动温度转换)复位延时复位成功?写ROM命令0xCC写ROM命令0xBE(发送温度命令)读RAM中的0、1字节结束NYNY 图4-6

54、DS18B20操作流程开始串口初始化i=0i=9发送数据i+接受数据YN图4-7 串口通信流程图5 基于PC的上位机编程设计 对于上位机的设计,本设计选择和下位机一样,采取分模块设计的思想。这样有助于的编程和介绍。5.1 方案设计与选择上位机的串口通信流程图如下: 开始串口初始化串口是否打开?讲读到的数据转换后送至显示控件Y图5-1 上位机串口通信流程图5.2 上位机各模块设计5.2.1串口通信模块设计如图 图5-2 基本的串口通信流程5.2.2数据处理部分设计由于串口发送和接受的数据都是字符串的形式。而LabVIEW中显示控件支持的数据类型只有数值型数据。所以在将采集到的数据送往显示控件之前

55、,必须将串口发送上来的采集数据转换成显示控件可以接受的数值型数据。要做到这点在其他的编程语言中可能可能会比较麻烦,但在LabVIEW中确实一件相当轻松且有趣的事情。只要在LabVIEW中后面板的“编程”下面的“字符串”子面板中找到“十进制字符串至数值转换”这个子VI就完全可以轻松地实现这个功能。这个子VI及说明如图所示。图5-3 十进制数字符串至数值转换子VI在上位机往下位机发送数据时,则需将PID控制算法或者模糊控制算法计算得的数值型数据转换成串口通信中的字符串。和前面一样,这个转换在LabVIEW中的实现也是相当简单。方法如前,在相应的路径下找到“数值至十进制字符串转换”,放在程序中相应的

56、位置即可。此子VI及说明如图所示。图5-4 数值至十进制数字符串转换5.2.3 PID控制部分设计针对于本系统设计,本设计使用最简单的PID.VI即可搭建一个简单的PID控制器,在该VI的输入端给入PID的3个参数值(PIDgains),系统反馈值(process variable),实际期望值(setpoint)以及微分时间(dt),便能得到需要的输出值(output)。 图5-5 PID模块 6 总结 在明白了以上的设计任务、要求和方案之后,确定设计方案之后,写好程序并在仿真软件Proteus中仿真,达到设计要求时,就需要开始着手系统硬件的制作和调试了。在本次设计的过程中,我发现很多的问题

57、,看似很简单的电路,要动手把它给设计出来,也是一件不太简单事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,因为手头的资源有限,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的设计,在以后的工作和学习中我会更加努力。同时,通过本次设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合了起来;考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的学

58、习中得以改进、提高;效率。由于本人的知识有限,文中有错误和疏漏的地方,敬请各位老师指正!本设计主要成果如下:(1)实现了用AVR通过DS18B20测量周围环境的温度并将其通过串口发送到上位机。(2)学会了LabVIEW的初级使用方法。(3)用LabVIEW编写了一串口通信程序,并可以将上位机发送上来的温度数据送往显示控件显示。(4)使用NI提供的用于LabVIEW的PID控制模块,编写PID控制程序,用于控制下位机加热装置的温度。(5)设计了下位机的功率控制方案。参考文献1 王磊,陶梅.精通LabVIEW8.0M.北京:电子工业出版社2007.12 Jeffrey Travis,Jim Kri

59、ng.LabVIEW大学实用教程(第三版)M.北京:电子工业出版社 2008.63 Robert H.Bishop.LabVIEW 8实用教程M.北京:电子工业出版社 2008.44 程学庆,房晓溪等.LabVIEW图形化编程与实例应用M.北京:中国铁道出版社 2005.35 吴双力,崔剑等. AVR-GCC与AVR单片机C语言开发M. 北京:北京航空航天学出版社20046 杜树春. 单片机C语言和汇编语言混合编程实践M.北京:北京航空航天大学出版社 20087 张军,宋涛. AVR单片机C语言程序设计实例精粹M.北京:电子工业出版社 20098 朱飞,杨平. AVR单片机C语言开发入门与典型实例M.北京:人民邮电出版社 20099 沈文等. AVR单片机C语言开发入门指导M.北京:清华大学出版社 200310 海涛等. ATmega系列单片机原理及应用:C语言教程M.北京:机械工业出版社 200811 张伟,刘红丽. 基于LabVIEW的温

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!