武汉理工大学《微型计算机控制技术》课程设计说明书
课程设计任务书
学生姓名: 石章玉
专业班级: 自动化 0602
指导教师:
周申培
工作单位: 自动化学院
题 目: 逐点比较插补原理的实现
初始条件:
设计一个计算机控制步进电机系统,该系统利用PC机的并口输出控制信号,其信号驱
动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补绘制出如下曲线。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等
具体要求)
1.设计硬件系统,画出电路原理框图;
2.定义步进电机转动的控制字;
3.推导出用逐点比较法插补绘制出下面曲线的算法;
4.编写算法控制程序,参数由键盘输入,显示器同时显示曲线;
5. 撰写设计说明书。课程设计说明书应包括:设计任务及要求;方案比较及认证;
系统滤波原理、硬件原理,电路图,采用器件的功能说明;软件思想,流程,源程序;调
试记录及结果分析;参考资料;附录:芯片资料,程序清单;总结。
时间安排:
6 月 22 日—6 月 23 日 查阅和准备相关技术资料,完成整体方案设计
6 月 24 日—6 月 25 日 完成硬件设计
6 月 26 日—6 月 27 日 编写调试程序
6 月 28 日—6 月 29 日 撰写课程设计说明书
6 月 30 日
提交课程设计说明书、图纸、电子文档
指导教师签名:
年
月 日
系主任(或责任教师)签名:
年
月 日
1
武汉理工大学《微型计算机控制技术》课程设计说明书
摘要
本文主要讨论利用逐点比较法实现第一象限的直线插补。所谓逐点比较插补,就是刀
具或绘图笔每走一步都要和给点轨迹上的坐标值进行比较,看这点在给点轨迹的上方还是
下方,从而决定下一步的进给方向。对于本设计所要求的直线轨迹,如果该点在直线的上
方,则控制步进电机向+X 方向进给一步,如果该点在直线的下方,那么控制步进电机向
+Y 轴方向进给一步。如此,走一步、看一看,比较一次,决定下一步的走向,以便逼近
给定轨迹,即形成逐点比较插补。
插补计算时,每走一步,都要进行以下四个步骤的计算过程,即偏差判别、坐标进给、
偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及
递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算
出坐标进给后的偏差,若未到达终点,则返回偏差判别,如此循环。可以根据起点和终点
的坐标位置,计算出总的进给步数 Nxy,X 或 Y 的坐标每进给一步,这个值就减一,若
Nxy=0,就到达了终点,这就是终点判别的方法。
关键词:逐点比较法、直线插补、步进电机、坐标进给、源程序。
2
武汉理工大学《微型计算机控制技术》课程设计说明书
目录
1 设计任务和要求................................................................................................................... 1
2 设计步骤................................................................................................................................. 1
2.1 硬件设计..........................................................................................................................1
2.1.1 接口示意图...........................................................................................................1
2.1.2 方案论证...............................................................................................................2
2.1.3 单片机与 8255 的接口.........................................................................................3
2.1.4 硬件接线原理图...................................................................................................3
2.1.5 元件清单...............................................................................................................4
2.2 软件设计..........................................................................................................................5
2.2.1 软件设计原理.......................................................................................................5
2.2.2 8255 的初始化编程...............................................................................................6
2.2.3 步进电机走步控制程序.......................................................................................7
2.2.4 主程序...................................................................................................................8
2.3 运行调试..........................................................................................................................9
2.3.1 系统安装调试.......................................................................................................9
2.3.2 结果验证...............................................................................................................9
3 课程设计体会...................................................................................................................... 10
参考文献.................................................................................................................................... 10
附录一 芯片资料....................................................................................................................11
附录二 源程序........................................................................................................................ 12
武汉理工大学《微型计算机控制技术》课程设计说明书
逐点比较插补原理的实现
1 设计任务和要求
设计一个微型计算机控制步进电机系统,该系统利用微型机的并口输出控制信号,其
信号驱动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补原理绘制出如下
图所示的目标曲线。
图 1 目标曲线
2 设计步骤
本设计大致可分为三个步骤:硬件设计、软件设计和系统的运行调试。
2.1 硬件设计
2.1.1 接口示意图
两台三相步进电机控制接口如图 2 所示。
图 2 系统接口示意图
1
武汉理工大学《微型计算机控制技术》课程设计说明书
2.1.2 方案论证
单片机的接口电路可以是锁存器,也可以是专门的接口芯片,本设计采用可编程接口
芯片 8255。由于步进电机需要的驱动电流比较大,所以单片机和步进电机的连接还要有驱
动电路,如何设计驱动电路成了问题的关键。设计方案一如图 3 所示,当某相上驱动信号
变为高电平时,达林顿管导通,从而使得该相通电。
图 3 驱动电路方案一
设计方案二如图 4 所示,在单片机与驱动器之间增加一级光电隔离,当驱动信号为高
电平时,发光二极管发光,光敏三极管导通,从而使达林顿管截止,该相不通电;当驱动
信号为低电平时,则步进电机的该相通电。
图 4 驱动电路方案二
综合比较两种设计方案可知,方案二有抗干扰能力,且可避免一旦驱动电路发生故障,
造成高电平信号进入单片机而烧毁器件。所以,本设计选择方案二。
2
武汉理工大学《微型计算机控制技术》课程设计说明书
2.1.3 单片机与 8255 的接口
MCS-51 单片机可以和 8255 直接连接而不需要任何外加逻辑器件,接口示意图如图 5
所示。因为 8255 的 B 口和 C 口具有驱动达林顿管的能力,所以将采用 B 口和 C 口输出驱
动信号。
图 5 单片机与 8255 的接口
2.1.4 硬件接线原理图
图 6 系统硬件接线原理图
3
武汉理工大学《微型计算机控制技术》课程设计说明书
单片机控制步进电机的硬件接线如图 6 所示。
因为 8255 的片选信号CS 接单片机的地址线 P2.7,A1、A0 通过地址锁存器接到了 8051
单片机的地址线 P0.1 和 P0.0,由硬件接线图可以清楚地知道,8255 的各口地址为:
A 口地址:7FFCH
B 口地址:7FFDH
C 口地址:7FFEH
控制口地址:7FFFH
同时,B 口和 C 口都作为输出口,8255 工作在方式 0。
下面以 8255 的 B 口输出端 PB0 为例说明控制的工作原理。若 PB0 输出 0,经反相器
74LS04 后变为高电平,发光二极管正向导通发光。在光线的驱动下,光敏三极管导通,
+5V 的电压经三极管引入地线而不驱动达林顿管。因而,达林顿管截止,X 轴上步进电机
的 C 相不通电。
若 PB0 输出 1,反相后变为低电平,发光二极管不导通。从而光敏三极管截止,+5V 电
压直接驱动达林顿管导通,X 轴上步进电机的 C 相有从电源流向地线的电流回路,即 C 相
得电。
2.1.5 元件清单
名称
单片机
地址锁存器
并行接口芯片
反相器
电阻
光电三极管
达林顿管
二极管
型号
8051
74LS373
8255A
74LS04
1K
4N25
NPN DAR
IN4001
数量
1
1
1
6
24
3
6
6
表 1 元件清单表
位号
——
——
——
——
R1—R24
U1—U3
Q1—Q6
D1—D6
4
武汉理工大学《微型计算机控制技术》课程设计说明书
2.2 软件设计
2.2.1 软件设计原理
2.2.1.1 直线插补原理
逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较
刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具
向减小偏差的方向进给。
图 7 第一象限直线
如图 7 所示,设直线的起点为坐标原点,终点坐标为 A( ex ,
ey ),点 m ( mx , my )为加
F
工点(动点)。定义偏差公式为 m
y x
m e
x y
m e
。
若 mF =0,表明点 m 在 OA 直线段上;若 mF >0,表明点 m 在 OA 直线段上方,即点 m’
处;若 mF <0, 表明点 m 在 OA 直线段下方,即点 m’’处。由此可得第一象限直线逐点比较
法插补的原理是:从直线的起点出发,当 mF 0 时,沿+x 轴方向走一步;当 mF <0 时,沿
+y 轴方向走一步;当两方向所走的步数与终点坐标( ex ,
ey )相等时,发出终点到信号,
停止插补。
可以将上面所定义的偏差公式进一步简化,推导出偏差的递推公式。
1 当 mF 0 时,沿+x 轴方向进给一步,
(
x
m
y x
m e
(1)
F
m
x
m
1)
y
y
1
1
1
m
e
e
e
y
y
x
e
F
m
②当 mF <0 时,沿+y 轴方向进给一步,
1)
x
e
F
m
x
m
x
e
y
y
y
1
1
1
(
m
e
m
x y
m e
F
m
x
e
(2)
式(1)和式(2)是简化后偏差的计算公式,在公式中只有一次加法或减法运算,新
加工点的偏差都可由前一点偏差和终点坐标相加或相减得到。
5