毕业论文-通用智能测控仪表开放式实验平台软件设计.doc_第1页
毕业论文-通用智能测控仪表开放式实验平台软件设计.doc_第2页
毕业论文-通用智能测控仪表开放式实验平台软件设计.doc_第3页
毕业论文-通用智能测控仪表开放式实验平台软件设计.doc_第4页
毕业论文-通用智能测控仪表开放式实验平台软件设计.doc_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) 通用智能测控仪表开放式实验平台软件设计General intelligent measurement instrument open experimental platform for software design 院系名称:电子信息学院班 级:电气类112学 号:学生姓名: 指导教师: 2015 年 6 月摘 要随着工业和科学技术的迅速发展,目前有些测控仪表已经不能满足大部分工业生产和用户的需求,通用性能比较差。本文以STC89C52RC单片机为核心设计了一款智能通用测量控制仪表,该仪表可以应用于不同的工业生产过程。为方便教学,将这款仪表设计成开放式结构,软件、硬件开放透明,操作方便。软件平台包括基本实验程序、系统试验程序、控制算法常用的数字PID程序等,用户可以根据实际情况不同来选择需要的工作模式。因为工业中大部分被控对象具有一定的滞后性,所以采用了位置式pid和增量式pid两种模式。可以广泛应用于工业生产中。硬件平台包括键盘输入和LED显示电路、控制电路、AD和DA模块、掉电保存和ds1302以及LCD显示模块等。该系统可以用来测量控制液位、压力、流量、温度等物理量,应用于工业生产方面十分方便。所设计的仪表在液位控制中通过了实验检验,控制效果良好。关键词:STC89C52RC,增量式PID,位置式PID,测控仪表,开放式实验平台AbstractWith the development of the industry and science and technology faster and faster, there are some measurement and control instrument can not meet the needs of most industrial production and users,general performance is bad.This paper describe a electricity and pid control system of microcontroller STC89C52RC. The instrument can meet the industrial production according to different occasions,In order to facilitate teaching ,this instrument designed with open and transparent,convenient operation,the user can choose different work mode according to the actual situation of need . Because most of the production has a certain lag,so set the Location-PID and Incremental PID,can be widely used in industry.These include the keyboar input and LED dispaly circuit,control circuit,AD module,DA module, Save power-off,lcd module and the corresponding program flow drawing.The system can be used to measure the voltage current and control of water level,temperature,etc.Applied to industrial production is very convenient.After test,the system to be stable and reliable operation.Keywords: STC89C52RC, Location-PID,Incremental PID,Measurement and control instruments,Open experimental platform目录1 引言12 设计要求33 功能模块设计及实验43.1 LED灯模块43.2 键盘和数码管显示模块63.3 AD采集显示模块93.4 DA输出和显示模块113.5 串行通讯模块163.6 液晶加实时时钟显示模块183.7 标度变换和数据采集显示模块213.8 数字pid基本运算模块254 实验调试过程出现问题及分析35心得37致谢38参考文献39附录40附录1:LED流水灯程序40附录2:按键和数码管程序42附录3:AD程序46附录4:DA程序47附录5:设置参数程序48附录6:标度变换和数据采集程序57附录7:液晶加实时时钟程序65附录8:参数采集和超限报警程序73附录9:单片机间通讯程序82附录10:pid调节程序85III1 引言智能测控仪表在工农业生产中应用非常广泛。在具体应用时,往往以智能测控仪表为核心,针对不同控制系统对应的被控物理量,配置相应的检测变送装置与执行机构,就可以构成最基本的计算机控制系统。目前高校中,自动化、电气自动化、测控技术与仪器等专业相关实验室里许多实验装置都采用智能测控仪表作为核心控制部件。智能测控仪表核心是计算机,其类型可以是微控制器、可编程控制器、工控机等。(如对本文有什么问题可加qq:9719251,验证信息:随风)学生做实验时,往往采用实验装置配套的现成实验平台与系统程序,按照实验指导书给出方法接线后在应用界面上输入有关参数,运行后就可以获得不同的实验数据。这种实验方法对于相关课程学习来讲,可以从感性认识层面在一定程度上对学生起到帮助作用,但是,由于实验装置对学生不够透明,无论硬件还是软件平台对学生均不开放,不能发挥学生的主观能动性,学生不能在实验过程中按照自己的思想改变实验方法,不能进行设计型实验,因而具有局限性。因此,设计一种可以让学生有更多参与性的开放式实验平台很有必要。开放式平台的组成:通用智能测控仪表开放式实验平台选择微控制器作为核心部件,其组成结构图如图1-1所示。Lcd通讯接口外输入通道数码管显示部分微控制器基本系统参数设置输出通道键盘实时时钟蜂鸣器图1-1 智能测控仪表开放式实验平台组成结构图硬件平台设计以某自动化上市公司工业产品为依据,设计原则是:每一部分的设计首先保证基本功能,然后预留一定的扩展功能接口电路,以满足不同实践环节的需求。后续章节会剖析每一模块对应的功能及原理电路,并提供相应的模块测试程序。微控制器选择:考虑实验平台用途,应该选择学生在专业课程中学习过的计算机型号,以方便学生在具体使用平台时可以相对容易地分析平台结构与组成原理。本文选择的计算机型号为STC89C52RC。外输入通道部分:按照工业仪表标准,输入输出信号均为标准电流电压信号,电流:420 mA,电压:15 V。输入通道基本部分功能是将两路标准电流与电压信号转换成相应的数字量送给计算机,对应四个输入接线端子,精度要求:0.5级。预留扩展输入接口电路:开关量输入电路。输出通道部分基本功能:可以同时输出两路工业标准的电流与电压信号,对应四个输出接线端子;预留扩展功能:带光电隔离的两路开关量输出,用于驱动固态继电器使用。显示部分基本功能:按工业产品基本要求,设计两组四位七段数码显示,一组用于显示设定值,另一组用于显示实际值;预留扩展接口:带汉字的液晶显示,触摸屏显示。参数设置部分:基本部分为5个功能键,单独或组合完成参数设置、功能选择等任务。通讯接口:基本部分包括RS232接口、RS485接口、USB接口等,以满足多级计算机控制与联网需求。除了上述基本组成部分,本设计还包括实时时钟电路等。2 设计要求根据开放式实验平台的设计思想,确定了软件平台设计的基本任务:1、编制功能块调试程序,用于电路调试。2、主程序设计3、编制部分控制算法程序。4、系统调试(仿真或实际调试)3 功能模块设计及实验开放式实验平台硬件电路结构图如图1-1所示,根据设计任务要求,对硬件结构中不同功能模块的构成简介如下,同时给出相应的模块调试程序。限于篇幅,正文中只给出程序流程图,具体程序参看附录。3.1 LED灯模块LED模块硬件图如图3-1所示,U10是74HC595串并转换芯片,可以减少控制器IO口使用。控制器输出高电平LED灯亮,P10是下拉排阻。 图3-1 LED硬件图74HC595简介:Q0到Q7:并行数据输出端5。 DS:串行数据输入端。 SHCP:上升沿数据移位。 STCP:上升沿数据更新。程序功能:LED循环闪烁。 LED模块流程图如图3-2所示。 初始化给tmp,j赋初值给i赋初值取出tmp最高位SHCP上升沿STCP上升沿STCP上升沿i+,tmp左移一位i8? Ytmp初值循环右移j位 Nj+j=2??设置lcd第四行第7位显示SetPlace Yn=0SetState =nSetPlace=0向lcd写入当前的数据液晶显示 图3-16:液晶加实时时钟显示流程图 程序功能简介:按下s5键:将SetState赋值+1,当为0时,实时时钟进行工作,当为1时可执行显示数值的修改。 按下s4键:SetPlace+1,进行的是移位操作,选中秒,分,时,日,年,月,周。 按下s3键:SetPlace对应的位执行+1。 开机后第一行显示中原工学院自动化,第二行显示姓名。按下s5进行可执行修改,通过s4和s3进行各个位数的数值修改,再按下s5,实时时钟进行工作。3.7 标度变换和数据采集显示模块标度变换和数据采集显示模块硬件由以下组成:AD采集模块:用于采集模拟量转换成数字量。键盘模块:用于设定范围以及部分功能按键。数码管模块:用于显示数值。 开始存储器初始化数码管和蜂鸣器检测读出上一次的设定值有键按下? N YS3S4S5S6S7AD采集+1移位返回n+ 显示n=4? NS5按下? Yn=3n=2n=1n=0 N停止采集报警下限上限保存 Y显示图3-17:标度变换和数据采集显示模块标度变换和数据采集显示模块程序如下:操作方式简介:开机:先检测数码管和蜂鸣器是否损坏。 第一次按下s7键:可以设置上限值。 第二次按下s7键:可以设置下限值,并结束上限值设定。 第三次按下s7键:可以设置报警值,并结束下限值设定。 第四次按下s7键:结束报警值设定,并将上限值下限值报警值保存到24c256。 第五次按下s7键:可以设置上限值。 按下s6键:可以返回上一级设置。 按下s5键:进行数码管的移位操作。 按下s4键:数码管数值加1。 按下s3键:进行AD采集并显示,每次显示后判断s5键是否被按下,如果没有被按下,则继续循环采集显示一次,如果被按下,则停止采集显示。数据采集和超限报警模块:其硬件图和上一个模块硬件图完全一样,只是内容上多了一个当采集到的数据超过最大报警值得上限或者低于最小报警值得下限时会有所警告。操作手册:开机:先检测数码管和蜂鸣器是否损坏。 第一次按下s7键:可以设置上限值。 第二次按下s7键:可以设置下限值,并结束上限值设定。 第三次按下s7键:可以设置报警值,并结束下限值设定。第四次按下s7键:可以设置设定值,并结束报警值得设定 第五次按下s7键:结束设定值设定,并将上限值下限值报警值设定值保存到24c256。 第六次按下s7键:可以设置上限值。 按下s6键:可以返回上一级设置。 按下s5键:进行数码管的移位操作。 按下s4键:数码管数值加1。 按下s3键:进行AD采集并显示,如果采集到的数值大于报警值或者小于设定值,蜂鸣器响并且数码管闪烁直到数值在规定范围内为止,每次显示后判断s5键是否被按下,如果没有被按下,则继续循环采集显示一次,如果被按下,则停止采集显示。开始存储器初始化数码管和蜂鸣器检测读出上一次的设定值有键按下? N YS6S5S4S3S7返回移位+1AD采集n+ 不在范围?n=5? N Y报警 Yn=0n=4n=1n=3n=2 N显示设定报警下限上限保存 S5按下? N Y停止采集显示图3-18:数据采集和超限报警模块3.8 数字pid基本运算模块数字pid基本运算1445模块其硬件图是在数据采集和超限报警模块上面增加了DA模块。键功能定义17:s7键:模式选择功能,每按一次进行一次模式加1,进行到模式5后再按会跳到模式1。s7模式1:可进行接下去的电压表模式。 显示:第三位数码管数字显示1。电压表范围:15v。s7模式2:可进行接下去的输出电压电流模式。显示:第三位数码管数字显示2。电压范围:15v。电流范围:420mA。s7模式3:可进行增量式pid算法模式。显示:第三位数码管数字显示3。电压范围:15v。电流范围:420mA。s7模式4:可进行位置式pid算法模式模式。显示:第三位数码管数字显示4。电压范围:15v。电流范围:420mA。s7模式5:保护模式显示:第三位数码管数字显示5。s6键:参数设置功能,每按一次可设置的参数模式加1。s6模式1:可设置上限值。显示:上面四位数码管显示p100,下面四位数码管显示上限值。 设置范围:09999(整数)。s6模式2:可以设置下限值,并结束上限值设定。显示:上面四位数码管显示p200,下面四位数码管显示下限值。 设置范围:09999(整数)。s6模式3:可以设置pid上限值,并结束下限值设定。显示:上面四位数码管显示p300,下面四位数码管显示pid上限值。 设置范围:09999(整数)。s6模式4:可以设置pid下限值,并结束pid上限值设定。显示:上面四位数码管显示p400,下面四位数码管显示pid下限值。 设置范围:09999(整数)。s6模式5:可以设置设定值,并结束pid下限值得设定显示:上面四位数码管显示p500,下面四位数码管显示设定值。 设置范围:09999(整数)。s6模式6:可以设置kp值,并结束设定值得设定。显示:上面四位数码管显示p600,下面四位数码管显示kp值。 设置范围:09.999(小数)。s6模式7:可以设置ki值,并结束kp值得设定。显示:上面四位数码管显示p700,下面四位数码管显示ki值。 设置范围:09.999(小数)。s6模式8:可以设置kd值,并结束ki值得设定。显示:上面四位数码管显示p800,下面四位数码管显示kd值。 设置范围:09.999(小数)。s6模式9:结束ki值设定,并将前面所设的数值保存到24c256。显示:上面四位数码管显示p800,下面四位数码管显示RUN0。 s5键:加1功能,每按一次可让当前选中的数码管加1,加到9以后继续按会跳到0。退出循环功能,当s7键设置完模式并运行以后,长按s5键可退出循环,再次进行参数的设置s4键:数码管移位功能,每按一次会将以下的模式加1。进行到模式7以后继续按会跳到模式1s4模式1:选中第七位数码管。s4模式2:选中第六位数码管。s4模式3:选中第五位数码管。s4模式4:选中第四位数码管。s4模式5:一位数码管都不选中。s3键:s7模式运行功能,s7选择运行的模式后,按下s3可以运行模式,如果其中s5键没有按下,则继续运行。操作实例:开机:先自动检测数码管和蜂鸣器是否损坏如果数码管是好的,每一个数码管会显示8.。蜂鸣器会响一声。按下s6键进行选择参数。上限值和下限值根据用户需要进行选择,如用户需要测量的范围来决定,比如,用于想测量的水位范围为0到290,对应的电压为1到5v。那么建议下限值取0,上限值取2900。Pid上限值和pid下限1是根据工业生产的实际需要进行设置,如果是一个输入一个输出的情况下,Pid上限值和pid下限值可都设置位0;如果是两个输入一个输出的话,pid上限值根据5v对应的幅值和你需要的幅值进行一个小的余量。比如水位5v对应的是2900,而我需要的是1000,那么pid上限值可以设置成0到600。同理pid下限值是根据1v对应的设定值和需要的设定值进行一个小的余量。比如1v时水位时0,但由于是两个输入量,一个开水阀一个进水阀,当输入3v时进水阀进来的水和出去的水相等时,此时的3v值就是余量。接着继续选择参数设置我需要的值,这个值在上限值和下限值之间。继续设置kp,ki,kd参数14,如果想选用位置式pid时,ki要尽量小,以免超调过大,kd要尽量大。增量式pid时,ki不能太小。接着继续按s6保存所设的数值。 按下s7键进行模式的选择。用户只想把该仪器当做电压表用可以选择模式1,想输出可调电压和电流可选择模式2,想进行pid控制可选模式3或者模式4。如果需要控制的对象有一定的滞后,例如控制水位,选择增量式pid控制,如果滞后程度很小,例如控制电机,选择位置式pid控制。模式选完后按下s3键就可以执行。 按下s3键进行执行选择的模式。如果调节或者测量过程中想退出调节或者测量,可长按s5键可停止。 数字pid基本运算模块流程图如图3-19和图3-19续所示: 开始存储器初始化数码管和蜂鸣器检测读出上一次的设定值有键按下? N YS5S4S6+1移位n+ n=9? N Yn=9n=8n=7n=6n=5n=4n=3n=2n=1n=0 KdKp时间设定上限Kipid下限pid上限下限保存 显示图3-19:pid基本运算模块流程图 开始存储器初始化数码管和蜂鸣器检测读出上一次的设定值有键按下? N YS7S3numnum+S7模式1? N Numnum=0ad采集 Numnum4?S5按下? N YS7模式2? N S7模式numnum Yda输出 S5按下? S7模式3? N Y增量式S7模式4?S5按下? N位置式 YS5按下? N Y显示图3-19续:pid基本运算模块流程图水位控制调试结果:表3-1增量式调节:0到2900可调(对应刻度0到290) (坐标竖轴对应刻度,横轴对应时间)表3-1:kp=9,ki=0.1,kd=1参数设定KpKiKd最终范围调节曲线500(对应刻度50)90.11454511 5150494847 30s1500(对应刻度150)90.1114761558 160155150145140 25s2500(对应刻度250)90.1124562547 252251250249248 25s 表3-2增量式调节:0到2900可调(对应刻度0到290) (坐标竖轴对应刻度,横轴对应时间)表3-2:kp=8,ki=0.08,kd=0.8参数设定KpKiKd最终范围调节曲线500(对应刻度50)80.080.8466523 6056524844 50s1500(对应刻度150)80.080.814211546 152150148146144 40s2500(对应刻度250)80.080.824562570 252251250249248 45s 表3-3增量式调节:0到2900可调(对应刻度0到290)(坐标竖轴对应刻度,横轴对应时间)表3-3:kp=9.5,ki=0.2,kd=2参数设定KpKiKd最终范围调节曲线500(对应刻度50)9.50.22398523 6056524844 50s1500(对应刻度150)9.50.2214461558 170165160152148 50s2500(对应刻度250)9.50.2224452581 265261258254250 60s 表3-4增量式调节:0到2900可调(对应刻度0到290) (坐标竖轴对应刻度,横轴对应时间)表3-4:kp=8.5,ki=0.09,kd=0.9参数设定KpKiKd最终范围调节曲线500(对应刻度50)8.50.090.9477534 6056524844 50s1500(对应刻度150)8.50.090.914211523 150148146144142 30s2500(对应刻度250)8.50.090.924452547 250249248247246 20s 对于增量式pid根据比较分析,第二组pid参数震荡过于明显,第三组pid参数调节时间比较长,第四组pid参数相对较好,但第一组pid参数比第四组pid参数曲线更加平缓。所以选择第一组pid参数,取kp=9;ki=0.1;kd=1。4 实验调试过程出现问题及分析按照设计方案编制程序后在实际系统中进行了实验调试,调试过程遇到了一些问题,经过分析都得到解决。为了给用户使用实验平台学习提供参考,特总结如下。1. 问题:数码管无法显示第四位,会乱码。原因:定义的数值是uchar型,而显示的数值是uint型。办法:将定义的数值改为uint型或者将uint型分解为两个uchar型。1. 问题:开机时键盘s7键总是自动按下原因:可能是开机后键盘产生了抖动,由于键盘是两端都是接的io口,初始电平都不确定。办法:将按键模块的去抖动时间稍微加长一点,将显示和按键位置换一下,先显示后判断按键,这样也相当于加长了去抖动时间。2. 问题:AD采集显示每一次数值相差很大原因:显示数值有偏差是正常的,但是偏差比较大一是软件问题,二是硬件问题。其中硬件方面是因为本块实验板板上资源多,而io口只有那么多,所以会产生io口的复用,其中AD和DA模块就是。办法:由于硬件

温馨提示

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

评论

0/150

提交评论