1、(此文档为word格式,下载后您可任意编辑修改!)on二阶环节电压跟踪控制系统的设计(采用PC机、JK实验装置)专 业:自动化 专业班 级: 组 员: 重庆大学自动化学院目 录一、序言2二、设计内容2.1 设计要求22.2 学生应完成工作2三、设计步骤3.1 确定基本设计目标33.2 确定基本实现方案33.3 硬件设计43.4 软件设计53.5 调试完善程序,完成报告73.6 设计结果展示8四、成员分工 8五、心得体会5.1 姚亮的心得体会 95.2 刘凤的心得体会 95.3 罗威的心得体会 95.4 李延的心得体会 105.5 孙德林的心得体会 11六、参考文献 11七、程序清单 11一、序
2、言自动控制在日常生活中的应用非常广泛,大到航天航空,小到家用电器都会涉及到自动控制。自动控制系统的任务是使被控对象的被控量跟随给定值的变化而变化。闭环控制系统是一种最基本的自动控制系统,图1是单回路闭环控制系统的框图。变送器(含测量元件)对被控量Y进行测量,并将其变换为电信号,经A/D转换为数字信号后反馈给控制器。控制器将反馈信号与给定值R进行比较,并根据指定的控制规律产生相应的控制信号,经D/A转换后作用于被控对象,使被控量与给定值保持一致。图1 单回路闭环控制系统框图二、设计内容2.1 设计要求(1)已知参数和设计要求1)搭建一个二阶环节2)设计一个控制器输出作用于电路输入IN,使得电路输
3、出端能够跟踪0-5V范围内的任意阶跃信号,并能通过CRT显示器画出输出信号曲线。3)设计人机交互接口,包括键盘、显示器,能通过人机交互接口设置信号参数。4)控制精度5%,调节时间5秒。(2)实现方法采用PC机、JK实验装置实现(限4人选做)2.2 学生应完成的工作1)硬件设计:要求完成控制系统框图;绘制完整的控制系统电路原理图;说明各功能模块的具体功能和参数;搭建并调试一个二阶环节电路;结合实验室现有的JK实验装置进行系统组成,并对整个系统的工作原理尽心全面分析,论述其结构特点、工作原理、优缺点和使用场合。分析系统采用的主要单元的工作原理和特性。2)软件设计:要求合理分配系统资源,完成二阶环节
4、电压跟踪控制系统的程序设计(如:系统初始化;主程序;A/D转换;D/A转换;标度转换;显示与键盘管理;控制算法;输出等)。3)对设计控制系统进行系统联调。4)编写课程设计报告:按统一论文格式、同意报告纸和报告的各要素【封面、任务书、目录、摘要、序言、主要内容(包括设计总体思路、设计步骤、原理分析和相关知识的引用等)、总结、各组员心得体会、参考书及附录(包括系统框图、程序流程图、电路原理图和程序源代码)】进行编写,字数要求不少于4000字,要求设计报告论理正确,逻辑性强,文理通顺,层次分明,表达确切。三、设计步骤3.1 确定基本设计目标仔细研读了设计任务书后,我们确认了本次课程设计需要实现的基本
5、任务目标有:(1)搭建一个二阶环节;(2)CRT显示器能够显示输出;(3)要求设计人机交互接口,参数可随时设置;(4)精度要求。3.2 确定基本实现方案对比着任务要求,我们组员讨论得出了要完成各个基本设计任务的初步实现方案:3.2.1 搭建二阶环节本次课程设计中,由实验室提供二阶环节系统盒,故不需要我们自己搭建。3.2.2 电路输出跟踪阶跃信号我们采用电脑键盘作为系统输入,计算机读取按键后,信号通过D/A转换送给二阶环节,再进行A/D转换后回送给计算机CRT显示信号曲线。整个过程中需要用的读键程序、D/A、A/D转换程序、屏幕显示程序(包括屏幕描点、绘坐标轴、刷屏显示等程序)、滤波程序、控制计
6、算程序3.2.3 设计人机交互接口由于任务要求信号参数可通过人机交互接口设置,我们讨论后设计在屏幕显示上添加功能按键显示(包括设置键、开始键、退出键)、调节时间显示及误差显示等功能,并设计按下“R”键后可以在屏幕上任意设置信号参数,这样,我们的人机交互功能便实现了。3.2.4 精度要求对于精度5%,调节时间5秒的设计要求,我们决定在软件调试时通过修改各参数来完成。3.3 硬件设计本次课程设计中最为重要的硬件设计任务是信号数据采集系统的搭建。数据采集系统是由计算机和硬件接口电路组成,硬件接口电路主要由多路模拟转换开关、采样/保持器、A/D转换电路、输入接口电路、D/A转换电路、控制逻辑电路等组成
7、。其工作过程是:由计算机通过控制逻辑电路选通多路模拟信号中的一个通道,该通道的模拟信号送到采样/保持电路进行采样;当计算机启动A/D转换电路转换时,采样/保持电路处于保持状态,并把信号送给A/D转换电路实现模拟量到数字量的转换;A/D转换结束后,将送出一结束信号,该信号可产生已中断请求或供计算机查询,同时采样/保持电路进入采样状态,计算机由输入接口电路读取一个通道模拟信号的一次转换数据。当计算机向A/D转换电路输出数据时,D/A转换电路输出一个与输出数据对应的模拟电压。硬件电路就是选取合适的电子器件和芯片,设计成满足系统速度、精度和可靠性等技术要求的电路接口,是计算机能按要求完成上述工作过程。
8、本次课程设计需要用到的硬件系统还有闭环控制系统。其实闭环控制系统硬件组成与数据采集系统基本相同,主要由模拟输入通道、模拟输出通道和被控对象等组成。图2向我们展示的就是此次设计过程中一个很重要的硬件系统二阶环节系统:图2 二阶环节3.4 软件设计相同于硬件设计,软件设计也大体分为两个部分,及采集系统和闭环控制系统。因为此次课程设计的主要任务是完成闭环控制系统的软件设计,而且采集系统的软件设计可以包括在闭环控制系统的步骤里。除了必须达到采集系统的要求外,闭环控制系统的软件设计还必须有控制算法程序和更强的数据处理能力。其实一个控制系统的控制过程可归纳为以下3个步骤:1 实时数据采集:即对被控参数的瞬
9、时值进行测量。2 实时决策:对表征被控对象状态的测量值进行分析,并按已定的控制规律座车型赢的控制决策。3 实时控制:根据决策,实施对控制机构发出控制信号。控制程序的运行必须满足以上控制过程,同时控制算法是使被控参数尽快达到给定值,并能将被控参数随时间的变化情况在屏幕上显示出来。参考程序流程图如图3 所示。该程序由初始化和数据采集,数据滤波,标度变换,屏幕显示,D/A输出,控制局测和屏幕描点等子程序构成。初始化程序主要完成:屏幕上显示“R_SET(mV)=”的字样,待输入完设定值后,在屏幕上显示一个坐标轴和有关操作提示符。并在屏幕上开辟一个显示区,用于显示采样值,设定值,控制输出值等闲管信息。各
10、子程序功能为:(1)数据采集:连续采集20个数据,没采集一个数据,跳一次采样程序SAMP0。(2)数字滤波:具体方法是对20个数据有大到小进行排序(子程序名SAMP1),去掉两个最大值,去掉两个最小值,将中间16个数据取平均值(子程序名SAMP2)。(3)标度变换:将数字滤波后的采样值X比那换成与实际输入对应的模拟电压毫伏制Y,然后存放在数据缓冲区。子程序名BTOD和SDATA。(4)屏幕显示:利用计算机屏幕显示采样值,设定值和输出值等相关信息。由于数据缓冲区的存放格式是二进制数,而送屏幕显示的必须是ASC2码,所以子程序DISPH是完成二进制转换为BCD码,在转换为ACS2码,存放在显示缓冲
11、区的相应的地址单元中。子程序DISPL是将显示缓冲区的内容送到屏幕上显示。(5)控制决策:根据控制标志,判断是否调用控制算法子程序CT。该子程序根据设定值和采样值计算出误差值,根据误差大小确定是否采用积分计算,同时将误差值进行比例运算,计算出本次计算的结果,存放在输出缓冲区。(6)D/A输出:D/A输出程序DAOUT,是将当前输出缓冲区数据输出到D/A转换器端口。(7)屏幕描点:子程序POINT是将采样值对应的坐标描绘在屏幕对应的位置上。(8)检查按键:当一个数据从采集到处理最后送屏幕显示完毕后,进行适当延时,检查是否有键按下,如有键按下,读取键值,是“Q”键就退出程序;是“R”键就开始设置参
12、数;若不是动作键或没有键按下,重复执行以上(1)-(7)程序。图3 闭环控制系统流程图3.5 调试完善程序,完成报告相关硬件及软件设计完成后,最后的主要工作就是调试运行程序,并达到设计任务要求的精度。整个过程就是不断地修改相关参数并调试运行,已达到理想效果。调试完善程序之后,我们便开始着手撰写课程设计报告。3.6 设计结果展示设置电压(mV)稳定输出(mV)误差(mV)调节时间(s)+2000+2001+16+2500+2499-17+3000+3002+27+3500+3498-24表1 实验结果四、成员分工班级学号姓名任务分工自动化8班姚亮画流程图,写设计报告,参数调试自动化8班刘凤控制参
13、数调节,算法程序编写自动化8班罗威标度变换、屏幕描点等部分程序编写自动化8班李延A/D、D/A转换模块子程序编写,求平均值子模块的编译,程序检测自动化7班孙德林编写坐标子程序,编写实验报告 表2 成员分工五、心得体会5.1 姚亮的心得体会这次的计算机控制课程设计相对于上周的硬件设计要简单一些,因此我们的时间主要都用在了对参数的设置及调试上,为了满足任务的精度要求,我们全组成员调试了近三天时间。相关的主程序我们很快便编写出来了,但很快地我们便在精度要求这里卡住了,因为影响输出信号精度的参数比较多,而且相互之间又都是相互影响和制约的,所以我们需要在调试的时候修改各个参数多次,以达到最理想的要求。通
14、过这次课程设计,我也再次复习了计算机控制技术的相关知识,同时也学到了很多新知识。比如二阶环节的搭建及连接,屏幕刷屏程序的编写等等。最重要的是在此次课程设计过程中我再一次通过与同学的合作完成了一个任务,这极大地锻炼了我的团队分工与协助能力。5.2 刘凤的心得体会 刚拿到课程设计题的时候有点窃喜,题目是上学期计控实验的最后一次实验,所以很快就找到了需要的程序模块。我主要负责算法程序的编写和主程序的编写,把所有程序都组合起来后,我们进行了第一次测试,测试结果很不理想,首先测试精度达不到要求,其次是反应时间太长不到要求。测试的问题主要是在控制算法的编写,开始我使用的是积分分离控制但是不管怎样调节精度都
15、达不到要求,接着我把I控制去掉效果比PI要好点,但还是达不到要求,接着我使用PD控制精度达到了要求,而且精度非常好,但时间达不到要求,后面通过对参数的调节,可以是时间接近要求,但还是达不到要求,最后我还把调节时间和误差都显示在人机界面。 在这次课程设计中,虽然没有全部达到课程设计的要求,但在控制算法参数的调节过程中我学到了不少知识。比如说P,I,D参数的调节方法,以及时间秒的调用方法。在程序的编写过程中我对汇编又有了进一步的了解;在课程设计的过程中是我对计控有了更深的理解,以前不太懂的知识在这次课程设计中加深了了解,特别是对控制算法参数的调节;同时此次课程设计还大大的锻炼了我的团队分工和协调能
16、力。5.3 罗威的心得体会上周的计算机硬件基础课程设计刚完,还来不及回味,马上这周的计算机控制课程设计又开始了。在本次的课程设计中,我主要是负责标度变换,即将采样获得的数据由ASCII码转变为输出的电压值。这次由于小组有五人,所以任务相对上次而言要轻松。对于12位A/D转换器,A/D转换结果数据范围是04095,实际加载在A/D转换器输出端的电压为-5.000V +5.000V。标度变换就是将04095变换成-5000mV +5000mV。其核心就是一个公式:Y=X2.但是,为了便于定点数的运算,通常将上述公式变形为:Y=(X2442) ,结果的单位为mV,最后将数据存放在数据缓冲区。在编写标
17、度变换的程序的过程中,主要参考了计算机硬件基础实验书上得程序,因此写起来相对简单(比自己写简单多了)。只是单独的程序模块没遇到太多的难度,不过,在遇到困难的时候,小组队友的帮助使我能够很快的解决问题。总的来说,课程设计能让我们有自己动手的机会,我们在过程中也收获颇丰,通过自己的思考学到了很多东西5.4 李延的心得体会在这次短暂的一个星期的学习与设计中,我和我的队友们一起合作完成了布置的任务。计算机控制课程设计相比起计算机硬件的设计来,难点在于其设计中加入了我们未曾涉及到 AD-DA转换以及控制算法的设计,而我在本次设计中主要负责AD-DA转换子模块的编译。在做这个子模块的时候,我遇到了一个小问
18、题。就是AD转换中要调用求平均值模块,而我最开始在编译此模块的时候忽略了题目的要求,没有舍弃最高值和最低值。因为对精度和实验结果的影响不大,在调试的过程中我们始终没有发现这个问题。直到最近几天,我们任务趋于竣工的时候,我们重新检验程序才发现了这一问题,并且及时作出了修正。如果在以后工作过程中,这些问题肯定都会被测试人员当做BUG给提出来,这是不利于整个程序和项目组的。总之,在这次的课程设计中,我还是学习到了很多的东西的。首先,这次是第二次合作用汇编语言做出一个完整的项目,感觉自己能够将所学的理论知识跟实际应用联系到了一起,体会到了一些成就感。其次,深刻认识到了自己的动手能力以及创造能力的欠缺。
19、很多的程序只能依照书上的例题依样画葫芦,书上没有的例子就完全想不出自己的程序。而且往往有时候,自己照着书本例题改动了一部分却始终调试不出来,自己也弄不清楚问题出在哪个地方。5.5 孙德林的心得体会 本次计算机控制课程设计被安排在开学第一个月,也是我们找工作之前,具有很重要的意义,通过这次课程设计我很好的回顾复习了以前所学习的各门课程,较为系统的梳理了各个知识点,对自己的专业知识的认识更加全面系统。相信着对于我找工作也有很重要的指导意义。本次课程设计我们组主要完成二阶环节电压跟踪控制系统的设计,我主要完成论文的编写工作,并且参与软硬件设计的讨论工作,通过课程设计的论文编写,无论对控制算法还是反馈
20、控制系统,以及汇编语言都有了更加清晰的认识,我们在课程设计的过程中也遇到了很多困难,在设计报告是我力图把这些困难造成的原因结果等体现出来。 我们的课程设计过程中离不开老师的悉心指导,再次感谢老师们再我们遇到困难的时候给予的帮助。六、参考文献【1】计算机硬件技术基础杨天怡等主编重庆大学出版社【2】计算机硬件技术基础实验教程黄勤等主编重庆大学出版社【3】单片微型计算机与接口技术李群芳等主编电子工业出版社【4】计算机控制技术王建华等主编高等教育出版社七、程序清单.486DATA SEGMENTDAC_OUTDATA DB ? ;DA输出口ADC_INDATA DW ?BTOD_OUT DW ? ;标
21、度变换值LVBO_OUT DW ? ;平均值DATAA DW ?R_SET DW ? ;设定值存储器O_SET DW 0K_SET DW 6 ;比例放大系数D_SET DW 4 ;微分系数E_N DW ? ;误差E_L DW ?CNT1 DB ?MEMORY1 DW ?MEMORY2 DW ?SECOND DB ?CNT DB ?CHA DB ?X_P DW 10MESS0 DB 5.000VMESS1DB -5.000VBUF DW 16 DUP (0)DISP1 DB ,$KEYBUF DB 51COUNT DB ?KEYNUM DB 51 DUP(?)MES2 DB R_SET(mV)=
22、,$MES3 DB PRESS R TO RESET,PRESS Q TO QUIT,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,2CHINT 21HMOV AL,DHMOV SECOND,ALLEA DX,MES3 ;显示输入提示信息MOV AH,09HINT 21HMNB:MOV AL,0MOV CNT1,ALMOV CNT,ALMOV AL,0MOV DAC_OUTDATA,ALCALL DACLEA DX,MES2MOV AH,09HINT 21HLEA DX,KEYBUF ;
23、从键盘输入提示信息MOV AH,0AHINT 21HMOV BX,0 ;将从键盘收到的数据转换为二进制MOV DI,1LLP:MOVAL,KEYNUMDIAND AL,0FHMOV AH,0XCHG AX,BXMOV CX,10MUL CXADD BX,AXINC DIMOV AX,DICMP AL,COUNTJZ LLP0JMP LLPLLP0:MOV DI,0MOV AL,KEYNUMDICMP AL,-JNZ OONEG BXOO:MOV R_SET,BXCALL TTOP: MOV BX,0CALL POINTYC: LEA SI,BUFMOV CX,16CAIYANG:CALL AD
24、C ;读取20次AD转换结果MOV AX,ADC_INDATAMOV SI,AXINC SIINC SILOOP CAIYANGCALL LVBO ;求取平均值CALL BTOD ;标度变换CALL CT ;调用控制算法CALL DAC ;调用DACLEA DX,MES3MOV AH,09HINT 21HMOV DL,20HMOV AH,2INT 21HINT 21HCALL DISPH ;调用显示程序MOV DL,20HMOV AH,2INT 21HINT 21HCALL DISPH1MOV DL,20HMOV AH,2INT 21HINT 21HMOV AL,CNT1SUB AL,20JA
25、 LLL3CALL COMPARECALL TIMELLL3:MOV DL,0DHMOV AH,2INT 21HINC BXCMP BX,40JZ OPMOV AH,01H ;查询是否有键按下INT 16HJZ YC ;没有按键继续循环MOV AH,0INT 16HCMP AL,Q ;退出键按下转退出程序JZ CCCMP AL,RJZ MNBJMP YC ;没有按下继续循环CC: MOV AH,4CHINT 21H;ADC PROC NEARPUSHAMOV DX,205H;通道选择端口 MOV AL,40HOUT DX,ALMOV DX,205HAND AL,0BFHOUT DX,ALMOV
26、 CX,10LP1:LOOP LP1 ;给AD574送脉冲信号OR AL,40HOUT DX,ALMOV DX,201HLP2:IN AL,DXTEST AL,01H ;测试STS脉冲信号JNZLP2MOV DX,200H ;读高八位IN AL,DXMOV AH,ALINC DXIN AL,DX ;读低四位MOV CL,4SHR AX,CLMOV ADC_INDATA,AXPOPARETADC ENDP;DAC PROC NEAR ;实现DA转换PUSHAMOV DX,202HMOV AL,DAC_OUTDATAOUT DX,ALMOV DX,204HOUT DX,ALPOPARETDAC E
27、NDP;BTOD PROC NEAR ;标度变换PUSHAMOV AX,LVBO_OUTMOV CX,2442MUL CXMOV CX,1000DIV CXCMP DX,501JB BTOD1INC AXBTOD1:SUB AX,5000MOV BTOD_OUT,AXPOPARETBTOD ENDP;LVBO PROC NEAR ;求平均值PUSHAMOV CX,16MOV AX,0LEA SI,BUFSAMP:MOV BX,SIADD AX,BXINC SIINC SILOOP SAMPMOV CL,4SHR AX,CLMOV LVBO_OUT,AXPOPARETLVBO ENDP;CT P
28、ROC NEAR ;控制算法PUSHAMOV AX,R_SETMOV DX,BTOD_OUTSUB AX,DXMOV E_N,AXMOV DX,K_SETIMUL DXMOV MEMORY1,DXMOV MEMORY2,AXMOV AX,E_NSUB AX,E_LMOVDX,D_SETIMUL DXADD AX,MEMORY2ADD DX,MEMORY1MOV DAC_OUTDATA,DHMOV AX,E_NMOV E_L,AXPOPARETCT ENDP;POINT PROC NEAR ;在屏幕上描点MOV AX,BTOD_OUTADD AX,5000CWDMOV CX,25DIV CXMO
29、V DX,465SUB DX,AX ;计算纵坐标值MOV CX,X_P ;计算横坐标值INC X_PCMP X_P,640JNZ POINT0CALL TT ;画满了,清屏MOV X_P,10POINT0:MOV AH,0CH ;在屏幕上描点MOV AL,03MOV BH,0INT 10HRETPOINT ENDP;TT PROC NEAR ;在屏幕上画坐标MOV AH,0MOV AL,12HINT 10HMOV BH,0MOV BL,0INT 10HMOV CX,10MOV DX,470MOV AH,0CHYTT:MOV AL,03INT 10HDEC DXCMP DX,55JNZ YTTM
30、OV DX,265XTT:INT 10HINC CXCMP CX,610JNZXTTMOV CX,607MOV DX,262UPX:INT 10HINC DXINC CXCMP CX,610JNZ UPXDOWNX:INT 10HDEC CXINC DXCMP CX,606JNZ DOWNXMOV CX,7MOV DX,58UPY:INT 10HINC CXDEC DXCMP CX,10JNZ UPYDOWNY:INT 10HINC CXINC DXCMP CX,14JNZ DOWNYMOV DX,65MOV CX,11MARK:INT 10HADD DX,40CMP DX,505JNZ MA
31、RKMOV DX,264MOV CX,10MARK1:INT 10HADD CX,40CMP CX,650JNZ MARK1MOV BX,000FHMOV BP,SEG MESS0MOV ES,BPMOV BP,OFFSET MESS0MOV DL,02MOV DH,4MOV BL,1FHMOV AL,0MOV AH,13HMOV CX,06INT 10HMOV BP,OFFSET MESS1MOV DL,02MOV DH,29MOV BL,1FHMOV AL,0MOV AH,13HMOV CX,07INT 10HRETTT ENDP;DISPH PROC NEAR ;显示处理PUSHAMOV
32、 DX,BTOD_OUTLEADI,DISP1ADD DX,0JNS LP4NEG DXMOV AL,-JMP LP5LP4:MOV AL,LP5:MOV DI,ALMOV AX,DXCWDMOV CX,1000DIV CXADD AL,30HINC DIMOV DI,ALMOV AL,.INC DIMOV DI,ALMOV AX,DXMOV CL,100DIV CLADD AL,30HINC DIMOV DI,ALMOV AL,AHMOV AH,0MOV CL,10DIV CLADD AL,30HINC DIMOV DI,ALMOV AL,AHADD AL,30HINC DIMOV DI,A
33、LLEA DX,DISP1MOV AH,09HINT 21HPOPARETDISPH ENDP;TIME PROC NEAR ;时间子程序PUSHAMOV AH,2CHINT 21HMOV AL,DH ;调用秒CMP AL,SECONDJE L1MOV SECOND,ALCALL XIANSHIINC CNTL1:MOV SECOND,ALPOPARETTIME ENDPXIANSHI PROC NEARPUSHAMOV AL,CNTADD AL,0AAASHR AL,4ADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AL,CNTAND AL,0FHADD AL
34、,30HMOV DL,ALMOV AH,02HINT 21HPOPARETXIANSHIENDP;COMPARE PROC NEAR ;计时停止标志子程序PUSHAMOV AX,R_SETMOV DX,0MOV BX,20IDIVBXMOV BX,E_NSUB AX,BXJA LLL2JMP LLL1LLL2:INC CNT1LLL1:POPARETCOMPARE ENDP;DISPH1 PROC NEAR ;误差显示子程序PUSHAMOV DX,E_NLEA DI,DISP1ADD DX,0JNS LLP4NEG DXMOV AL,-JMP LLP5LLP4:MOV AL,LLP5:MOV DI,ALMOV AX,DXCWDMOV CX,1000DIV CXADD AL,30HINC DIMOV DI,ALMOV AL,.INC DIMOV DI,ALMOV AX,DXMOV CL,100DIV CLADD AL,30HINC DIMOV DI,ALMOV AL,AHMOV AH,0MOV CL,10DIV CLADD AL,30HINC DIMOV DI,ALMOV AL,AHADD AL,30HINC DIMOV DI,ALLEA DX,DISP1MOV AH,09HINT 21HPOPARETDISPH1 ENDP;CODE ENDSEND START
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922