江苏大学计算机控制技术课程设计_第1页
江苏大学计算机控制技术课程设计_第2页
江苏大学计算机控制技术课程设计_第3页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

1、计算机控制技术课程设计姓名:XXX专业:自动化1101学号:311所在学院:电气信息工程学院2013年1月13日目录一、设计要求及内容二、实验原理三、功能模块简介 四、系统原理图五、控制算法设计及程序流程图 六、调试结果与分析 七、心得体会参考文献附录一、设计要求及内容1、了解霍尔器件的工作原理;2、掌握利用微机技术进行转速测量与控制的基本原理和方法。3、采用PID控制算法设计、调试系统控制软件,实现直流电机转速的测控,并 利用FD-ST8088A实验软件平台或显示器件动态显示所测转速,控制量大小等信 息,转速给定由键盘置入。电机转速控制特性参数见表1Vb1.241.251.31.391.49

2、1.741.841.972.152.242.83.54.6Vc2.762.742.72.62.81.510.80.30.20.10.080.06备注停速爬速启速阀值高 速4、采用模块化结构编制测控程序,定时中断和测速利用8253 TO、T1编制相应 的服务程序,显示相关信息调用INT14。5、将调速系统按接线图连接无误后,再将编好的源程序汇编、链接,形成可执 行文件并下载到FD-SJ8088进行调试、运行,直到满意为止。二、实验原理根据霍尔效应原理,将一块永久磁钢固定在电机转轴上的转盘边沿, 转盘随 被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔器件 3013T,转 盘随轴旋转时,受

3、磁钢所产生的磁场的影响,霍尔器件输出脉冲信号,其频率与 转速成正比,测出脉冲的周期或频率即可计算出转速。本实验利用 8253定时中 断的方法实现此目的。直流电机的转速与施加于电机两端的电压、电流大小有关。本设计利用 DAC0832空制输出到直流电机的电压,电流即通过控制DAC0832的模拟输出信号 量来控制电机的转速。当测出电机转速小于设定值时增大 D/A输出电压;当测出 电机转速大于设定值时减小 D/A输出电压,从而使电机以某一转速恒速运转。二、功能模块简介1、DACA0832DAC0832是8位并行、电流型D/A转换集成芯片。这个芯片接口简单、转 换控制容易。D/A转换器由8位输入锁存器、

4、8位DAC寄存器、8位D/A转换 电路及转换控制电路构成。图 1: DAC0832DAC0832有3种工作方式:(1) 单缓冲方式;(2) 双缓冲方式;(3) 直通方式。本实验采用单缓冲方式。2、82538253有6种工作方式:(1) 方式0:计数结束中断;(2) 方式1:可编程单稳脉冲;(3) 方式2:频率发生器(分频器);(4) 方式3:方波发生器;(5) 方式4:软件触发选通信号;(6) 方式5:硬件触发选通信号。 本实验米用方式2和4。3、8259A主要功能:在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;当CPU

5、响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管 理。初始化命令字1寄存器(ICW1 )说明如图2所示。图2:初始化命令字1寄存器初始化命令字2寄存器(ICW2 )说明如图3所示。图3:初始化命令字2寄存器初始化命令字4寄存器(ICW4)说明如图4所示。图4:初始化命令字4寄存器4、LM324图5: LM324引脚图5、74LS13874LS138为3线8线译码器,其工作原理如下:当一个选通端(E1 )为高电平,另两个选通端(/E2)和/(E3)为低电平时, 可将地址端(A0、A1、A2)的二进制编码在 Y0至Y7对应的输出端以低电平 译出。图6: 74LS138引脚图

