二阶电压跟踪控制系统(单片机)

上传人:cl****1 文档编号:548365903 上传时间:2023-07-30 格式:DOC 页数:26 大小:457.01KB
返回 下载 相关 举报
二阶电压跟踪控制系统(单片机)_第1页
第1页 / 共26页
二阶电压跟踪控制系统(单片机)_第2页
第2页 / 共26页
二阶电压跟踪控制系统(单片机)_第3页
第3页 / 共26页
二阶电压跟踪控制系统(单片机)_第4页
第4页 / 共26页
二阶电压跟踪控制系统(单片机)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《二阶电压跟踪控制系统(单片机)》由会员分享,可在线阅读,更多相关《二阶电压跟踪控制系统(单片机)(26页珍藏版)》请在金锄头文库上搜索。

1、二阶环节电压跟踪控制系统的设计(采用单片机教学实验装置)姓 名: 蒋坤婷 学 号: 20105095姓 名: 彭永红 学 号: 20105007姓 名: 王经造 学 号: 20105116姓 名: 汤乾锋 学 号: 20104990重庆大学自动化学院二O一三年九月目录一、序言1二、设计步骤22.1 确定基本设计目标22.2 确定基本实现方案22.2.1 搭建二阶环节22.2.2 电路输出跟踪阶跃信号22.2.3 设计人机交互接口(键盘)22.2.4 精度要求22.3 硬件设计22.4 软件设计32.5 调试完善程序4三、 心得体会5四、参考文献8五、附录95.1系统框图95.2电原理图105.

2、3程序流程图115.4程序清单17一、序言自动控制在日常生活中的应用非常广泛,大到航天航空,小到家用电器都会涉及到自动控制。自动控制系统的任务是使被控对象的被控量跟随给定值的变化而变化。闭环控制系统是一种最基本的自动控制系统,图1是单回路闭环控制系统的框图。变送器(含测量元件)对被控量C进行测量,并将其变换为电信号,经A/D转换为数字信号后反馈给控制器。控制器将反馈信号与给定值R进行比较,并根据指定的控制规律产生相应的控制信号,经D/A转换后作用于被控对象,使被控量与给定值保持一致。图1.1 单回路闭环控制系统框图二、设计步骤2.1 确定基本设计目标仔细研读了设计任务书后,我们确认了本次课程设

3、计需要实现的基本任务目标有:(1)搭建一个二阶环节;(2)示波器能够显示输出曲线;(3)要求设计人机交互接口,参数可随时设置;(4)精度要求。2.2 确定基本实现方案对比任务书的要求,我们讨论得出了要完成各个基本设计任务的初步实现方案: 搭建二阶环节本次课程设计中,由实验室提供二阶环节系统装置,故不需要我们自己搭建。 电路输出跟踪阶跃信号我们采用实验箱上的44键盘作为系统输入,实验箱读取按键后,得到一个给定值,系统通过A/D读取二阶环节的电压并与给定值比较,采取控制并将输出值通过D/A送给二阶环节。整个过程中需要用的读键程序、D/A、A/D转换程序、LED显示程序、滤波程序、控制计算程序 设计

4、人机交互接口(键盘)由于任务要求信号参数可通过人机交互接口设置,我们讨论后设计在LED上显示输入的信息。通过44键盘输入控制信号。按键设置为0到9十个按键加上负号、小数点和确认这三个按键。 精度要求对于精度5%,调节时间25秒的设计要求,我们决定在软件调试时通过修改各参数来完成。2.3 硬件设计本次课程设计中最为重要的硬件设计任务是信号数据采集系统的搭建。数据采集系统是由单片机和硬件接口电路组成,硬件接口电路主要由采样保持器、A/D转换电路、输入接口电路、D/A转换电路、控制逻辑电路输出接口电路等组成。其工作过程是:由机接收电路模拟信号,将模拟信号送到采样保持电路进行采样;当单片机启动A/D转

5、换电路转换时,采样保持电路处于保持状态,并把信号送给A/D转换电路实现模拟量到数字量的转换;A/D转换结束后,将送出一结束信号,该信号可产生已中断请求或供单片机查询,同时采样/保持电路进入采样状态,单片机由输入接口电路读取模拟信号并进行一次转换数据。当单片机向D/A转换电路输出数据时,D/A转换电路输出一个与输出数据对应的模拟电压。硬件电路就是选取合适的电子器件和芯片,设计成满足系统速度、精度和可靠性等技术要求的电路接口,使单片计算机能按要求完成上述工作过程。其次,按键键盘功能设计也是重要的,不同的键盘设计带给编程的难度是不同的,具体功能的体现也是有差别的。本次课程设计需要用到的硬件系统还有闭

