微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx

上传人:b****7 文档编号:9598294 上传时间:2023-02-05 格式:DOCX 页数:51 大小:579.64KB
下载 相关 举报
微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx_第1页
第1页 / 共51页
微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx_第2页
第2页 / 共51页
微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx_第3页
第3页 / 共51页
微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx_第4页
第4页 / 共51页
微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx

《微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx》由会员分享,可在线阅读,更多相关《微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx(51页珍藏版)》请在冰豆网上搜索。

微型计算机控制技术课程设计报告二阶电压跟踪FIN.docx

微型计算机控制技术课程设计报告二阶电压跟踪FIN

微型计算机控制技术基础课程设计

 

二阶环节电压跟踪控制系统的设计

 

 

李可达20105107

刘阳20104927

饶德卫20105110

肖婷婷20105041

张凯20104910

指导老师:

***

重庆大学自动化学院

2013年9月

 

 

摘要

通过486CPU开发板,利用8255、AD574、DAC0832、4*4小键盘、单色LED、三色LED等器件,实现一个控制器输出作用于电路输入IN使得电路输出端能够跟踪0-5V范围内任意阶跃信号,并在三色、单色LED上显示出相应的值和百分比误差。

关键词:

二阶电压模型,PID控制算法、汇编语言

 

一、序言

自动控制相结合在日常生活中的应用非常广泛,大到航天航空,小到家用电器都会涉及到自动控制。

自动控制系统的任务是使被控对象的被控量跟随给定值的变化而变化。

闭环控制系统是一种最基本的自动控制系统,图1.1是单回路闭环控制系统的框图。

变送器(含测量元件)对被控量C进行测量,并将其变换为电信号,经A/D转换为数字信号后反馈给控制器。

控制器将反馈信号与给定值R进行比较,并根据指定的控制规律产生相应的控制信号,经D/A转换后作用于被控对象,使被控量与给定值保持一致。

图1单回路闭环控制系统框图

 

二、设计步骤

2.1确定基本设计目标

仔细研读了设计任务书后,我们确认了本次课程设计需要实现的基本任务目标:

(1)搭建一个二阶环节;

(2)LED能够显示设定量、输出量和误差;

(3)要求设计人机交互接口,参数可随时用按键设置;

(4)精度要求。

图2系统框图

2.2确定基本实现方案

对比任务书的要求,我们讨论得出了要完成各个基本设计任务的初步实现方案。

2.2.1搭建二阶环节

本次课程设计中,由实验室提供二阶环节系统装置。

通过计算,我们得知被控对象包含一个积分环节与一个惯性环节,其传递函数为:

2.2.2电路输出跟踪阶跃信号

我们采用实验箱上的4×4键盘作为系统输入,实验箱读取按键后,得到一个给定值,系统通过A/D读取二阶环节的电压并与给定值比较,采取控制并将输出值通过D/A送给二阶环节。

整个过程中需要用的读键程序、D/A、A/D转换程序、LED显示程序、控制计算程序等多个程序。

2.2.3设计人机交互接口(键盘)

由于课程设计任务要求信号参数可通过人机交互接口设置,我们讨论后设计在三色LED上显示输入(设定值)的信息和输出值得信息。

通过4×4键盘输入控制信号。

在单色LED上显示百分比误差,按键设置为‘A’设置给定值,‘C’设置PID,‘B’置数结束,‘D’开始,‘E’程序结束。

2.2.4精度要求

为满足控制精度、调节时间的设计要求,我们决定在软件调试时通过修改P、I、D三参数来完成。

2.3系统仿真设计

通过MATLAB/Simulink仿真工具搭建系统如下,以控制变量法探寻系统特征。

图3系统仿真图

经过讨论,我们确定系统需研究的矛盾针对在两个方面,开环系统是否稳定以及控制器中I控制是否适用,因而将仿真系统主要分成三大模块,分别是开环系统仿真,闭环PID仿真,闭环PD仿真。

