逐点比较法直线插补原理的实现

上传人:lis****210 文档编号:168288142 上传时间:2022-11-09 格式:DOCX 页数:26 大小:344.87KB
返回 下载 相关 举报
逐点比较法直线插补原理的实现_第1页
第1页 / 共26页
逐点比较法直线插补原理的实现_第2页
第2页 / 共26页
逐点比较法直线插补原理的实现_第3页
第3页 / 共26页
点击查看更多>>
资源描述
武汉理工大学华夏学院课程设计报告书题 目:系 名:专业班级:姓 名:学 号:指导教师:2011 年 6 月 14 日摘要本文主要讨论利用逐点比较法实现第一象限的直线插补。所谓逐点比较插补,就是刀 具或绘图笔每走一步都要和给点轨迹上的坐标值进行比较,看这点在给点轨迹的上方还是 下方,从而决定下一步的进给方向。对于本设计所要求的直线轨迹,如果该点在直线的上 方,贝V控制步进电机向+X方向进给一步,如果该点在直线的下方,那么控制步进电机向+Y 轴方向进给一步。如此,走一步、看一看,比较一次,决定下一步的走向,以便逼近给定 轨迹,即形成逐点比较插补。插补计算时,每走一步,都要进行以下四个步骤的计算过程,即偏差判别、坐标进给、 偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及 递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算 出坐标进给后的偏差,若未到达终点,贝返回偏差判别,如此循环。可以根据起点和终点 的坐标位置,计算出总的进给步数Nxy, X或Y的坐标每进给一步,这个值就减一,若Nxy=O, 就到达了终点,这就是终点判别的方法。设计任务及要求设计一个计算机控制步进电机系统,该系统利用PC机的并口输出控制信号,其信号驱 动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补绘制出各种曲线。1)设计硬件系统,画出电路原理框图;2)定义步进电机转动的控制字;3)推导出用逐点比较法插补绘制出下面曲线的算法;4)编写算法控制程序线;5)撰写设计说明书。每人选一个曲线,曲线均为第一象限,屏幕左下角为坐标原点,箭头表示曲线绘制的方向,直线参数为:起点、终点坐标。圆弧参数为:起点、终点坐标和半径。O目录1 设计任务和要求 12 设计步骤 12.1 硬件设计12.1.1 接口示意图 12.1.2 方案论证 22.1.3 单片机与 8255 的接口32.1.4 硬件接线原理图 32.1.5 元件清单 42.2 软件设计52.2.1 软件设计原理 52.2.2 8255 的初始化编程62.2.3 步进电机走步控制程序 72.2.4 主程序 82.3 运行调试92.3.1 系统安装调试 92.3.2 结果验证 93 课程设计体会 10参考文献 10附录一 芯片资料 11附录二 源程序 12逐点比较插补原理的实现1 设计任务和要求设计一个微型计算机控制步进电机系统,该系统利用微型机的并口输出控制信号,其信号驱动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补原理绘制出如下 图所示的目标曲线。2 设计步骤本设计大致可分为三个步骤:硬件设计、软件设计和系统的运行调试。2.1 硬件设计2.1.1 接口示意图两台三相步进电机控制接口如图 2 所示。X轴步址电机*轴少进电机PBO P61PB2S255PCOPC1PC2S051电躇駅心图 2 系统接口示意图2.1.2 方案论证单片机的接口电路可以是锁存器,也可以是专门的接口芯片,本设计采用可编程接口 芯片 8255。由于步进电机需要的驱动电流比较大,所以单片机和步进电机的连接还要有驱 动电路,如何设计驱动电路成了问题的关键。设计方案一如图3 所示,当某相上驱动信号 变为高电平时,达林顿管导通,从而使得该相通电。图 3 驱动电路方案一设计方案二如图 4 所示,在单片机与驱动器之间增加一级光电隔离,当驱动信号为高 电平时,发光二极管发光,光敏三极管导通,从而使达林顿管截止,该相不通电;当驱动 信号为低电平时,则步进电机的该相通电。图 4 驱动电路方案二综合比较两种设计方案可知,方案二有抗干扰能力,且可避免一旦驱动电路发生故障, 造成高电平信号进入单片机而烧毁器件。所以,本设计选择方案二。2.1.3 单片机与8255的接口MCS-51单片机可以和8255直接连接而不需要任何外加逻辑器件,接口示意图如图5 所示。因为8255的B 口和C 口具有驱动达林顿管的能力,所以将采用B 口和C 口输出驱 动信号。图5单片机与8255的接口2.1.4 硬件接线原理图图 6 系统硬件接线原理图 单片机控制步进电机的硬件接线如图 6所示。因为8255的片选信号CT接单片机的地址线P2.7, Al、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,反相后变为低电平,发光二极管不导通。从而光敏三极管截止,+5V电 压直接驱动达林顿管导通,X轴上步进电机的C相有从电源流向地线的电流回路,即C相 得电。2.1.5 元件清单表1 元件清单表名称单片机地址锁存器并行接口芯片反相器电阻光电三极管达林顿管二极管位号R1R24U1U3Q1Q6D1D6数量805174LS3738255A74LS041K244N25NPN DARIN40012.2 软件设计2.2.1 软件设计原理2.2.1.1 直线插补原理逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较 刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具 向减小偏差的方向进给。图 7 第一象限直线如图 7 所示,设直线的起点为坐标原点,终点坐标为 A( x , y ),点 m ( x , y )为加 e e m m工点(动点)。定义偏差公式为F二y x -x y。m m e m e若F =0,表明点m在OA直线段上;若F 0,表明点m在OA直线段上方,即点m处; mm若F 0时,沿+x轴方向走一步;当F 0时,沿+x轴方向进给一步,1)2)mF 二 y x - x y 二 y x - (x +1) y 二 F - y m+1m+1 em+1 emememe 当F 0时,沿+y轴方向进给一步,mF 二 y x - x y 二(y + 1)x - x y 二 F + x m +1m +1 em +1 eme m em e式(1)和式(2)是简化后偏差的计算公式,在公式中只有一次加法或减法运算,新 加工点的偏差都可由前一点偏差和终点坐标相加或相减得到。2.2.1.2 步进电机工作原理步进电机有三相、四相、五相、六相等多种,本设计采用三相步进电机的三相六拍工 作方式,其通电顺序为A T AB T B T BC T C T CA T A T各相通电的电压波形如图 8 所示。图8三相六拍工作的电压波形当步进电机的相数和控制方式确定之后,PB0PB2和PC0PC2输出数据变化的规律 就确定了,这种输出数据变化规律可用输出字来描述。为了便于寻找,输出字以表的形式 存放在计算机指定的存储区域。表2给出了三相六拍控制方式的输出字表。表2三相六拍控制方式输出字表步序控制位工作状态控制字表C相B相A相1001A01H2011AB03H3010B02H4110BC06H5100C04H6101CA05H2.2.2 8255的初始化编程由前面的分析知道,8255工作在方式0,控制口地址为7FFFH,控制字为90H。所以,8255的初始化编程如下。MOVDPTR, #7FFFH;控制口地址送DPTRMOVA, #90H;控制字送寄存器AMOVXDPTR, A;将控制字写入控制口2.2.3 步进电机走步控制程序2.2.3.1程序流程图图9步进电机走步控制程序流程图2.2.3.2汇编程序代码以下为X轴上电机的步进控制算法,Y轴上步进电机算法类似。XCOTROL: MOV DPTR, #ADXMOV A, R2MOVC A, A+DPTRMOV DPTR, #7FFDHMOVX DPTR, ACJNE;将控制字表地址赋给DPTH;表首偏移量送A;读取当前步进电机的控制字;PB 口地址送DPTR;将步进电机的控制字传送到PB 口A, #05H, L00P3;若到表尾,转LOOP3INC R2SJMP DELAY1;未到表尾,表首偏移量加1LOOP3: MOV R2, #00H;表首偏移量清零SJMP DELAY1;延时DELAY1: MOV R0, #FFHDJNZ DELAY1RET;返回2.2.4 主程序2.2.4.1 主程序流程图图10主程序流程图2.2.4.2 源程序代码FM:首先分配各变量的地址为,NXY: 4FH, 50H; XE: 4DH, 4EH; YE: 4BH, 4CH;49H,4AH,高位存高地址,地位存进低地址。源程序代码见附录二。2.3 运行调试2.3.1 系统安装调试按照硬件接线图将系统安装好后,装入程序,执行后查看步进电机的走步轨迹2.3.2 结果验证若终点坐标( x , y )为(4,3),插补计算过程如表 3 所示。ee表 3 直线插补计算过程步数起点1偏差判别坐标进给偏差计算终点判别F0F1F2+X+Y+XF3F4F5F6+Y+X+Y+XF =00F=03=3F =-3+4=12F =1-3=-23F =-2+4=24F =2-3=-15F =-1+4=36F =3-3=07N =7xyN =6xyN =5xyN =4xyN =3xyN =2xyN =1xyN =0xy根据上表,可作出步进电机的走步轨迹如图 11 所示。若输入的参数为 XE=4,YE=3,系统走步轨迹与下图比较,可判断出设计的正确性。图 11 步进电机走步轨迹3 课程设计体会通过一个多星期的课程设计,我对这门课有了进一步的了解。学习过程中在老师的耐 心指导下,有意识的培养和建立了我的思维能力,使我真正建立数据及信息流的概念,以 便在控制应用中,能够使软件和硬件有机地结合。通过单片机对步进电机的控制系统设计, 让我真正的掌握了微型计算机软件和硬件相结合的设计方法。工业控制是计算机的一个重要应用领域,计算机控制正是为了适应这一领域的需要而 发展起来的一门专门技术,它主要研究如何将计算机技术和自动控制理论应用于工业生产 过程,并设计出所需要的计算机控制系统。而当代,随着微型计算机的高度发展。它的应用在人们的工作和日常生活中越来越普 遍了。工业过程控制是计算机的一个重要应用领域。现在可以好不夸张的说,没有微型计 算机的仪器不能乘为先进的仪器,没有微型计算机的控制系统不能称其为现代控制系统的 时代已经到来。微型计算控制技术正为了适应这一领域的需要而发展起来的一门技术。绝 大多数自动控制都是使用计算机来实现的;微型计算机控制技术的发展,使得以微型计算 机为控制器核心的微机测控装置与系统,渗透到了国民经济的各行各业,已经无时无处不 在影响每个现代人的生活。只有态度认真的对待这门学科才能真正掌握其中的精髓,在将 来的工作中或许起着至关重要的作用。参考文献1 贺亚茹.汇编语言程序设计.北京:科学出版社,20052 卜艳萍、周伟.汇编语言程序设计教程.北京:清华大学出版社,20043 温玉杰.In tel汇编语言程序设计(第四版)北京:电子工业出版社,20044 郑学坚、周斌.微型计算机原理与应用.北京:清华大学出版社,20005 于海生.微型计算机控制技术.北京:清华大学出版社,19986 沈美明、温冬婵.IBM-PC汇编语言程序设计.北京:清华大学出版社,20027 何立民.单片机应用系统设计.北京:北京航空航天大学出版社,2003附录一 芯片资料Fk UFl. 1PI. 2I31, 3I3L 4II 5I3L 67KSIAfu13, WKXDP3. 1/TXDP3. 2/lKTOP3. 3/INT1?3. 4/1UP3. 5/T_P3. 6.-w71乜-7/而XI AUVsstz匸I13141617181920403P383736353433323150292827262524232221su.G.auuuduEa/Vpf_ALE/PROGFseRF2. 7P2. 6I 2 512. 4P2. g12. 2P2 i12. (J 1io , i2 393 384 3?5 366 357 348 3310睨55A器11 3012 2913 28 二A三 -4_9 二 一 Y_ V_14 2715 2616 2517 2418 2319 2220 21Y_图11 8051单片机引脚图4 5-6- 7- V2 c 7 6 5 4 3 A A A A _rFE 01 2 34567 CB B B B B p p p PWR D D D D D D D D p p p p p3 2 1 ODSD 107 6 510123012 PAPAPAPA就csgna apcpcpcpcpcpcpcpcpbpbpb图12可编程芯片8255A引脚图附录二源程序ORG0100HMOVDPTR, #7FFFH;控制口地址送DPTRMOVA, #90H;控制字送寄存器AMOVXDPTR, A;将控制字写入控制口,初始化8255MOV4EH, ?;XE的低8位存入4EHMOV4DH, ?;XE的高8位存入4DHMOV4CH, ?;YE的低8位存入4CHMOV4BH, ?;YE的高8位存入4BHMOVA, 4EHADDA, 4CH;XE与YE低8位相加MOV50H, A;低位之和存入NXY低8位MOVA, 4DHADDCA, 4BH;XE与YE的高8位带进位相加MOV4FH, A;和存入NXY高8位MOV4AH, #00H;将卩皿置零MOV49H, #00HCLRR2;表ADX偏移量清零CLRR3;表ADY偏移量清零LOOP1: MOV A, 49H;取偏差的高8位JB ACC.7, YCONTROL;若 FMO,转到 YCONTROLACALL XCONTROL;否则,调 XCONTROLCLRC;进位寄存器清零MOVA, 4AHSUBB A, 4CH;FM与YE的低8位相减MOV 4AH, A;结果存入FM低8位MOV A, 49HSUBB A, 4BH;FM与YE的高8位相减MOV 49H, A;结果存入FM高8位LOOP2: CLR CMOV A, 50HSUBB A, #01H;NXY低位值减1MOV 50H, A;结果存入NXY的低位MOV A, 4FHSUBB A, #00H;考虑低位字节借位MOV 4FH, A;减去借位后存入NXY的高位ORL A, 50H;判断NXY是否为零JNZ LOOP1;不为零则转到L00P1LJMP 8000HXCOTROL: MOV DPTR, #ADX将控制字表地址赋给DPTHMOV A, R2;表首偏移量送AMOVC A, A+DPTR;读取当前步进电机的控制字MOV DPTR, #7FFDH;PB 口地址送DPTRMOVX DPTR, A;将步进电机的控制字传送到PBCJNE A, #05H, LOOP3;若到表尾,转LOOP3INC R2;未到表尾,表首偏移量加1SJMP DELAY1LOOP3: MOV R2, #00H;表首偏移量清零SJMP DELAY1DELAY1: MOV R0, #FFH ;延时LOOP4: MOVR3, #00HDELAY2;表首偏移量清零SJMPDELAY2: MOVR0, #FFH;延时DJNZDELAY2CLRC;进位寄存器清零MOVA, 4AHADDA, 4EH;FM与XE低8位相加MOV4AH, A;结果存入FM低位MOVA, 49HADDCA, 4DH;FM与XE高8位带进位相加MOV49H, A;结果存入FM高8位SJMPLOOP2;无条件转到LOOP2DJNZ DELAY1RETYCOTROL: MOV DPTR, #ADYMOV A, R3MOVC A, A+DPTRMOV DPTR, #7FFEHMOVX DPTR, ACJNE A, #05H, LOOP4INC R3SJMP DELAY2;返回;将控制字表地址赋给DPTH;ADY表首偏移量送A;读取当前步进电机的控制字;PC 口地址送DPTR;将步进电机的控制字传送到PC 口;若到表尾,转L00P4;未到表尾,表首偏移量加1ORG 8000HEND;程序结束DB 03HDB 02HDB 06HDB 04HDB 05HADY: DB 01H; Y轴步进电机控制字表DB 03HDB 02HDB 06HDB 04HDB 05H本科生课程设计成绩评定表姓名学号专业、班级课程设计题目:逐点比较插补原理的实现课程设计质疑记录:成绩评定依据:态度认真,组织纪律性好(20分)设计说明书文理通顺,工整(10 分)设计方案合理,论证充分(20 分)设计资料齐全,格式规范(10 分)独立完成任务,无原理性错误(20 分)答辩(20分)总分:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!