6、6、三极管电极的判别己知三极管类型及电极,用指针式万用表判别三极管好坏的方法如下:1、 测NPN三极管:将万用表欧姆挡置R X100或R XlK处,把黑 表笔接在基极上,将红表笔先后接在其余两个极上,如果两次测得的电阻值都较小 再将红表笔接在基极上,将黑表笔先后接在其余两个极上,如果两次测得的电阻值 都很大,则说明三极管是好的。2、 测PNP三极管:将万用表欧姆挡置R X00或R XK处,把红表 笔接在基极上,将黑表笔先后接在其余两个极上,如果两次测得的电阻值都较小, 再将黑表笔接在基极上,将红表笔先后接在其余两个极上,如果两次测得的电阻值 都很大,则说明三极管是好的。对于一只型号标示不清或无

7、标志的三极管,要想分辨出它们的三个电极,也可用万用表测试。先将万用表量程开关拨在 RX100或RXlk电阻挡上。红 表笔任意接触三极管的一个电极,黑表笔依次接触另外两个电极,分别测量它们 之间的电阻值,若测出均为几百欧低电阻时,则红表笔接触的电极为基极b,此管为PNP管。若测出均为几十至上百千欧的高电阻时,则红表笔接触的电极也 为基极b,此管为NPN管。在判别出管型和基极b的基础上,利用三极管正向电流放大系数比反向 电流放大系数大的原理确定集电极。任意假定一个电极为c极,另一个电极为e极。将万用表量程开关拨在 RX1k电阻挡上。对于:PNP管,令红表笔接c极, 黑表笔接e极,再用手同时捏一下管

8、子的b、c极,但不能使b、c两极直接相碰, 测出某一阻值。然后两表笔对调进行第二次测量,将两次测的电阻相比较,对于: PNP型管,阻值小的一次,红表笔所接的电极为集电极。对于NPN型管阻值小的一次,黑表笔所接的电极为集电极。四、系统原理图五、控制算法设计及程序流程图PID控制是一种应用最广泛的控制规律。 数字PID控制算式又分为位置型和 增量型两种,分别如下式所示:本实验采用基本的位置式。图8 PID位置式控制原理图将数据段段址送DS ES保护现场装入数据段段址tY图9:位置式PID控制算法程序框图 关中断开始置初值coun t,waitt,speed,getsP,恢复count初值38N显示

9、MESS言息从T1采样转速置tgetsp置中断向量显示spmess的字符串调用子程序TIMER0显示转速的千、百、十、个位数中断控制器8259初始化显示tmmess的字符串PID调节调子程序TIMER1开中断Adjust返回恢复现场U (k)送 DAC0832中断结束标志开中断U( k)置为66中断返回中断服务子程序con s0,c on s1,c on s2,sub1 ,sub2,sub3,mid0,mid1主程序图 10: 程序流程图六、调试结果与分析当程序完成后,由于 waitt=5 ,所以转速调节速度比较慢,当 waitt 改为 3 后,调节速 度明显加快,对于 PID 调节的参数,刚

10、开始时, cons0=1,cons1=1,cons2=1, 调节速度很快, 但超调很大;于是又将参数改为 cons0=2,cons1=5,cons2=5, 微分调节比较小,将速度给定 在 30r/s ,但是速度在 30r/s 左右波动很大,于是又将 cons0=2,cons1=4,cons2=3 ,将速度 给定在 30r/s ,速度先上升,上升到 30r/s 时继续上升,到 32r/s 后速度下降,速度降至 28r/s , 然后又上升,经过几次调节,最后稳定在 30r/s 。七、心得体会为期一周半的计算机控制技术课程设计结束了, 通过这次课程设计我受益匪 浅,感受颇多。在这次的课程设计中我系统

11、地认识了编程和调试技术,也有了一定的提高, 让我将之前学的单片机及控制技术方法学以致用。 但通过这次课程设计, 我愈加 意识到自己之前学习上的各种漏洞, 很多知识都已经遗忘, 而主要的原因是当初 学习的时候没有很好地把理论与实践相结合, 只看到了最表面的, 没有认识本质 的,以至于很快的遗忘, 自己在这方面的学习还需要不断加深。 在编程的过程中, 遇到各种各样的问题,很感谢老师的悉心指导和同学们的帮助! 这次课程设计很大程度上锻炼了我的实际动手能力, 使我的理论知识与实践 充分地结合。 在编写程序的过程中, 我遇到了很多问题, 使我发现了自己以前学 习上存在的不足。 调试的过程也不是一帆风顺的