设置P,I,D分别为20,3,6,阶跃终值为2V。

仿真结果如下:

图4系统仿真结果波形图

由上图可知,开环系统不稳定,必须采用控制器才能实现稳定输出。

而这在我们的实物试验上也得到验证,即主电路在输入电压+/-12V的限制下,输入一定电压经过一定时间后,输出电压处于饱和状态。

同时,我们又看到,PD控制的效果要优于PID控制,无论从调节时间还是超调量,而稳态精度也相差无几。

这同样在我们稍后的联调过程中体现,特别是一旦加入I控制,由于积分作用,控制器输出极易超过限定幅值,导致系统振荡,调节时间过长。

综上所述,我们将采用PD控制器搭建以上系统,且通过仿真得到一组可供选择的PD参数。

 

2.4硬件设计

本次课程设计中最为重要的硬件设计任务是信号数据采集系统的搭建。

数据采集系统是由486开发板和硬件接口电路组成,硬件接口电路主要由采样保持器、A/D转换电路、输入接口电路、D/A转换电路、控制逻辑电路输出接口电路(主电路)等组成。

其工作过程是:

由键盘设计给定值,CPU接收电路数字信号,将数字信号送到采样保持电路进行采样;当CPU启动D/A转换电路转换时,采样保持电路处于保持状态,并把信号通过二阶环节送给A/D转换电路实现模拟量到数字量的转换;将反馈量和给定阶跃信号对比,得到的偏差信号再送入PID控制器做调节转换。

硬件电路就是选取合适的电子器件和芯片,设计成满足系统速度、精度和可靠性等技术要求的电路接口,使单片计算机能按要求完成上述工作过程。

其次,按键键盘功能设计也是重要的,不同的键盘设计带给编程的难度是不同的,具体功能的体现也是有差别的。

本次课程设计需要用到的硬件系统还有闭环控制系统。

其实闭环控制系统硬件组成与数据采集系统基本相同,主要由模拟输入通道、模拟输出通道和被控对象等组成。

图2.3.1就是此次设计过程中一个很重要的硬件模块,即二阶环节系统。

图5二阶环节

2.4.1三色LED连接电路

图68255并口模块原理图

2.4.2AD574连接电路

图7AD574原理图

1)A0接地(低电平、启动12位转换)。

2)12/8接+5V。

(12位并行输出有效)

3)CS接任意地址译码输出端。

4)STS不接,采用延时等待A/D转换完毕。

5)其余端口实验箱上已接好。

不再需要连线。

6)10VIN输入端接实验箱上二阶环节输出端。

2.4.3DAC0832连接电路

图8DAC0832原理图

2.4.4单色LED显示及键盘连接图

图9单色LED显示与键盘输入连接图

1)8255A口接8段数码管位选;

2)8255B口接8段数码管段选;

3)8255C口接4*4小键盘,高四位接列信号,低四位接行信号;

2.5软件设计

相同于硬件设计,软件设计也大体分为两个部分,及采集系统和闭环控制系统。

因为此次课程设计的主要任务是完成闭环控制系统的软件设计,而且采集系统的软件设计可以包括在闭环控制系统的步骤里。

除了必须达到采集系统的要求外,闭环控制系统的软件设计还必须有控制算法程序和更强的数据处理能力。

其实一个控制系统的控制过程可归纳为以下3个步骤:

1)实时数据采集:

即对被控参数的瞬时值进行测量。

2)实时决策:

对表征被控对象状态的测量值进行分析,并按已定的控制规律进行控制。

3)实时控制:

根据决策,实施对控制机构发出控制信号。

4)控制程序的运行必须满足以上控制过程,同时控制算法是使被控参数尽快达到给定值,并能将被控参数随时间的变化情况在屏幕上显示出来。

参考程序流程图如图2.4.1所示。

该程序由初始化和数据采集,标度变换,LED显示,D/A输出,控制程序和等子程序构成。