6、环控制系统。其实闭环控制系统硬件组成与数据采集系统基本相同,主要由模拟输入通道、模拟输出通道和被控对象等组成。图就是此次设计过程中一个很重要的硬件模块,即二阶环节系统: 图 二阶环节2.4 软件设计相同于硬件设计,软件设计也大体分为两个部分,及采集系统和闭环控制系统。因为此次课程设计的主要任务是完成闭环控制系统的软件设计,而且采集系统的软件设计可以包括在闭环控制系统的步骤里。除了必须达到采集系统的要求外,闭环控制系统的软件设计还必须有控制算法程序和更强的数据处理能力。其实一个控制系统的控制过程可归纳为以下3个步骤:1 实时数据采集:即对被控参数的瞬时值进行测量。2 实时决策:对表征被控对象状态

7、的测量值进行分析,并按已定的控制规律进 行控制。3 实时控制:根据决策,实施对控制机构发出控制信号。控制程序的运行必须满足以上控制过程,同时控制算法是使被控参数尽快达到给定值,并能将被控参数随时间的变化情况在屏幕上显示出来。参考程序流程图如图3 所示。该程序由初始化和数据采集,数据滤波,标度变换,LED显示,D/A输出,控制程序和等子程序构成。各子程序功能为:(1)数据采集:连续采集12个数据,每采集一个数据,去掉最前面一个数据。(2)数字滤波:具体方法是对12个数据取平均值(3)标度变换:函数 void symbol()将数字滤波后的采样值按比列换成与实际输入对应的模拟电压毫伏值,然后存放在

8、数据缓冲区。(4)LED显示:函数void display()显示给定值和跟踪电压值。(5)控制决策:函数void pid()对给定值与真实值的误差进行比例、积分和微分运算,得到本次控制值,存放在输出缓冲区。(6)D/A输出:D/A输出程序是将当前输出缓冲区数据输出到D/A转换器端口。(7)检查按键:函数void keyscan()检查是否有键按下,以确定给定值为多少。如有键按下,读取键值,是确定键键就表示输入完毕。2.5 调试完善程序相关硬件及软件设计完成后,最后的主要工作就是调试运行程序,并达到设计任务要求的精度。整个过程就是不断地修改相关参数并调试运行,已达到理想效果。调试完善程序之后,

9、我们便开始着手撰写课程设计报告。三、 心得体会蒋坤婷的心得体会:本次的课程设计题目是二阶电压跟踪控制系统的设计,时间只有一周,非常紧迫。拿到设计题目之后,开始不太理解题目的意思,所以就在网上查找资料,然后理解到这次的题目实际上就是一个闭环回路,输出用到一个PID控制环节以及DA转换环节,反馈回路用到AD转换以及标度变换环节,另外就是一些人机接口环节,通过键盘来修改电压的设定值,并且通过单色LED来显示电压的设定值以及反馈值。由于这次的设计用的是单片机系统,所以我们决定用C语言来编写程序,虽然我们学习C语言已经很久没有用了,有点生疏了,但是C语言和汇编语言相比有它的有点,程序会相对较短,而且上一

10、次的课程设计我就是采用的汇编语言,对于汇编语言已经非常熟练,通过这次的设计可以帮助我们更加熟悉C语言。首先我们确定了这次的方案之后,就行了明确的分工,我们将本次的设计任务分成四块,分别是主程序及中断子程序、PID控制及DA转换子程序、标度变换及AD转换子程序和键盘扫描显示子程序。组员们根据自己的长处,选择自己的任务。这个的设计中我主要负责PID控制算法以及DA转换那部分,拿到这个任务我首先翻阅以前的课本查找有关离散PID控制那部分,理解PID算法的控制原理。然后我就用MATLAB进行仿真来得到符合要求的PID参数,然后就是程序的编写,这部分的程序编写用C语言来编写很简单,程序也很短。就在我们调