12、, 在查错的过程中, 我也变的更 细心了。很多时候只是粗心将一个符号漏写或是写错, 就会使整个程序的结果出 现问题。 通过老师的指导和与同学的探讨,我终于把问题解决了。以前学的主 要是一些理论知识, 这次课程设计使我意识到我的实践能力的不足。 在以后的学 习生活中,我会更努力地读书和实践。此次设计我综合运用课堂所学的知识, 在解决问题方面得到了一次系统性的 训练和提高,弥补了我的不足, 使我将所学的理论知识运用于实际的能力得到了 一定的提高,软件编程、排错调试能力也得到了较全面的锻炼。通过这次的课程设计,真的学到了很多。纠正了之前的许多知识上的错误理 解,也极大程度的批判了自己之前学习浅尝辄止

13、的态度。 很多东西只有亲身经历 过才能体会, 如若我没有自己动手编程, 我就不会了解编程时的辛酸与成功运行 时刻的喜悦。一个程序足以体现编程者的各方面能力,没有足够的细心和耐心, 没有紧密的逻辑思维能力,没有扎实的指令基础,都不可能完成。以前学习 C 语言的编程时就觉得很复杂, 现在想来真的简单多了, 正如生 活一样,没有成长之前,一点点小事都是那么的困难,磨练多了,才能坦然的面 对。坦诚的说, 自己不是一个合格的编程员, 现在的自己没有足够的细心和耐心去琢磨一个问题, 总想依赖于外界的各种资源, 没有养成深入研究的习惯, 希望 自己能改变这些不好的习惯, 学会独立的去思考问题, 学会专研,

14、学会静下心来 去解决问题。再次感谢指导老师对我的帮助 !参考文献1赖寿宏主编 .微型计算机控制技术 .北京 :机械工业出版社 ,2004.2. 于海生等编著 .计算机控制技术 .北京:机械工业出版社, 2005.3. 潘新民 .微型计算机控制技术4. 高国琴 .微型计算机控制技术.北京:高等教育出版社 ,2001.7. 北京:高等教育出版社, 2008.6.附录程序清单;MOTOR.ASM;DC MOTOR;CX=SPEED USER WANTED 0-40 R/S ;MAIN PROC FARDATA SEGMENT DATASPEED DB20H ;存放给定转速GETSP DB00H ;存

15、放反馈转速CONS0 DB2 ;存放系数 a0=Kp(1+T/Ti+Td/T)CONS1 DB2 ;存放系数 a1=Kp(1+2Td/T)CONS2 DB1 ;存放系数 a2=Kp*Td/TSUB0 DB00H ;存放偏差值 e(k) =speed-getspSUB1 DB00H ;存放偏差值 e( k-1)SUB2 DB00H ;存放偏差值 e( k-2)MID0 DW00H ;存放乘积 a0*e(k)MID1 DW00H ;存放乘积 a1*e(k-1)OUTP DB40H ;存放 U(k-1)WAITT DB1 ;采样时间COUNT DB38 ;时钟频率为 1/38DATA ENDSCOD

16、E SEGMENT CODE ASSUME CS:CODE,DS:DATA,ES:DATABEGIN: MOV AX,DATA ; 将数据段段值送 DS、 ESMOVMOVMOVDS,AXES,AXSPEED,CL ;给定目标速度MOVAX,CS ;显示MESS言息MOVES,AXMOVBP,OFFSET MTMESS;取MESS偏移地址给BPMOVAH,4 ;置中断向量,利用内部中断INT14HPUSHDS ;置中断处理程序XORAX,AXMOVDS,AXLEAAX,RING ;取偏移地址MOVDS:20H,AX ;中断类型为08H,时钟中断(终端入口偏移地址)MOVAX,CSMOVDS:2