各子程序功能为:

1)数据采集:

连续采集12个数据,每采集一个数据,去掉最前面一个数据。

2)标度变换:

将数字滤波后的采样值按比例换成与实际输入对应的模拟电压毫伏值,然后存放在数据缓冲区。

3)LED显示:

显示给定值和跟踪电压值。

4)控制决策:

对给定值与真实值的误差进行比例、积分和微分运算,得到本次控制值,存放在输出缓冲区。

5)D/A输出:

D/A输出程序是将当前输出缓冲区数据输出到D/A转换器端口。

6)检查按键:

检查是否有键按下,以确定给定值为多少。

如有键按下,读取键值,是确定键键就表示输入完毕。

程序流程图如下所示:

图10主程序流程图

 

图11PID控制子程序流程图

 

 

图12AD输出标度变换流程图

图13控制器输出标度变换流程图

 

图14键盘扫描子程序流程图

 

图15三色LED显示子程序流程图

 

 

图16单色LED显示子程序流程图

 

2.6调试完善程序

相关硬件及软件设计完成后,最后的主要工作就是调试运行程序,并达到设计任务要求的精度。

整个过程就是不断地修改相关参数并调试运行,已达到理想效果。

三、项目成果

3.1基本功能实现

1)实现控制二阶模型电压的功能,使得稳态误差≤±5%,调节时间≤25秒,基本满足条件;

2)通过三色LED显示设定值与输出值,实时进行比较;

3)通过键盘设置设定值,支持回删。

3.2附加功能实现

1)通过键盘设置P,I,D参数,可根据实际电路调整;

2)达到稳态误差要求后,通过单色LED显示稳态误差大小(百分比)。

3.3有待提高

1)未精确计算并确定系统采样时间,导致控制效果不佳

2)调节时间过长,未能满足设定要求

 

四、心得体会

4.1李可达

由于硬件技术设计的分工以及组员的肯定,我又再次作为组长带领组员完成本次任务。

一开始我们便进行了分工,讨论迅速开展也很快结束了。

由于本次设计的内容与上次有些许重复,所以整体设计量上就较上次少了许多。

问题都集中在两个方面,AD,DA以及PID控制算法。

作为组长,我挑起了PID控制器的大梁。

为了探寻合适的P,I,D参数,我首先在MATLAB的Simulink上搭建了仿真平台,对被控对象进行研究。

通过计算,我确定了该电路的大致传递函数。

在随后的仿真中,我发现这是一个发散的系统。

同时,我也试凑出PID参数。

第二步,我在实物上进行电压测试,发现由于电路供电电平为+/-12V,电路输出被限定在这个范围内。

之后,我开始进行PID控制器的设计。

为调试方便,我采取了较为简便的位置式PID算法。

通过对流程图的研究,初步设计出一个控制器。

但紧接着又遇到两个问题——PID中符号数的处理以及控制器输出的标度变换。

通过与组员不断的讨论与研究,我们最终攻克了这两个难关,实现了控制器。

4.2刘阳

这次为期一周的《计算机控制技术》课程设计,我积极参与,承担了小组主要的编程与调试工作。

《计算机控制技术》作为《计硬》的后续课程,二者联系十分紧密。

通过前两周计硬课设的锻炼,我对实验箱和TS编译环境已相当熟悉,编程和纠错的速度大大提升。

本次计控课设中,我负责AD、DA转换程序编写;AD输出到电压量的标度变换程序和控制器输出到DA数字量输入的标度变换程序编写;单色LED显示超调量程序编写;PID参数测定以及主程序联调。

这次因为涉及反馈回路,所以我们使用示波器来观测二阶环节的输入(即控制器输出)与二阶环节输出电压波形。

二阶环节有迟滞响应,所以按照要求加入PID控制器来整定。

控制器部分由李可达编写,他的控制器输出值可能会很大,所以我将其范围人为限定在-10200~+10200之间(此处仍可改进),这样超出范围的值我将其视作边界值,这样会导致控制效果下降。

