课程设计报告逐点比较法直线插补原理的实现_第1页
课程设计报告逐点比较法直线插补原理的实现_第2页
课程设计报告逐点比较法直线插补原理的实现_第3页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

1、武汉理工大学华夏学院课程设计报告书题 目:系 名:专业班级:姓 名:学 号:指导教师:2011 年_6月 14 日摘要本文主要讨论利用逐点比较法实现第一象限的直线插补。所谓逐点比较插补,就是刀 具或绘图笔每走一步都要和给点轨迹上的坐标值进行比较,看这点在给点轨迹的上方还是 下方,从而决定下一步的进给方向。对于本设计所要求的直线轨迹,如果该点在直线的上 方,则控制步进电机向 +X 方向进给一步,如果该点在直线的下方,那么控制步进电机向 +Y 轴方向进给一步。如此,走一步、看一看,比较一次,决定下一步的走向,以便逼近给定 轨迹,即形成逐点比较插补。插补计算时, 每走一步,都要进行以下四个步骤的计算

2、过程, 即偏差判别、 坐标进给、 偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及 递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算 出坐标进给后的偏差,若未到达终点,则返回偏差判别,如此循环。可以根据起点和终点 的坐标位置,计算出总的进给步数Nxy,X或丫的坐标每进给一步,这个值就减一,若Nxy=O, 就到达了终点,这就是终点判别的方法。设计任务及要求设计一个计算机控制步进电机系统,该系统利用 PO的并口输出控制信号,其信号驱 动后控制X、丫两个方向的三相步进电机转动,利用逐点比较法插补绘制出各种曲线。1)设计硬件系统,画出电路原理

3、框图;2)定义步进电机转动的控制字;3)推导出用逐点比较法插补绘制出下面曲线的算法;4)编写算法控制程序线;5)撰写设计说明书。每人选一个曲线,曲线均为第一象限,屏幕左下角为坐标原点,箭头表示曲线绘制的方向,直线参数为:起点、终点坐标。圆弧参数为:起点、终点坐标和半径jl 丫直线四O目录1 设计任务和要求 42 设计步骤 42.1 硬件设计 . 42.1.1 接口示意图 . 42.1.2 方案论证 . 52.1.3 单片机与 8255的接口. 62.1.4 硬件接线原理图 . 62.1.5 元件清单 . 72.2 软件设计 . 82.2.1 软件设计原理 . 82.2.2 8255 的初始化编

4、程 92.2.3 步进电机走步控制程序. 102.2.4 主程序 . 112.3 运行调试 . 122.3.1 系统安装调试 . 122.3.2 结果验证 . 123 课程设计体会 13参考文献 14附录一 芯片资料 15附录二 源程序. 16逐点比较插补原理的实现1设计任务和要求设计一个微型计算机控制步进电机系统,该系统利用微型机的并口输出控制信号,其 信号驱动后控制X、丫两个方向的三相步进电机转动,利用逐点比较法插补原理绘制出如下图所示的目标曲线2设计步骤本设计大致可分为三个步骤:硬件设计、软件设计和系统的运行调试2.1硬件设计接口示意图两台三相步进电机控制接口如图2所示。>1KPB

5、0 FBIPB2_1i8051J:8255PC0PC1PC211图2系统接口示意图x轴寿HE电机¥规步进电机电路方案论证单片机的接口电路可以是锁存器,也可以是专门的接口芯片,本设计采用可编程接口 芯片8255。由于步进电机需要的驱动电流比较大, 所以单片机和步进电机的连接还要有驱 动电路,如何设计驱动电路成了问题的关键。设计方案一如图3所示,当某相上驱动信号变为高电平时,达林顿管导通,从而使得该相通电。图3驱动电路方案一设计方案二如图4所示,在单片机与驱动器之间增加一级光电隔离,当驱动信号为高 电平时,发光二极管发光,光敏三极管导通,从而使达林顿管截止,该相不通电;当驱动 信号为低电

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

7、信号CS接单片机的地址线P2.7,A1、A0通过地址锁存器接到了 8051 单片机的地址线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,反相后变为低电平,

8、发光二极管不导通。从而光敏三极管截止,+5V电 压直接驱动达林顿管导通,X轴上步进电机的C相有从电源流向地线的电流回路,即 C相 得电。元件清单表1兀件清单表名称位号型号数量单片机80511地址锁存器74LS3731并行接口芯片8255A1反相器74LS046电阻R1 R241K24光电三极管U1 U34N253达林顿管QQ6NPN DAR6二极管D1 D6IN400162.2软件设计221软件设计原理直线插补原理逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较 刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具图7第一象限直

