《微型计算机控制技术》课程设计报告课题名称:逐点比较插补原理的实现姓名:章洪高班级:自动化2班学号:201320150211指导老师:徐猛华东华理工大学机械与电子工程学院2016年6月目录1设计任务及要求 (1)2方案设计及认证 (1)3硬件设计原理 (2)3.1硬件结构 (2)3.2硬件电路图 (4)3.3硬件原理 (5)4软件系统 (7)4.1软件思想 (7)4.2流程图 (8)4.3源程序 (10)5调试记录及结果分析 (10)5.1仿真界面设置 (10)5.2调试记录 (10)5.3结果分析 (12)6心得体会 (13)7参考资料 (14)附录: (14)1设计任务及要求设计一个计算机控制步进电机系统,该系统利用单片机的I/O口输出控制信号,其信号驱动控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补绘制出如下曲线。
图1-1 第一象限逆圆弧课程设计的主要任务:1)在显示器上显示任意四位十进制数;a、定义键盘按键:10个为数字键0~9;6个功能键:设置SET、清零CLR、确认、开始START、暂停、停止;b、显示器上第一位显示次数,后三位显示每次行走的角度;c、通过键盘的按键,设置X、Y轴插补的起始值;按START键启动步进电机开始转动,按SET键进行数据设置、按CLR键清零。
2)设计硬件系统,画出电路原理框图(要求规范);3)定义步进电机转动的控制字;(不设计步进电机驱动电路与驱动程序)。
4)推导出用逐点比较法插补绘制出下面曲线的算法;5)编写算法控制程序线;6)撰写设计说明书。
2方案设计及认证本次课程设计内容为设计一个单片机控制步进电机系统,该系统利用单片机的I/O口输出控制信号,其信号驱动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补绘制出第一象限逆圆弧。
第一象限逆弧如图2-1所示。
图2-1 第一象限逆圆弧针对以上设计要求,采用单片机控制步进电机进行逐步逼近插补。
硬件方面,在显示器上显示任意四位数,可采用LCD1602显示,第一位显示次数,即在插补过程中每走一步步数加1在第一位显示出来10个数字键采用矩阵键盘,用矩阵键盘扫描的方式判断哪个键按下,以此来设定X,Y的初始坐标。
用独立键盘做其功能键,K1用作设置初始坐标,K2坐标清零,K3插补启动,K4插补暂停,K5停止。
主控制器采用STC90单片机做控制,硬件简单,控制方便。
插补算法-逐点比较法是以阶梯折线来逼近直线或圆弧等曲线,它与规定的加工直线或圆弧之间的最大误差为一个脉冲当量,因此只要把脉冲当量(每走一步的距离即步长)取得足够小,就可以达到精度的要求。
以下为课程设计要求插补的第一象限逆圆弧。
图2-1为第一象限逆圆弧。
单片机程序软件的设计主要有矩阵键盘和独立键盘扫描程序的设计,人机交互界面采用1602液晶做菜单显示器,设计到显示菜单程序的编写。
调试及其结果分析,其中包括界面设置,调试记录以及结果分析三个方面,对软件程序进行调试和完善,实现步进电机插补原理。
3硬件设计原理3.1硬件结构步进电机通过51单片机进行控制,进而进行数模转换,由伺服电机驱动电路驱动伺服电机,带动工作台进行逐步比较插补,逐步逼近给定轨迹。
流程如图3.1所示。
图3-1 开环数字程序控制随着集成电路技术的发展,开环数字程序控制得到了广泛的应用,如各类数控机床、线切割机低速小型数字绘图仪等,它们都是利用开环数字程序控制原理实现控制的设备。
其结构亦如图3-1所示。
这种结构没有反馈检测元件,工作台由步进电机驱动。
步进电机接收驱动电路发来的指令作相应的运动,把刀具移动到与指令脉冲相当的位置,至于刀具是否到达了指令脉冲规定的位置,它不作任何检查,因此这种控制的可靠性和精度基本上由步进电机和传动装置来决定。
图3-2为两台三相步进电机控制接口示意图,选定由单片机的P2.0、P2.1、P2.2通过驱动电路来控制x轴步进电机,由P2.3、P2.4、P2.5通过驱动电路来控制y轴步进电机,并假定数据输出为“1”时,相应的绕组通电;数据输出为“0”时,相应绕组断电。
图3-2 两台三相步进电机控制接口示意图步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
以下为步进电机三相六拍工作方式,其输出字表如表3-1。
表3-1步进电机三相六拍工作方式输出字表3.2硬件电路图图3-3硬件电路原理图3.3硬件原理本次课程设计内容为设计一个51单片机控制步进电机系统,该系统利用单片机机的I/O口输出控制信号,其信号驱动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补绘制出第一象限逆圆弧。
、逐点比较法是以阶梯折线来逼近直线或圆弧等曲线,它与规定的加工直线或圆弧之间的最大误差为一个脉冲当量,因此只要把脉冲当量(每走一步的距离即步长)取得足够小,就可以达到精度的要求。
以下为课程设计要求插补的第一象限逆圆弧。
图3-4为第一象限逆圆弧。
图3-4 第一象限逆圆弧以下就以第一象限为例进行分析。
(1)偏差计算公式设要加工逆圆弧AB,圆心在原点,起点坐标A(x0,Y0),终点坐标(xe,Ye),半径R。
瞬时加工点M(xm,Ym),它距圆心Rm,则可用R与Rm来反映偏差。
由图3-2可知:由此定义偏差公式为:若Fm=0,M点在圆弧上;若Fm>0,M点在圆弧外;若Fm<0,M点在圆弧内。
222YmXmRm+=222YoXoR+=22222RYmXmRRmFm-+=-=第一象限逆圆弧的插补原理是:从圆弧起点出发,若Fm>=0,沿-X方向走一步,并计算新偏差;当Fm<0时,沿+Y方向走一步,并计算新偏差。
如此一步一步计算与进给,并在到达终点时停止计算。
但以上Fm计算式比较复杂,可以考虑用递推公式:(Xm和Ym均取绝对值运算)①当Fm≥0时,Xm+1=Xm-1Ym+1=YmFm+1=Fm-2Xm+1②当Fm<0时,Xm+1=XmYm+1=Ym+1Fm+1=Fm+2Ym+1(2)终点判断方法①设置Nx,NY两个计数器,初值设为|Xe-Xo|,|Ye-Yo|在不同的坐标轴进给时对应的计数器减一,两个计数器均减到零时,到达终点。
②用一个计数器NxY ,初值设为Nx+NY,无论在哪个坐标轴进给,Nxy 计数器减一,计数器减到零时,到达终点。
(3) 插补计算过程圆弧插补计算比直线插补计算过程要多一个环节,即要计算加工瞬时坐标。
故圆弧插补计算为五个步骤即偏差判断、坐标进给、偏差计算、坐标计算、终点判断。
通过以上的分析计算,可以得出以下四个象限的顺圆弧(SR)和逆圆弧(NR)的圆弧插补计算公式和进给方向。
其插补进算公式及其进给方向如表3-2所示。
表3-2 圆弧插补计算公式和进给方向由于本次课程设计的设计要求为第一象限逆圆弧,以逆圆弧为例分析,通过以上计算结果分析,通过绘图,的出相应四个象限圆弧插补的对称关系。
以下为四个象限圆弧插补的对称关系,当Fm大于等于零或者小于零时,分别对应的偏差判别,偏差计算,进给方向,坐标计算等等。
以下为根据表3-2得出的相应四个象限的插补对应关系,从图中可以推出其对应的具体进给方向,如图3-4所示。
图3-5 四个象限逆圆弧插补的对称关系4软件系统4.1软件思想本次课程设计圆弧插补控制系统实时调试采用51单片机做主控制器,使用矩阵键盘、独立键盘和1602液晶达到人机交互、坐标输入和插补信息实时显示的目的,软件的设计制作包括如下几方面:1.矩阵键盘扫描和键值显示函数2.独立键盘扫描和坐标设置及插补信息显示菜单函数3.插补计算函数。
4.步进电机驱动运行函数。
4.2流程图主程序的流程图如下:按键子程序如下:图3-6 下位机调试软件设计流程图4.3源程序如附录所示5调试记录及结果分析5.1硬件调试界面设置1602液晶显示界面设置KEY1按键设置起始点坐标,KEY2清零起始点坐标和键值。
图5-1 坐标输入界面设置5.2调试记录插补过程信息显示调试实验说明: KEY1按键设置起始点坐标,KEY2清零起始点坐标和键值,KEY3插补开始按键,KEY4插补暂停,KEY5插补停止。
5.3结果分析通过以上界面设置,通过相应参数输入,首先进行起点坐标输入,包括起点x 轴坐标输入及其y 轴坐标输入,进而进行终点坐标输入,其中包括终点x 轴坐标输入及其y 轴坐标输入。
进而进行圆弧插补计算并显示进给方向。
以上图5-2所示步进电机插补过程调试,在插补中实现起点坐标为(2 ,1),终点坐标为(2 ,5)的圆弧插补。
最终经1602液晶屏显示插补信息得,进给方向依次为+Y ,+X,+X,+Y ,+Y ,-X,+Y ,-X 。
下面再理论分析进给方向是否正确:根据步进电机插补原理,偏差判别是为:该圆弧为第一象限圆弧,第一象限圆弧插补Fm 判别式,有如下关系:1.当Fm ≥0时,Xm+1=Xm-1Ym+1=Ym Fm+1=Fm-2Xm+12.当Fm <0时,Xm+1=XmYm+1=Ym+1 Fm+1=Fm+2Ym+1由起点及其终点,可得终点判断Nxy=8,另外令圆心(2 ,3)为新建坐标系原点,可得一下圆弧插补过程,如表5-1所示。
表5-1 圆弧插补计算过程22222R Ym Xm R Rm Fm -+=-=根据以上圆弧插补过程和进给方向,可知单片机实现的圆弧插补控制系统实现了完整并且正确的圆弧插补过程。
6心得体会微机控制原理技术是一门综合性的课程,任何一个计算机系统都是一个复杂的整体,学习微机控制原理是要涉及到整体的每一部分。
通过讨论其控制原理时又要涉及到各部件之间控制的工作原理,不仅较深入理解计算机控制的工作原理。
所以,在循序渐进的课堂教学过程中,我有时候会处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微机基本原理的同时,必须学会各种控制技术的应用,其创造性劳动在于如何用计算机的有关技术实现计算机的控制,设计实用的电路和系统,再配上相应的应用程序,完成各种控制应用项目。
这次课程设计并不是很难,主要的困难来自对单片机按键程序的处理和1602菜单显示界面的设计。
功夫不负有心人,经过团队中2个人的合作和努力,最后对实验的原理有了更清晰的认识。
虽然设计中并的功能并不是十分完善,但是就系统功能来说,基本完成了课程设计要求。
但是通过平时课程的学习,又通过本次课程设计对它的再一次认真努力学习和操作,巩固了该门课程的知识和应用,对我们以后的学习也会有帮助的。