DAC0832的输入为0-255,将控制器输出标度变换后作为DA的输入。

这一部分是本次课设的核心,我和李可达就控制器输出这一问题讨论很多。

控制器输入为8位二进制,经PID运算后会变很大,甚至寄存器不够大,所以必须对控制器输出做缩小。

但因为只有1周时间,我们考虑的还有所欠缺,所以最终结果是控制器输出被大改,可能这就是导致最终调节时间过长的原因。

控制器输入范围为-50~+100,但控制器输出范围却为-50~+50,所以不是线性变换,对正电压部分做了删减,但这同时也保证了零点的稳定,转换后-50~+50刚好对应0~255。

主电路搭建好后,第二个难点便是PID参数的整定。

老实说PID不是我的强项,但因为后面同学有事,我不得不好好研究一下PID。

P,I,D参数均为字节数,所以范围限定在了255以内。

我将P增大到130时,通过示波器观测,二阶输出已经发散,在120左右能有较好的快速性。

之后将D增大到200左右电压有些不连续,我想这是因为差分的关系。

I参数则一直没确定好,只能先采用PD调节。

因为调节时间较长(有20秒),所以我暂时将I设为0。

至于我的其他工作:

超调量显示、主程序联调等,遇到一些问题都能及时解决。

这都有赖于这三周来对TS环境的大量使用,是我的汇编编程能力上升了很大一个台阶。

我觉得汇编语言的课设重点是训练我们的逻辑缜密和编程的耐心。

今后工作中大量运用的可能会是其他语言,不过这都是相通的。

通过这两次课设,我进一步巩固了ASM编程能力。

在大四较空闲的这一年,我决定继续加强练习学过的语言,如C51和Java的编程能力,多练习,为以后工作打下坚实基础。

 

4.3饶德卫

前两周进行的计算机硬件基础课程设计很好地唤醒了我对汇编语言的记忆,激发了我曾经那狂热的激情。

于是,本周的微型计算机控制技术课程设计做起来就很得心应手、水到渠成的感觉。

下面简单总结一下本次课程设计。

本次设计的程序编写比上次简单了许多,其一是逻辑简单了,其二就是量变少了。

而且很多东西都可以灵活地借用前次的程序。

所以基本带给不了我们多少阻碍。

当然了,毕竟不一样,所以还是有很多东西需要区别对待的,新东西新知识也还是不少。

按键方面,扫描子程序雷同,可以适当地借用。

因为我编写了两个略有区别的子程序。

一个是扫描过程中必须有键按下才能通过然后进去其他程序;另一个则相反,扫描时若无按键按下,直接通过进去其他程序,若有键按下则进行后续处理。

所以能根据主程序的需要,灵活地调用用,才能达到满意的效果。

三色LED显示,我使用的是int12功能,这样不仅显示方便,还可以删除,可以变颜色,可以输入任意位数并进行个数记录。

还因为需要显示误差,增添了符号的显示,也就是正负号的显示。

特别强调一下,实验箱中那八片LED的显示的段选是给0亮,给1灭,所以字型码是不一样的。

灵活地改变字型码就可以得到不同的显示以满足不同的需要。

因为本次程序较少,而且组上有两位同学要出国,所以其他程序我没有主动去抢,多给人家一点戏份会比较好,反过来说,键盘和三色led显示其实也不简单,能很完善地完成我也很开心。

当然了,其他程序我也积极地参与帮忙编写、修改,总的来说,我们组完成氛围很好。

总程序的调试大家一起参与,得到正确现象和结果的那一刻总是很有满足感的,付出没有白费。

最后,希望答辩时不要出意外,祝我们组好运。

4.4肖婷婷

本次微型计算机控制我们的课程设计题目是二阶环节电压跟踪控制系统的设计。

由于本次的时间比较紧只有一周的时间,再加上要使用汇编语言无疑增加了难度。

