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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(逐点比较插补原理的实现.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

逐点比较插补原理的实现.docx

1、逐点比较插补原理的实现计算机控制课程设计课题: 逐点比较插补原理的实现 系 别: 电气与控制工程学院 专 业: 电气工程及其自动化 姓 名: 王永杰 学 号: 091413138 指导教师: 邢广成 宋伟 河南城建学院2016年 6月 27日摘要根据逐点比较法插补原理,按方向完成从第一象限内任意起点),(yxA到坐标原点 )0,0(O直线插补的matlab仿真。程序的具体编写要求包括:要求用input()函数读取起点),(yxA,脉冲当量(步长)。坐标当量可设为1,则步长取坐标当量的0.01-1倍;并用print() 函数画出具体走步轨迹图。然后推导出用逐点比较法插补绘制出下面曲线的算法,利用

2、 matlab语言编写.m文件,实现第一象限直线插补的仿真。插补计算时,每走一步,都要进行以下四个步骤的计算过程,即偏差判别、坐标进给、偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算出坐标进给后的偏差,若未到达终点,则返回偏差判别,如此循环。可以根据起点和终点的坐标位置,计算出总的进给步数Nxy,X或Y的坐标每进给一步,这个值就减一,若Nxy=0,就到达了终点,这就是终点判别的方法。关键词:直线插补法、圆弧插补法、偏差判别、终点判断目录1 设计目的 32 设计要求 33 系统方案总体设

3、计 34 硬件及及软件设计 3 4.1 硬件件设计 3 4.1.1 接口示意图 3 4.1.2 方案论证 44.1.3 单片机与8255的接口 54.1.4 硬件接线原理图 64.1.5 元件清单 74.2 软件设计 74.2.1 软件设计原理 74.2.2 8255的初始化编程 114.2.3 步进电机走步控制程序 114.2.4 主程序 135 仿真及结果分析 14 5.1 系统安装调试 14 5.2 结果验证 146 设计总结 157 参考文献 16附录一 芯片资料 17附录二 源程序 181 设计目的设计一个微型计算机控制步进电机系统,该系统利用微型机的并口输出控制信号,其信号驱动后控

4、制X、Y两个方向的三相步进电机转动,利用逐点比较法插补原理绘制出如下图所示的目标曲线。 图1 目标曲线2 设计要求可以实现直线插补和圆弧插补;每次插补运算后,只有一个坐标轴方向有进给;插补误差不超过一个脉冲当量;运算简单直观,输出脉冲均匀。但是不容易实现两坐标以上的联动插补。3、系统方案总体设计 本设计大致包含三部分:硬件设计、软件设计和系统的运行调试。硬件设计采用8255,以及51单片机。软件设计包括初始化程序步进电机控制程序。调试采用MATLAB软件进行仿真得出轨迹图。4、软硬件设计4.1 硬件设计4.1.1 接口示意图 两台三相步进电机控制接口如下图所示。图2 系统接口示意图 步进电机是

5、一种将脉冲信号转换成角位移或直线位移的执行机构,其转动距离和角度取决于输入脉冲的个数,转动方向取决于输入脉冲的相序。4.1.2 方案论证单片机的接口电路可以是锁存器,也可以是专门的接口芯片,本设计采用可编程接口芯片8255。由于步进电机需要的驱动电流比较大,所以单片机和步进电机的连接还要有驱动电路,如何设计驱动电路成了问题的关键。设计方案一如图3所示,当某相上驱动信号变为高电平时,达林顿管导通,从而使得该相通电。图3 驱动电路方案一设计方案二如图4所示,在单片机与驱动器之间增加一级光电隔离,当驱动信号为高电平时,发光二极管发光,光敏三极管导通,从而使达林顿管截止,该相不通电;当驱动信号为低电平

6、时,则步进电机的该相通电。图4 驱动电路方案二 综合比较两种设计方案可知,方案二有抗干扰能力,且可避免一旦驱动电路发生故障,造成高电平信号进入单片机而烧毁器件。所以,本设计选择方案二。4.1.3 单片机与8255的接口 MCS-51单片机可以和8255直接连接而不需要任何外加逻辑器件,接口示意图如图5所示。因为8255的B口和C口具有驱动达林顿管的能力,所以将采用B口和C口输出驱动信号。图5 单片机与8255的接口4.1.4 硬件接线原理图图6 系统硬件接线原理图单片机控制步进电机的硬件接线如图6所示。因为8255的片选信号接单片机的地址线P2.7,A1、A0通过地址锁存器接到了8051单片机

7、的地址线P0.1和P0.0,由硬件接线图可以清楚地知道,8255的各口地址为:A口地址:7FFCHB口地址:7FFDHC口地址:7FFEH控制口地址:7FFFH同时,B口和C口都作为输出口,8255工作在方式0。下面以8255的B口输出端PB0为例说明控制的工作原理。若PB0输出0,经反相器74LS04后变为高电平,发光二极管正向导通发光。在光线的驱动下,光敏三极管导通,+5V 的电压经三极管引入地线而不驱动达林顿管。因而,达林顿管截止,X轴上步进电机的C相不通电。若PB0输出1,反相后变为低电平,发光二极管不导通。从而光敏三极管截止,+5V 电压直接驱动达林顿管导通,X轴上步进电机的C相有从

8、电源流向地线的电流回路,即C相得电。4.1.5 元件清单表1 元件清单表名称位号型号数量单片机80511地址锁存器74LS3731并行接口芯片8255A1反相器74LS046电阻R1R241K24光电三极管U1U34N253达林顿管Q1Q6NPN DAR6二极管D1D6IN400164.2 软件设计4.2.1 软件设计原理4.2.1.1 直线插补原理逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差的方向进给。图7第一象限直线如图所示,设直线的起点为坐标原点,终点坐标为A(,),点m

9、 (,)为加工点(动点)。定义偏差公式为。若=0,表明点m在OA直线段上;若0,表明点m在OA直线段上方,即点m 处;若0, 表明点m在OA直线段下1方,即点m处。由此可得第一象限直线逐点比较法插补的原理是:从直线的起点出发,当0时,沿+x轴方向走一步;当0时,沿+y轴方向走一步;当两方向所走的步数与终点坐标(,)相等时,发出终点到信号,停止插补。可以将上面所定义的偏差公式进一步简化,推导出偏差的递推公式。1 当0时,沿+x轴方向进给一步, (1)当0,沿-X方向走一步,并计算新偏差;当Fm0时,沿+Y方向走一步,并计算新偏差。如此一步一步计算与进给,并在到达终点时停止计算。但以上Fm计算式比

10、较复杂,可以考虑用递推公式: 当Fm0时,Xm+1Xm-1 Ym+1Ym Fm+1Fm-2Xm+1当Fm0时,Xm+1Xm Ym+1Ym+1 Fm+1Fm+2Ym+1(2)终点判断方法 设置Nx,NY两个计数器,初值设为|Xe-Xo|,|Ye-Yo|在不同的坐标轴进给时对应的计数器减一,两个计数器均减到零时,到达终点。 用一个计数器NxY ,初值设为Nx+NY,无论在哪个坐标轴进给,Nxy 计数器减一,计数器减到零时,到达终点。(3) 插补计算过程圆弧插补计算比直线插补计算过程要多一个环节,即要计算加工瞬时坐标。故圆弧插补计算为五个步骤即偏差判断、坐标进给、偏差计算、坐标计算、终点判断。图9

11、四个象限逆圆弧插补的对称关系4.2.1.2 步进电机工作原理步进电机有三相、四相、五相、六相等多种,本设计采用三相步进电机的三相六拍工作方式,其通电顺序为各相通电的电压波形如图8所示。图10 三相六拍工作的电压波形当步进电机的相数和控制方式确定之后,PB0PB2和PC0PC2输出数据变化的规律就确定了,这种输出数据变化规律可用输出字来描述。为了便于寻找,输出字以表的形式存放在计算机指定的存储区域。表2给出了三相六拍控制方式的输出字表。表2 三相六拍控制方式输出字表步序控制位工作状态控制字表C相B相A相1001A01H2011AB03H3010B02H4110BC06H5100C04H6101C

12、A05H4.2.2 8255的初始化编程由前面的分析知道,8255工作在方式0,控制口地址为 7FFFH,控制字为90H。所以,8255的初始化编程如下。MOV DPTR, #7FFFH ;控制口地址送DPTRMOV A, #90H ;控制字送寄存器AMOVX DPTR, A ;将控制字写入控制口4.2.3 步进电机走步控制程序4.2.3.1 程序流程图图11 步进电机走步控制程序流程图4.2.3.2 汇编程序代码以下为X轴上电机的步进控制算法,Y轴上步进电机算法类似。XCOTROL: MOV DPTR, #ADX ;将控制字表地址赋给DPTH MOV A, R2 ;表首偏移量送A MOVC

13、A, A+DPTR ;读取当前步进电机的控制字 MOV DPTR, #7FFDH ;PB口地址送DPTR MOVX DPTR, A ;将步进电机的控制字传送到PB口 CJNE A, #05H, LOOP3 ;若到表尾,转LOOP3 INC R2 ;未到表尾,表首偏移量加1 SJMP DELAY1 LOOP3: MOV R2, #00H ;表首偏移量清零 SJMP DELAY1DELAY1: MOV R0, #FFH ;延时 DJNZ DELAY1RET ;返回4.2.4 主程序4.2.4.1 主程序流程图图12 主程序流程图2.2.4.2 源程序代码 首先分配各变量的地址为,NXY: 4FH,

14、 50H; XE: 4DH, 4EH; YE: 4BH, 4CH; FM: 49H,4AH,高位存高地址,地位存进低地址。源程序代码见附录二。5、仿真及结果分析5.1 系统安装调试 按照硬件接线图将系统安装好后,装入程序,执行后查看步进电机的走步轨迹。5.2 结果验证若终点坐标(,)为(4,3),插补计算过程如表所示。表3 直线插补计算过程步数偏差判别坐标进给偏差计算终点判别起点=0=71+X=0-3=-3=62+Y=-3+4=1=53+X=1-3=-2=44+Y=-2+4=2=35+X=2-3=-1=26+Y=-1+4=3=17+X=3-3=0=0 根据上表,可作出步进电机的走步轨迹如图所示

15、。若输入的参数为XE=4,YE=3,系统走步轨迹与下图比较,可判断出设计的正确性。图13 步进电机走步轨迹6 、设计总结课程设计中,主要是我更加了解直线插补和圆弧插补的相关知识,计算机控制设计的相关知识更加专业化,能在考试周期间,火急火燎的完成这次课程设计离不开小组成员的努力和团结,不懂得网上和图书馆积极查阅资料,虽然我部分内容不是很明白,但是还是组员帮助下,慢慢的深入,自己也慢慢的掌握的相关知识,让我在直线插补,圆弧插补应用到步进电机的设计中,收获不少,更加熟练的应用课本知识。在老师的耐心指导下,有意识的培养和建立了我的思维能力,使我真正建立数据及信息流的概念,以便在控制应用中,能够使软件和

16、硬件有机地结合。通过单片机对步进电机的控制系统设计,让我真正的掌握了微型计算机软件和硬件相结合的设计方法。通过一个星期的课程设计,我对这门课有了进一步的了解。工业控制是计算机的一个重要应用领域,计算机控制正是为了适应这一领域的需要而发展起来的一门专门技术,它主要研究如何将计算机技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。参考文献1贺亚茹.汇编语言程序设计.北京:科学出版社,20052卜艳萍、周伟.汇编语言程序设计教程.北京:清华大学出版社,20043温玉杰.Intel汇编语言程序设计(第四版).北京:电子工业出版社,20044郑学坚、周斌.微型计算机原理与应用.北京:

17、清华大学出版社,20005于海生.微型计算机控制技术.北京:清华大学出版社,19986沈美明、温冬婵.IBM-PC汇编语言程序设计.北京:清华大学出版社,2002 7何立民.单片机应用系统设计.北京:北京航空航天大学出版社,2003附录一 芯片资料图 8051单片机引脚图 图 可编程芯片8255A引脚图附录二 源程序 (一) ORG 0100HMOV DPTR, #7FFFH ;控制口地址送DPTRMOV A, #90H ;控制字送寄存器AMOVX DPTR, A ;将控制字写入控制口,初始化8255MOV 4EH, ? ;XE的低8位存入4EHMOV 4DH, ? ;XE的高8位存入4DHM

18、OV 4CH, ? ;YE的低8位存入4CHMOV 4BH, ? ;YE的高8位存入4BHMOV A, 4EHADD A, 4CH ;XE与YE低8位相加MOV 50H, A ;低位之和存入NXY低8位MOV A, 4DHADDC A, 4BH ;XE与YE的高8位带进位相加MOV 4FH, A ;和存入NXY高8位MOV 4AH, #00H ;将FM置零MOV 49H, #00H CLR R2 ;表ADX偏移量清零CLR R3 ;表ADY偏移量清零LOOP1: MOV A, 49H ;取偏差的高8位 JB ACC.7, YCONTROL ;若FM b Thenmax = aElsemax =

19、 bEnd IfEnd FunctionPrivate Sub Command1_Click()Picture1.Refreshq = Val(Text1.Text)xa = Val(Text2.Text)ya = Val(Text3.Text)xb = Val(Text4.Text)yb = Val(Text5.Text) Picture1.Scale (-1, 10)-(10, -1) 定义坐标轴的大小Picture1.Line (0, 0)-(0, 10)Picture1.Line (10, 0)-(0, 0)Picture1.Line (10, 0)-(9.5, 0.5) 画出坐标系X

20、.Y方向的箭头Picture1.Line (10, 0)-(9.5, -0.5)Picture1.Line (0, 10)-(0.5, 9.5)Picture1.Line (0, 10)-(-0.5, 9.5)Picture1.Circle (1, 1), q, vbRed, 0, 3.141592 / 2 n = 2 * q fm = 0 x = xa - 1 y = ya - 1Picture1.CurrentX = xa Picture1.CurrentY = ya Do If fm = 0 Then Picture1.Line -Step(-1, 0) fm = fm - 2 * x + 1 x = x - 1 n = n - 1 Else Picture1.Line -Step(0, 1) fm = fm + 2 * y + 1 y = y + 1 n = n - 1 End If Loop While (n 0)End Sub 成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。课程设计成绩评定班级 姓名 学号 综合成绩: 指导教师签字 年 月 日

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

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