ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:84.79KB ,
资源ID:21030659      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21030659.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(江苏大学计算机控制技术课程设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

江苏大学计算机控制技术课程设计.docx

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

2、给定由键盘置入。电机转速控制特性参数见表1。表 1:电机转速控制特性参考表(5V/42mA)Vb1.241.251.31.391.491.741.841.972.152.242.83.54.6Vc2.762.742.72.62.81.510.80.30.20.10.080.06备注停速爬速启速阀值高速4、 采用模块化结构编制测控程序,定时中断和测速利用8253 T0、T1编制相应的服务程序,显示相关信息调用INT14。5、 将调速系统按接线图连接无误后,再将编好的源程序汇编、链接,形成可执行文件并下载到FD-SJ8088进行调试、运行,直到满意为止。二、实验原理 根据霍尔效应原理,将一块永久磁

3、钢固定在电机转轴上的转盘边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔器件3013T,转盘随轴旋转时,受磁钢所产生的磁场的影响,霍尔器件输出脉冲信号,其频率与转速成正比,测出脉冲的周期或频率即可计算出转速。本实验利用8253定时中断的方法实现此目的。直流电机的转速与施加于电机两端的电压、电流大小有关。本设计利用DAC0832控制输出到直流电机的电压,电流即通过控制DAC0832的模拟输出信号量来控制电机的转速。当测出电机转速小于设定值时增大D/A输出电压;当测出电机转速大于设定值时减小D/A输出电压,从而使电机以某一转速恒速运转。三、功能模块简介1、DACA0832DAC

4、0832是8位并行、电流型D/A转换集成芯片。这个芯片接口简单、转换控制容易。D/A转换器由8位输入锁存器、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主要功能:在有多个中断源的系统中,接受

5、外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;当CPU响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。初始化命令字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))为低电平时,可将地址端(

6、A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。图 6:74LS138引脚图6、三极管电极的判别己知三极管类型及电极,用指针式万用表判别三极管好坏的方法如下: 1、测 NPN 三极管:将万用表欧姆挡置 R 100 或 R lK 处,把黑表笔接在基极上,将红表笔先后接在其余两个极上,如果两次测得的电阻值都较小,再将红表笔接在基极上,将黑表笔先后接在其余两个极上,如果两次测得的电阻值都很大,则说明三极管是好的。 2、测 PNP 三极管:将万用表欧姆挡置 R 100 或 R lK 处,把红表笔接在基极上,将黑表笔先后接在其余两个极上,如果两次测得的电阻值都较小,再将黑表笔接在基极

7、上,将红表笔先后接在其余两个极上,如果两次测得的电阻值都很大,则说明三极管是好的。 H/xQH+Yx0M中华维修论坛对于一只型号标示不清或无标志的三极管,要想分辨出它们的三个电极,也可用万用表测试。先将万用表量程开关拨在R100或R1k电阻挡上。红表笔任意接触三极管的一个电极,黑表笔依次接触另外两个电极,分别测量它们之间的电阻值,若测出均为几百欧低电阻时,则红表笔接触的电极为基极b,此管为PNP管。若测出均为几十至上百千欧的高电阻时,则红表笔接触的电极也为基极b,此管为NPN管。 Vo#Wvk fU在判别出管型和基极b的基础上,利用三极管正向电流放大系数比反向电流放大系数大的原理确定集电极。任

8、意假定一个电极为c极,另一个电极为e极。将万用表量程开关拨在R1k电阻挡上。对于:PNP管,令红表笔接c极,黑表笔接e极,再用手同时捏一下管子的b、c极,但不能使b、c两极直接相碰,测出某一阻值。然后两表笔对调进行第二次测量,将两次测的电阻相比较,对于:PNP型管,阻值小的一次,红表笔所接的电极为集电极。对于NPN型管阻值小的一次,黑表笔所接的电极为集电极。四、系统原理图五、控制算法设计及程序流程图PID控制是一种应用最广泛的控制规律。数字PID控制算式又分为位置型和增量型两种,分别如下式所示: 本实验采用基本的位置式。图 8:PID位置式控制原理图图 9:位置式PID控制算法程序框图 PID

9、调节调子程序TIMER1开中断Adjust返回主程序图 10:程序流程图六、调试结果与分析当程序完成后,由于waitt=5,所以转速调节速度比较慢,当waitt改为3后,调节速度明显加快,对于PID调节的参数,刚开始时,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,然后

10、又上升,经过几次调节,最后稳定在30r/s。七、心得体会为期一周半的计算机控制技术课程设计结束了,通过这次课程设计我受益匪浅,感受颇多。在这次的课程设计中我系统地认识了编程和调试技术,也有了一定的提高,让我将之前学的单片机及控制技术方法学以致用。但通过这次课程设计,我愈加意识到自己之前学习上的各种漏洞,很多知识都已经遗忘,而主要的原因是当初学习的时候没有很好地把理论与实践相结合,只看到了最表面的,没有认识本质的,以至于很快的遗忘,自己在这方面的学习还需要不断加深。在编程的过程中,遇到各种各样的问题,很感谢老师的悉心指导和同学们的帮助!这次课程设计很大程度上锻炼了我的实际动手能力,使我的理论知识

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

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

13、这些不好的习惯,学会独立的去思考问题,学会专研,学会静下心来去解决问题。再次感谢指导老师对我的帮助!参考文献1赖寿宏主编.微型计算机控制技术.北京:机械工业出版社,2004.2. 于海生等编著.计算机控制技术.北京:机械工业出版社,2005.3. 潘新民.微型计算机控制技术.北京:高等教育出版社,2001.7.4. 高国琴.微型计算机控制技术. 北京:高等教育出版社,2008.6. 附录程序清单;MOTOR.ASM;DC MOTOR ;CX=SPEED USER WANTED 0-40 R/S;MAIN PROC FAR DATA SEGMENT DATA SPEED DB 20H ;存放给定

14、转速 GETSP DB 00H ;存放反馈转速 CONS0 DB 2 ;存放系数a0=Kp(1+T/Ti+Td/T) CONS1 DB 2 ;存放系数a1=Kp(1+2Td/T) CONS2 DB 1 ;存放系数a2=Kp*Td/T SUB0 DB 00H ;存放偏差值e(k)=speed-getsp SUB1 DB 00H ;存放偏差值e(k-1) SUB2 DB 00H ;存放偏差值e(k-2) MID0 DW 00H ;存放乘积a0*e(k) MID1 DW 00H ;存放乘积a1*e(k-1) OUTP DB 40H ;存放U(k-1) WAITT DB 1 ;采样时间 COUNT D

15、B 38 ;时钟频率为1/38 DATA ENDS; CODE SEGMENT CODE ASSUME CS:CODE,DS:DATA,ES:DATA BEGIN: MOV AX,DATA ;将数据段段值送DS、ES MOV DS,AX MOV ES,AX MOV SPEED,CL ;给定目标速度 MOV AX,CS ;显示MESS信息 MOV ES,AX MOV BP,OFFSET MTMESS ;取MESS偏移地址给BP MOV AH,4 ;置中断向量,利用内部中断 INT 14H PUSH DS ;置中断处理程序 XOR AX,AX MOV DS,AX LEA AX,RING ;取偏移地

16、址 MOV DS:20H,AX ;中断类型为08H,时钟中断(终端入口偏移地址) MOV AX,CS MOV DS:22H,AX ;段基址 MOV AL,13H ;8259初始化,置初始化命令字ICW1 OUT 20H,AL MOV AL,08H ;置初始化命令字ICW2 OUT 21H,AL MOV AL,0DH ; ICW4,中断正常结束方式 OUT 21H,AL MOV AL,0FEH ;置操作命令字OCW1,仅IR0未被屏蔽 OUT 21H,AL MOV AL,20H ;置操作命令字OCW2,令EOI为1,结束中断 OUT 20H,AL POP DS CALL TIMER0 ;调用计数

17、器0初始化程序 CALL TIMER1 STI MOV AL,0FFH ;因为电机爬速最低电压为b极为1.25,c极为2.74,消除死区电压 OUT 09H,AL OUT 08H,AL RUN: JMP RUN; RING: CLI ;关中断,中断服务子程序 PUSH DS ;保护现场 PUSH AX PUSH BX PUSH CX PUSH DX MOV AX,DATA ;载入数据段 MOV DS,AX DEC COUNT ;中断次数COUNT-1,判断是否为0,为0,1秒到 JNZ EXIT MOV COUNT,38 ;恢复初值 CALL TIMER1 ;重置T1初值 DEC WAITT

18、;转速采样间隔WAITT-1,判断是否为0,为0,1秒到 JNZ EXIT MOV WAITT,1 ;恢复WAITT为1 CALL ADJUST ;调用采样程序 EXIT: POP DX ;恢复现场 POP CX POP BX POP AX POP DS MOV AL,20H ;8259操作命令字OCW2中EOI置1,结束中断 OUT 20H,AL STI ;中断结束,返回 IRET; ADJUST: IN AL,41H ;从T1采样转速值赋给GETSP,读入值为99H-脉冲数 MOV AH,AL MOV AL,99H SUB AL,AH ;最终为脉冲数,分高8位,低8位 DAS ;十进制调整

19、,结果为十进制数 MOV GETSP,AL MOV AX,CS ;显示SETMESS的字符串 MOV ES,AX MOV BP,OFFSET SETMESS MOV AH,4 ;串行通信中断调用,发送ES:BP开始的字符串 INT 14H MOV AL,SPEED ; SPEED显示十位 MOV CL,4 SAR AL,CL ADD AL,30H MOV AH,1 INT 14H MOV AL,SPEED ;SPEED显示个位 AND AL,0FH ADD AL,30H MOV AH,1 INT 14H MOV AX,CS ;显示GETMESS的字符串 MOV ES,AX MOV BP,OFF

20、SET GETMESS MOV AH,4 INT 14H MOV AL,GETSP ; GETSP十位数 MOV CL,4 SHR AL,CL ADD AL,30H MOV AH,1 INT 14H MOV AL,GETSP ; GETSP个位数 AND AL,0FH ADD AL,30H MOV AH,1 INT 14H MOV AX,CS ;显示RSMESS MOV ES,AX MOV BP,OFFSET RSMESS MOV AH,4 INT 14H MOV AL,SPEED ;码制转换 MOV CL,4 SHR AL,CL MOV DL,10 IMUL DL MOV BL,AL MOV

21、 AL,SPEED AND AL,0FH ADD BL,AL MOV BH,BL ;BH中存给定速度 MOV AL,GETSP ;码制转换 MOV CL,4 SAR AL,CL MOV DL,10 IMUL DL MOV BL,AL MOV AL,GETSP AND AL,0FH ADD BL,AL SUB BH,BL MOV SUB0,BH ;计算e(k) MOV AL,BH MOV DL,CONS0 ;取a0 IMUL DL ;取a0*e(k)放入AX MOV MID0,AX ;a0*e(k)暂存单元 MOV AL,SUB1 ;取e(k-1) MOV DL,CONS1 ;a1 IMUL D

22、L MOV MID1,AX ;a1*e(k-1)暂存单元 MOV AL,SUB2 MOV DL,CONS2 ;a2 IMUL DL ;AX=a2*e(k-2) ADD AX,MID0 SBB AX,MID1 ADD AL,OUTP ;u(k-1)+a0*e(k)-a1*e(k-1)+a2*e(k-2) ADC AH,00H ;计算 CMP AX,0FFH ;上限值比较 JG ADJST0 CMP AX,40H ;下限值比较 JL ADJST1 JMP ADJST2 ADJST0: MOV AL,0FFH JMP ADJST2 ADJST1: MOV AL,40H ADJST2: OUT 09H

23、,AL OUT 08H,AL MOV OUTP,AL ;u(k)赋给u(k-1) MOV AL,SUB1 MOV SUB2,AL ;e(k-1)-e(k-2) MOV AL,SUB0 MOV SUB1,AL ;e(k)-e(k-1) retn; TIMER1: MOV AL,59H ;8253计数器1初始化(01选择计数器1;01表示只写入低8位;100方式4,软件触发选通,控制字写入OUT为高;1表示十进制) OUT 43H,AL MOV AL,99H OUT 41H,AL ;把99H给计数器1 retn TIMER0: MOV AL,34H ;8253定时器0初始化(00选择计数器0;11为16位计数,先低8位,后高8位;010方式2,分频工作方式,控制字写入OUT为高;0为二进制计数) OUT 43H,AL MOV AL,79 OUT 40H,AL MOV AL,245 OUT 40H,AL ;把24579给定时器0 retn MTMESS DB * DC MOTOR *,0 SETMESS DB SETSPEED=,0 GETMESS DB R/S GETSPEED=,0 RSMESS DB R/S ,0 MAIN ENDP CODE ENDS END BEGIN

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

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