为了能很好的完成任务小组成员都花了不少时间复习单片机和计算机控制的知识,并自行研究课题设计如何做。

在对题目有一定的了解基础后我们小组开始展开讨论,确定和设计系统框图并分配好任务,通力完成。

题目要求我们设计一个控制器输出作用于电路输入IN使得电路输出能够跟踪0~5V范围内的任意阶跃信号,这就需要我们的程序设计中要包含有A/D转换、标度变换、D/A转换、PID控制算法以及显示与键盘等模块。

在明确好各个模块后我分配到的是标度转换模块然后协助其他组员完成其他模块。

微型计算机控制系统在读入被测模拟信号后需要转换成数字量,变成操作人员所熟悉的数值并显示出来,这就是标度变换模块的作用。

本次课题我们要A/D转换读入电压值并转成0~255中的数字量。

-5~5V的电压转成0~255相应的数字量我们采用的是线性标度转换,把它带入相应的标度变换公式,再用程序语言表示出来即可,再接下来就是把相应的数字量一位一位分离出来再在LED显示管上显示出来。

在复习过单片机和计算机控制后很快就完成了这模块的编程。

在经过漫长的编程后,终于把每个模块都初步完成,再接下来我们就一起进行联调。

一开始,小错误不断,在我们仔细排错下对多处地方进行了调整修改后键盘、显示、A/D转换、D/A转换都能够顺利的工作,但在整块一起调试以后我们的结果却出不来,我们的PID控制一直没起到控制的效果,输出电压总是维持在5V处,没有跟随输入变化。

我们经过多次排查甚至多次改控制算法都没能解决问题的算在。

最后我们实在没办法,只能请老师来协助我们。

在老师的协助下我们调出各个模块单步调试,观察变量变化看是否按照程序在准确执行。

最后我们一起对控制算法进行调整,先是值进行比例控制确定了一个比较合适的参数,再加入微分环节加快了调节时间。

在经过一周的努力我们成功的完成了课题,并且有不错的控制效果,输出在经过很多的调节时间后进入稳定,并且已输入的误差只有0.03V左右。

在这次课程设计中我们小组遇到了很多困难,在我们相互帮助团结协作下才得以完成。

这短短的几天时间了让我感受到了团结合作的重要性,以及遇到困难要敢于冲击敢于挑战,只有这样你才能走得跟远,取得成功。

相信在今后的学习生活中这次课程设计的经历将对我有很大的帮助。

4.5张凯

这次的计算机控制课程设计过程我主要负责三色LED显示初始设置电压及AD转换后的电压显示的子程序编写及调试,因为上次硬件设计我是负责单色LED显示速度那一一部分,所以一开始也是想用单色LED来实现这次的功能,但在实际试验中却出现了到现在还没弄明白的问题,就是在判定符号之后,如果是负数的显示单色LED就会显示不正常,但在程序上是找不到任何问题的,所以只好无奈转移阵地到三色LED上,不过这样不难,二者有相辅相成之处,所以相对来说驾轻就熟,但是不同之处还是有不少,比如三色LED是共阳极,单色LED是共阴极,这导致它们的字型码是完全不同的两种,上次对于位选部分只需用SHR就可以实现,这次因为并不是所有的LED都用上,而且显示也不是一同给出的,所以要分段来编写,在位选部分要一个个的给出,有点麻烦,显示是少了,但是程序反而更复杂了,这也是让我很吃惊的部分,体会到“程序长短不可貌相啊”。

同时也因为组还是之前的组,大家合作起来也很熟悉了,所以这次课程可以说是轻松加愉快的,工作之余也是欢乐颇多,不像上次那么的紧张,生怕进度跟不上,而且中间恰逢中秋,大家也是很愉快的去过节了,不过要说还是学到了很多很多,一方面将之前所学更加融会贯通了,对实验的看法也是提升了一大截,很多的理论想法在实施与实验中往往会有很意想不到的事情发生,但只要我们认真,努力,就一定能攻克所有的难题,这就是这次课程设计我最大的收获。