9、线如图7所示,设直线的起点为坐标原点,终点坐标为 A( Xe, y),点m(Xm, ym)为加 工点(动点)。定义偏差公式为 Fm ymXe XmYe。若Fm=O,表明点m在0A直线段上;若Fm>0,表明点m在0A直线段上方,即点m 处;若Fm<0,表明点m在0A直线段下方,即点m '处。由此可得第一象限直线逐点比较法 插补的原理是:从直线的起点出发,当 Fm 0时,沿+X轴方向走一步;当Fm<0时,沿+y轴方向走一步;当两方向所走的步数与终点坐标( Xe , ye )相等时,发出终点到信号,停 止插补。可以将上面所定义的偏差公式进一步简化,推导出偏差的递推公式。当F

10、m 0时,沿+X轴方向进给一步,ym 1XeXmeymXe (Xm 1) ye Fm ye(1)当Fm<0时,沿+y轴方向进给一步,ym 1XeXme(ym 1)Xe XmyeFmXe(2)式(1)和式(2)是简化后偏差的计算公式,在公式中只有一次加法或减法运算,新 加工点的偏差都可由前一点偏差和终点坐标相加或相减得到221.2 步进电机工作原理步进电机有三相、四相、五相、六相等多种,本设计米用三相步进电机的三相六拍工 作方式,其通电顺序为A AB B BC C CA A 各相通电的电压波形如图8所示。A 相 _J|B 相 I |C 柑 |_图8三相六拍工作的电压波形当步进电机的相数和控

11、制方式确定之后,PB0- PB2和PC0-PC2输出数据变化的规律 就确定了,这种输出数据变化规律可用输出字来描述。为了便于寻找,输出字以表的形式 存放在计算机指定的存储区域。表 2给出了三相六拍控制方式的输出字表。表2三相六拍控制方式输出字表步序控制位工作状态控制字表C相B相A相1001A01H2011AB03H3010B02H4110BC06H5100C04H6101CA05H2.2.2 8255的初始化编程由前面的分析知道,8255工作在方式0,控制口地址为7FFFH,控制字为90耳 所以,8255的初始化编程如下。MOV DPTR, #7FFFHMOV A, #90HMOVX DPTR

12、, A;控制口地址送DPTR;控制字送寄存器A;将控制字写入控制口223步进电机走步控制程序程序流程图图9步进电机走步控制程序流程图2.232 汇编程序代码以下为X轴上电机的步进控制算法,XCOTROL: MOV DPTR, #ADXMOV A, R2MOVC A, A+DPTRMOV DPTR, #7FFDHMOVX DPTR, ACJNE A, #05H, LOOP3INC R2丫轴上步进电机算法类似。;将控制字表地址赋给DPTH;表首偏移量送A;读取当前步进电机的控制字;PB 口地址送DPTR;将步进电机的控制字传送到 PB 口;若到表尾,转LOOP3;未到表尾,表首偏移量

13、加1SJMP DELAY1;表首偏移量清零;返回图10主程序流程图L00P3: MOV R2, #00HSJMP DELAY1DELAY1: MOV R0, #FFHDJNZ DELAY1RET主程序2.241主程序流程图 源程序代码首先分配各变量的地址为 ,NXY: 4FH, 50H; XE: 4DH, 4EH; YE: 4BH, 4CH; FM: 49H,4AH,高位存高地址,地位存进低地址。源程序代码见附录二2.3运行调试系统安装调试按照硬件接线图将系统安装好后,装入程序,执行后查看步进电机的走步轨迹。232结果验证若终点坐标(Xe, y )为(4,3),插补计算过程如表3

14、所示表3直线插补计算过程步数偏差判别坐标进给偏差计算终点判别起点Fo=ONxy =71Fo+XF1 =0-3=-3N xy =62F1+YF2 =-3+4=1Nxy =53F2+XF3 =1-3=-2Nxy =44F3+YF4 =-2+4=2Nxy =35F4+XF5=2-3=-1N xy =26F5+YF6 =-1+4=3N xy =17Fe+XF7 =3-3=0Nxy =0根据上表,可作出步进电机的走步轨迹如图11所示。若输入的参数为XE=4 YE=3系统走步轨迹与下图比较,可判断出设计的正确性。图11步进电机走步轨迹3 课程设计体会通过一个多星期的课程设计,我对这门课有了进一步的了解。学

15、习过程中在老师的耐 心指导下,有意识的培养和建立了我的思维能力,使我真正建立数据及信息流的概念,以 便在控制应用中, 能够使软件和硬件有机地结合。 通过单片机对步进电机的控制系统设计, 让我真正的掌握了微型计算机软件和硬件相结合的设计方法。工业控制是计算机的一个重要应用领域,计算机控制正是为了适应这一领域的需要而 发展起来的一门专门技术,它主要研究如何将计算机技术和自动控制理论应用于工业生产 过程,并设计出所需要的计算机控制系统。而当代,随着微型计算机的高度发展。它的应用在人们的工作和日常生活中越来越普 遍了。工业过程控制是计算机的一个重要应用领域。现在可以好不夸张的说,没有微型计 算机的仪器