17、2H,AX;段基址MOVAL,13H ;8259初始化,置初始化命令字 ICW1OUT20H,ALMOVAL,08H ;置初始化命令字 ICW2OUT21H,ALMOVAL,0DH ; ICW4,中断正常结束方式OUT21H,ALMOVAL,0FEH ;置操作命令字 OCW,1 仅 IR0 未被屏蔽OUT21H,ALMOVAL,20H ;置操作命令字 0CW2令EOI为1,结束中断OUT20H,ALPOPDSCALLTIMER0 ;调用计数器 0 初始化程序CALL TIMER1STIMOV AL,0FFH ; 因为电机爬速最低电压为 b 极为 1.25,c 极为 2.74, 消除死区电压0U

18、T09H,AL0UT08H,ALRUN: JMPRUNRING: CLIJ关中断,中断服务子程序PUSHDS;保护现场PUSHAXPUSHBXPUSHCXPUSHDXM0VAX,DATA ;载入数据段M0VDS,AXDECC0UNT ;中断次数C0UNT-1判断是否为0 ,为 0 , 1 秒到JNZEXITM0VC0UNT,38 ;恢复初值CALLTIMER1;重置 T1 初值DECWAITT ;转速采样间隔WAITT-1,判断是否为0 ,为 0 , 1 秒到JNZEXITMOVWAITT,1 ;恢复WAITT为1CALLADJUST ;调用采样程序EXIT: POPDX ;恢复现场POPCX

19、POPBXPOPAXPOPDSMOVAL,20H ;8259操作命令字 OCW中EOI置1,结束中断OUT20H,ALSTIJ中断结束,返回IRETMOVAH,ALMOVAL,99HSUBAL,AH ;最终为脉冲数,分高 8 位,低8位DASJ十进制调整,结果为十进制数MOVGETSP,ALMOVAX,CS ;显示SETMESS勺字符串MOVES,AXMOVBP,OFFSET SETMESSMOVAH,4 ;串行通信中断调用,发送 ES:BP开始的字符串INT14HMOVAL,SPEED ; SPEED显示十位MOVCL,4SARAL,CLADDAL,30HMOVAH,1INT14HMOVAL

20、,SPEED ;SPEED显示个位ANDAL,0FHADDAL,30HMOVAH,1INT14HMOVAX,CS ;显示GETMES勺字符串MOVES,AXMOVBP,OFFSET GETMESSMOVAH,4INT14HMOVAL,GETSP ; GETSP十位数MOVCL,4SHRAL,CLADDAL,30H从T1采样转速值赋给 GETSP读入值为99H-脉冲数ADJUST: IN AL,41H ;MOV AH,1个位数INT 14HMOV AL,GETSP ; GETSPAND AL,0FHADD AL,30HMOV AH,1显示 RSMESSINT 14HMOV AX,CS ;MOV

21、ES,AXMOV BP,OFFSET RSMESSMOV AH,4码制转换INT 14HMOV AL,SPEED ;MOV CL,4SHR AL,CLMOV DL,10IMUL DLMOV BL,ALMOV AL,SPEEDAND AL,0FHADD BL,AL中存给定速度码制转换MOV BH,BL ;BHMOV AL,GETSP ;MOV CL,4SAR AL,CLMOV DL,10IMUL DLMOV BL,ALMOV AL,GETSPAND AL,0FHADD BL,AL计算 e( k)取 a0取aO*e (k)放入AX(k )暂存单元取 e(k-1 )( k-1 )暂存单元SUB BH,BLMOV SUB0,BH ;MOV AL,BHMOV DL,CONS0 ;IMUL DL ;MOV MID0,AX ;a0*eMOV AL,SUB1 ;MOV DL,CONS1 ;a1IMUL DLMOV MID1,AX ;a1*eMOV AL,SUB2MOV DL,CONS2 ;a2k-2)IMUL DL ;AX

温馨提示

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

评论

0/150

提交评论