五、参考文献

【1】《计算机硬件技术基础实验教程》黄勤等编著重庆大学出版社

【2】《单片微型计算机与接口技术》李群芳等编著电子工业出版社

【3】《计算机控制技术》王建华等编著高等教育出版社

【4】《微型计算机控制技术》黄勤等编著机械工业出版社

六、附录

6.1程序清单

.486

ADD_ADEQU300H;AD地址

ADD_DAEQU320H;DA地址

PAEQU340H;单色LED位选

PBEQU344H;单色LED段选

PCEQU348H;高四位列信号输出;PC0拨盘读入,第四位行信号读入

CTL_8255EQU34CH

DATASEGMENTUSE16

ORG1000H

TAB_KEYDB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H

DB0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H;键值表

TAB_LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;字型码表

TAB_LED1DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,

DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH;三色LED字型码表

TAB_ASCDB'0','1','2','3','4','5','6','7'

DB'8','9','A','B','C','D','E','F';ASC码值

GEEDB?

SHIDB?

KEYDB?

NUMDB0

VPDB120

VIDB0

VDDB200

V_SETADB''

VPADB''

VIADB''

VDADB''

V_OUTDB?

V_INDB?

V_SETDB30

ER_KNDB?

ER_KBDB0

ER_SUMDW0

ER_ALLDD?

ER_100DW?

AD_RESULTDW?

GEWEIDB?

SHIWEIDB?

SHANGDB?

FLAGDB?

DATAENDS

CODESEGMENTUSE16

ASSUMECS:

CODE,DS:

DATA

ORG2000H

START:

MOVAX,DATA

MOVDS,AX

CALLINITIAL;初始化8255

CALLLED_INT;LED初始化

CK1:

;查询按下的是否为A,按下则跳转PSA

CALLSCAN

CMPKEY,0BBH

JZPSA

CK3:

;查询是否按下D,否返回CK1,是则跳到CK2

CALLSCAN

CMPKEY,7DH

JZCK2

JMPCK1

PSA:

CALLLED_OFF;LED全灭

CALLSET_V;设置给定阶跃,按B结束

;判断是否按下C

CALLSCAN

CMPKEY,7EH

JZCC1

JMPCK1

CC1:

CALLSET_P;设置参数P,按B结束

CALLSET_I;设置参数I,按B结束

CALLSET_D;设置参数D,按B结束

JMPCK3

CK2:

CALLGEIDING;计算给定值字型码

CALLAD;AD读入输出电压,转换

CALLBDBH;AD标度变换

CALLCAL_PID;计算偏差,进行PID控制

CALLBDBH1;DA标度变换

CALLDA;DA送出控制量VIN

CALLSHUCHU;计算输出值字型码

CALLLED1;三色LED显示给定值与输出值

;查询是否按下E,否返回CK2

CALLSCAN1

CMPKEY,7BH

JNZCK2

CALLWUCHA;单色LED显示误差百分比

CALLLED_INT;LED初始化

JMPCK1

;单色LED显示误差百分比

WUCHAPROC

PUSHA

CALLLED_OFF

MOVBL,V_SET

MOVAL,V_OUT

SUBAL,BL

CMPAL,0

JLFUSHU1

JMPZHENGSHU1

FUSHU1:

MOVFLAG,01000000B

NEGAL

JMPLAST2

ZHENGSHU1:

MOVFLAG,0

LAST2:

MOVBL,100

MULBL

MOVBL,V_SET

DIVBL

MOVBX,OFFSETTAB_LED

XLAT

MOVSHANG,AL

MOVECX,1FFH

;送显

SHOW:

MOVDX,PB

MOVAL,FLAG

OUTDX,AL

MOVDX,PA

MOVAL,80H

OUTDX,AL

CALLDLY_SS

MOVDX,PB

MOVAL,10111111

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

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1