16、不能乘为先进的仪器,没有微型计算机的控制系统不能称其为现代控制系统的 时代已经到来。微型计算控制技术正为了适应这一领域的需要而发展起来的一门技术。绝 大多数自动控制都是使用计算机来实现的;微型计算机控制技术的发展,使得以微型计算 机为控制器核心的微机测控装置与系统,渗透到了国民经济的各行各业,已经无时无处不 在影响每个现代人的生活。只有态度认真的对待这门学科才能真正掌握其中的精髓,在将 来的工作中或许起着至关重要的作用。参考文献1 贺亚茹.汇编语言程序设计 .北京:科学出版社 ,20052 卜艳萍、周伟 . 汇编语言程序设计教程 .北京: 清华大学出版社 ,20043 温玉杰.Intel汇编语

17、言程序设计(第四版).北京:电子工业出版社,20044 郑学坚、周斌.微型计算机原理与应用 .北京:清华大学出版社 ,20005 于海生.微型计算机控制技术 .北京:清华大学出版社 ,19986 沈美明、温冬婵.IBM-PC汇编语言程序设计.北京:清华大学出版社,20027 何立民.单片机应用系统设计 .北京:北京航空航天大学出版社 ,2003附录一芯片资料PL 0匚1 V/ 40n VccPl. 1匚2 J'30二 PiJ 0P1. 2C338IPL 3C437 10 2PL 4匚536 IU 3FL 5匸635 1U 4PL6匸734z> IU 5PL 7匸833n IU 6

18、RST/VfI)C932 10 713 O/KXL)1031=EA/1/1AD匚1130 An./PKIJL.P3. 2/IKT0匸122913 3/1N11U1328n7P3. 4/1X)c1427 P2. 6卩 3 5/T1c1526o 1也5P3, 6/WR匚1625=» P2 1卩3. 7/IWU1724 P2. 3匸1823P2. 2LI 1U1979 12 1c2021 PZ 0图11 8051单片机引脚图WRRESETDo 比比VCC(+5V)P®PB6P企 pb4 p®三三三三三三二5 4 3 2 10 93 3 3 3 3 3 25A5Z812

19、3 4 5O 111 113 4 5611 fl Is fl7 8 9 011 11 UL OA3 2 1 O_-Ds D Io?fi 54ol23ol2- PAPAPAPA就 lgna apcpcpcpcpcpcpcpcpbpbpb图12可编程芯片8255A引脚图附录二 源程序ORG0100HMOVDPTR, #7FFFHMOVA, #90HMOVX DPTR, AMOV4EH, ?MOV4DH, ?MOV4CH, ?MOV4BH, ?MOVA, 4EHADDA, 4CHMOV50H, AMOVA, 4DHADDCA, 4BHMOV4FH, AMOV4AH, #00HMOV49H, #00H

20、CLRR2CLRR3;控制口地址送 DPTR;控制字送寄存器 A ;将控制字写入控制口,初始化 8255;XE的低8位存入4EH; XE 的高 8 位存入 4DH; YE 的低 8 位存入 4CH; YE 的高 8 位存入 4BH;XE与YE低8位相力口;低位之和存入NXY低8位;XE与YE的高8位带进位相加;和存入NXY高8位;将FM置零;表ADX偏移量清零;表ADY偏移量清零LOOP1: MOV A, 49H;取偏差的高 8 位JB ACC.7, YCONTROL;若 FM<0 转至U YCONTROLACALL XCONTROL;否则,调 XCONTROLCLR CMOV A, 4

21、AHSUBB A, 4CHMOV 4AH, AMOV A, 49H;进位寄存器清零;FM与 YE的低8位相减;结果存入FM低8位;FM与 YE的高8位相减;结果存入FM高8位SUBB A, 4BHMOV 49H, ALOOP2: CLR CMOV A, 50HSUBB A, #01HMOV 50H, AMOV A, 4FHSUBB A, #00HMOV 4FH, AORL A, 50HJNZ LOOP1LJMP 8000HXCOTROL: MOV DPTR, #ADXMOV A, R2MOVC A, A+DPTRMOV DPTR, #7FFDH MOVX DPTR, ACJNE A, #05H, LOOP3 INC R2SJMP DELAY1LOOP3: MOV R2, #00HSJMP DELAY1DELAY1: MOV R0, #FFHDJNZ DELAY1;NXY低位值减1;结果存入NXY的低位;考虑低位字节借位;减去借位后存入 NXY的高位;判断NXY是否为零;不为零则转到 LOOP1;将控制字表地址赋给 DPTH;表首偏移量送 A;读取当前步进电机的控制字; PB 口地址送 DPTR;将步进电机的控制字传送到 PB 口

温馨提示

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

评论

0/150

提交评论