11、试的时候发现PID的控制很是不好,和仿真时的效果差别太大,原来是因为在仿真时用的是连续的PID控制,而在实际中我们这个PID是离散的,因为AD转换采集到的数据时离散的。所以我们就直接在程序了修改PID的参数,根据P、I、D它们各个环节所起到的作用来修改PID参数,经过反复的调试,最终找到了一组最合适的PID参数。在调试过程中我们发现的另外一个大的问题就是,虽然51芯片的各个端口是可以分时复用的,但是P3口最好不要复用,因为它有特殊的功能。另外在读入时,要先将端口置“1”,以免导致读入错误。在这些小问题上也是花费了我们一些的时间。通过这次的课程设计让我更加熟悉C语言,对单片机系统也有了更深的了解

12、。让我的程序编写能力有了很大的提高,尤其重要的是学会编程的思想,对于一个复杂的系统,将各个功能模块化非常重要,这对于程序的编写有很大的帮助,可以使人思路更加清晰,另外在调试的时候更是方便我们查找错误。更重要的是提高了我与人交流沟通的能力、组织协调能力、发现问题和解决问题的能力。总之,这是一个不可多得的机会,让我获益匪浅。汤乾锋的心得体会:本次微型计算机控制我们的课程设计题目是二阶环节电压跟踪控制系统的设计(采用单片机教学实验系统的)。由于本次的时间比较紧只有一周的时间,再加上要使用单片机无疑增加了难度。为了能很好的完成任务小组成员都花了不少时间复习单片机和计算机控制的知识。在对题目有一定的了解

13、基础后我们小组开始展开讨论,确定和设计系统框图并分配好任务,通力完成。题目要求我们设计一个控制器输出作用于电路输入IN使得电路输出能够跟踪-55V范围内的任意阶跃信号,这就需要我们的程序设计中要包含有A/D转换、标度变换、D/A转换、PID控制算法以及显示与键盘等模块。在明确好各个模块后我分配到的是标度转换模块然后协助其他组员完成其他模块。微型计算机控制系统在读入被测模拟信号后需要转换成数字量,变成操作人员所熟悉的数值并显示出来,这就是标度变换模块所要气的作用。本次课题我们要A/D转换读入电压值并转成0255中的数字量。-55V的电压转成0255相应的数字量我们采用的是线性标度转换,把它带入相

14、应的标度变换公式,再用程序语言表示出来即可,再接下来就是把相应的数字量一位一位分离出来再在LED显示管上显示出来。在复习过单片机和计算机控制后很快就完成了这模块的编程。本次课程设计不仅使我们对硬件的知识更加加深 ,对以前不是很理解的东西又更加理解了,又温习了一遍那些指令。还有就是通过本次课程设计,让我们一个组凝聚在一起,大家一起思考一起解决问题,这种团队、与人合作的精神很重要,这对于我们在将来的工作岗位上是很重要的,当然一个组必须有一个中心力量,否则这个组就是一团散沙,缺乏一个好的组长来领导大家也是不行的,有的组队可能是想要当组长的人太多,大家各自都有自己的想法,最终造成意见不能统一,于是原本

15、可以做得很好的东西最终也不能做好,这个就是一个团队合作的问题,有意见可以,大家想法多是好事,但是大家都应该出于是为了整个团队的利益着想,谁的想法是最好的,我们就采纳,当然中间有不同的意见也是可以提出,但是不能太固执己见,也要做出一定的让步和妥协。不管怎么说还是要感谢一直艰苦奋战的队友们,直到最后一刻也没有放弃。通过这次课程设计我发现,根据流程图编程比较简单,关键是怎样画出流程图。流程图是具体问题和编程之间的过渡,它把复杂具体的问题变成抽象的、有逻辑关系的框架,要想画出流程图,必须对课题分析透彻。通过这次编程我发现C语言的好处有很多,用了C能够自己掌握程序的细节,有高度的灵活;用这个语言不仅仅是会用来编程,而是用C语言深入了解操作系统底层和硬件接口。这短短的几天时间了让我感受到了团结合作的重要性,以及遇到困难要敢于冲击敢于挑战,只有这样你才能走得跟远,取得成功。相信在今后的学习生活中这次课程设计的经历将对我有很大的帮助。彭永红的心得体会:本次的课程设计时间为一个星期,不过我们在之前就开始准备

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 汽车技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号