微型计算机控制技术课程设计报告(二阶电压跟踪 单片机).

上传人:我** 文档编号:115393384 上传时间:2019-11-13 格式:DOC 页数:29 大小:321.50KB
返回 下载 相关 举报
微型计算机控制技术课程设计报告(二阶电压跟踪 单片机)._第1页
第1页 / 共29页
微型计算机控制技术课程设计报告(二阶电压跟踪 单片机)._第2页
第2页 / 共29页
微型计算机控制技术课程设计报告(二阶电压跟踪 单片机)._第3页
第3页 / 共29页
微型计算机控制技术课程设计报告(二阶电压跟踪 单片机)._第4页
第4页 / 共29页
微型计算机控制技术课程设计报告(二阶电压跟踪 单片机)._第5页
第5页 / 共29页
点击查看更多>>
资源描述

《微型计算机控制技术课程设计报告(二阶电压跟踪 单片机).》由会员分享,可在线阅读,更多相关《微型计算机控制技术课程设计报告(二阶电压跟踪 单片机).(29页珍藏版)》请在金锄头文库上搜索。

1、微型计算机控制技术课程设计 二阶环节电压跟踪控制系统的设计(采用单片机教学实验装置)二阶环节电压跟踪控制系统的设计(采用单片机教学实验装置) 专 业:自 动 化 班 级: 组 员: 重庆大学自动化学院2012年9月人员任务分配表班级学号姓名任务分工表1 成员分工表目录一、序言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四、参考文献9五、附录105.1系统框图105.2电原理图11

2、5.3程序流程图125.4程序清单17微型计算机控制技术课程设计 二阶环节电压跟踪控制系统的设计(采用单片机教学实验装置)一、序言自动控制在日常生活中的应用非常广泛,大到航天航空,小到家用电器都会涉及到自动控制。自动控制系统的任务是使被控对象的被控量跟随给定值的变化而变化。闭环控制系统是一种最基本的自动控制系统,图1是单回路闭环控制系统的框图。变送器(含测量元件)对被控量C进行测量,并将其变换为电信号,经A/D转换为数字信号后反馈给控制器。控制器将反馈信号与给定值R进行比较,并根据指定的控制规律产生相应的控制信号,经D/A转换后作用于被控对象,使被控量与给定值保持一致。图1.1 单回路闭环控制

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

4、给二阶环节。整个过程中需要用的读键程序、D/A、A/D转换程序、LED显示程序、滤波程序、控制计算程序2.2.3 设计人机交互接口(键盘)由于任务要求信号参数可通过人机交互接口设置,我们讨论后设计在LED上显示输入的信息。通过44键盘输入控制信号。按键设置为0到9十个按键加上负号、小数点和确认这三个按键。2.2.4 精度要求对于精度5%,调节时间25秒的设计要求,我们决定在软件调试时通过修改各参数来完成。2.3 硬件设计本次课程设计中最为重要的硬件设计任务是信号数据采集系统的搭建。数据采集系统是由单片机和硬件接口电路组成,硬件接口电路主要由采样保持器、A/D转换电路、输入接口电路、D/A转换电

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

6、键键盘功能设计也是重要的,不同的键盘设计带给编程的难度是不同的,具体功能的体现也是有差别的。本次课程设计需要用到的硬件系统还有闭环控制系统。其实闭环控制系统硬件组成与数据采集系统基本相同,主要由模拟输入通道、模拟输出通道和被控对象等组成。图2.3.1就是此次设计过程中一个很重要的硬件模块,即二阶环节系统: 图2.3.1 二阶环节2.4 软件设计相同于硬件设计,软件设计也大体分为两个部分,及采集系统和闭环控制系统。因为此次课程设计的主要任务是完成闭环控制系统的软件设计,而且采集系统的软件设计可以包括在闭环控制系统的步骤里。除了必须达到采集系统的要求外,闭环控制系统的软件设计还必须有控制算法程序和

7、更强的数据处理能力。其实一个控制系统的控制过程可归纳为以下3个步骤:1 实时数据采集:即对被控参数的瞬时值进行测量。2 实时决策:对表征被控对象状态的测量值进行分析,并按已定的控制规律进 行控制。3 实时控制:根据决策,实施对控制机构发出控制信号。控制程序的运行必须满足以上控制过程,同时控制算法是使被控参数尽快达到给定值,并能将被控参数随时间的变化情况在屏幕上显示出来。参考程序流程图如图3 所示。该程序由初始化和数据采集,数据滤波,标度变换,LED显示,D/A输出,控制程序和等子程序构成。各子程序功能为:(1)数据采集:连续采集12个数据,每采集一个数据,去掉最前面一个数据。(2)数字滤波:具

8、体方法是对12个数据取平均值(3)标度变换:函数 void symbol()将数字滤波后的采样值按比列换成与实际输入对应的模拟电压毫伏值,然后存放在数据缓冲区。(4)LED显示:函数void display()显示给定值和跟踪电压值。(5)控制决策:函数void pid()对给定值与真实值的误差进行比例、积分和微分运算,得到本次控制值,存放在输出缓冲区。(6)D/A输出:D/A输出程序是将当前输出缓冲区数据输出到D/A转换器端口。(7)检查按键:函数void keyscan()检查是否有键按下,以确定给定值为多少。如有键按下,读取键值,是确定键键就表示输入完毕。2.5 调试完善程序相关硬件及软

9、件设计完成后,最后的主要工作就是调试运行程序,并达到设计任务要求的精度。整个过程就是不断地修改相关参数并调试运行,已达到理想效果。调试完善程序之后,我们便开始着手撰写课程设计报告。3、 心得体会计算机控制原理的课程设计刚刚结束,微型计算机控制的课程设计接踵而至。这次我们面对的实际控制对象更接近于我们的生活了,我突然感觉到了我积累了的知识终于有了用武之地了。我很兴奋,但兴奋的同时我也感觉得到此次课程设计的重要性,眼前的难题是我们分到了单片机类型的控制。虽然平时比较擅长软件设计的我此时也感到一丝丝压力,因为我们小组决定要用已经一年多没有用过的C语言编写程序,虽然当时我学习C语言的时候很认真。而且我

10、自认为当时学得很不错的,但毕竟有一年多没有用了,不经有点生疏了。周一,我们满怀激情的来到了单片机实验室。我们没有着急马上动手做实验,而是检查起了我们的实验设备是否能正常工作。我们把给的实例程序写到了单片机里,导线也连接了,当我们运行时,发现实验设备无法正常工作,起初我们还怀疑过是不是实例程序出了问题。同时我们也在认真的检查我们的线路连接,当然,我们并没有发现问题。就这样,迷迷糊糊的周一就这样过去了,一点收获也没有。周二,我们又调试了其他实例程序,发现用lcd显示的时候,是能够正常显示的。但我们问了一下和我们做同一个项目的组员,他们也没有多大的进展。这下我心里稍微舒缓了一下,然后听他们说着实验设

11、备有些老化,不能得到正确的结果就可能是这个原因了,我现在也只能这样想了,我决定先用proteus仿真一下。下午一回到宿舍就开始搭建实验电路了,但当我用搭建好的实验电路仿真时,发现也不能正常的运行。这下我一下子就懵了,我不知道到底是我搭建的电路有问题,还是程序出现了问题。我努力的在网上查找资料,关于仿真软件的运用,还有就是查找软件的错误,但到了晚上十点多了,还是没有找到结果。周三,没有任何进展,还是在查找proteus仿真的错误,还是没有任何的进展。很快,到了晚上,有些小组已经换到了计算机硬件机房,用另外一套设备了。到了我们小组抉择的时候了,我们到底是继续选择留在单片机机房,还是换机房用新的设备

12、。最后通过小组决定,我们还是决定留下了,我们不能退缩,面对这点困难。但说实话,目前为止我们还是没有任何进展,此时,不经心里有点着急了,一周的课程设计我们已经花了大半的时间了。剩下的两天时间,我们能做出结果吗?我真的无从知晓。周四,我们又来到了单片机机房,今天老师考虑到了导线老化的原因,终于为我们换了一批导线。用新的导线接上,实例程序能正常工作了。我一下子来了精神,当天上午我完成了我的指定任务,调试也完全没有问题。我也分配给了小组成员不同的子程序,这样希望能尽快完成我们的任务,毕竟我们的时间已经不多了。下午我们进行了A/D转换模块的调试,这模块的调试遇到了一些麻烦。到了晚上,A/D模块仍然没有任

13、何进展。周五,很早就来到了实验室,这是我们最后一天了,我们要抓紧时间了,其他小组已经陆续答辩了,这无形给了我们很大的压力,但是压力就是动力。到了中午的时候,终于调试出了A/D模块功能。现在主要是PID算法和D/A模块了,下午我们早早就完成了D/A模块的调试,我们不敢休停半刻,我们着手PID的调试。现在回想起来,这个模块是最伤脑筋的模块了,我们一直调试到晚上十点了,此时就剩下四组了。最让我感到温暖的是,老师也在同我们并肩作战,虽然到最后还是没有调试出来,但老师看到我们那依依不舍的样子,决定星期六再给我们半天的时间。这消息对我们无疑是雪中送炭。周六,花了两个小时,终于把结果弄出来了,我们一周的课程

14、设计也算告一段落了。现在总结一下,我觉得主要是我们定义的数据类型出了问题。一开始我们考虑到要用到小数点,所以定义浮点类型数据,编译时发现地址溢出。我们只能将有些数据改为其他类型,但运算时出现了问题。还有就是c语言用负数计算时,有可能会出错,最好用正数进行运算。当然计算时也要考虑数据溢出的问题。总之,通过这次课程设计,我懂得了如何用软件实现pid控制,同时对pid的原理也有了更清晰的认识。本次微型计算机控制我们的课程设计题目是二阶环节电压跟踪控制系统的设计(采用单片机教学实验系统的)。由于本次的时间比较紧只有一周的时间,再加上要使用单片机无疑增加了难度。为了能很好的完成任务小组成员都花了不少时间

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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