>
摘 要:本文首先介绍了CPLD器件EPM7128SVLC84的结构特点和编程下载电缆的制作,然后给出了步进伺服控制系统中插补运算的电路设计,最后说明了插补运算的仿真结果。该设计方法大大提高了系统的性能,同时还使设计具有了自主知识产权。
关键词:CPLD;步进伺服;插补运算
引言
步进伺服控制系统是经济型数控机床的驱动控制部分,其插补运算的实现方法将对整个伺服系统的性能产生直接的影响。通常,实现插补运算的方法有基于逻辑电路的方法、基于软件技术的方法,以及软件和硬件相结合的方法。通过对以上各种方法进行比较和分析,本文提出了基于CPLD来实现插补运算的方法。随着EDA技术和CPLD的发展,基于CPLD实现插补运算不仅可以提高插补速度,减轻主CPU的运算负担,而且能够大大提高插补运算的可靠性。
图1 ByteBlasterMV编程下载电缆
图2 步进伺服控制系统的硬件结构图
步进伺服控制系统的设计
ByteblasterMV的制作
本系统在开发过程中需要通过计算机对目标CPLD芯片进行算法程序和数据的在系统下载和调试,为此制作了JTAG方式的ByteBlasterMV编程下载电缆。该下载方式是通过计算机的打印机并行端口进行程序和数据的下载编程和调试。图1给出了JTAG方式编程下载电缆ByteBlasterMV用于进行数据转换的原理图,其中J1为与系统电路板上CPLD器件编程下载接口相连的10针插座,J2为与计算机的打印机并行端口相连的25针插座,采用74ALS244器件对从计算机并行端口接受的编程数据进行转换,转换后的数据连接到CPLD芯片的编程下载接口,从而完成对CPLD芯片的编程和调试。
硬件电路结构
图2给出了步进伺服控制系统的硬件结构图。本系统由51系列单片机
设计中的关键问题
在设计通信模块时,为了实现RS-485总线与单片机系统的隔离,在
为了保证串口通信正常进行,需要在
考虑到系统对信号的平稳性要求较高并且为防止直流信号引起的干扰,在每个集成块的电源与地之间跨接上滤波电容,从而隔断直流干扰信号。同时,因为EPM7128SVLC84芯片执行插补运算所产生的进给指令脉冲,其电流幅度不能满足BD-3H混合式步进电机驱动器的要求,所以还在EPM7128SVLC84和电机驱动器接口之间采用光电隔离器6N137和具有OC输出特性的TTL门电路74LS06。6N137具有强大的驱动放大能力,它接受的输入信号最大电流为5mA,通过OC输出放大,能够输出最小电流为15mA的信号。
由于EPM7128SVLC84芯片内部没有振荡电路,本设计将单片机的时钟由其输出端引出,然后通过TTL逻辑门进行整形滤波后为CPLD芯片EPM7128SVLC84提供全局时钟信号。
插补运算的原理及算法实现
直线插补运算
以第一象限直线插补运算为例,给出直线插补运算的程序设计实现方法。
采用VHDL语言实现该算法,实体部分定义reset、clk和直线终点坐标(xe,ye)为全局输入信号,定义cpx1、cpx2、cpy1和cpy2为全局输出信号。全局输入信号都是由电路系统中其他的各个模块提供的控制信号,全局输出信号分别是X轴正/负向进给脉冲、Y轴正/负向进给脉冲,分别控制步进电机向不同方向进给。在实体的结构体中设定q记录执行每一步直线插补运算后产生的偏差值,设定(q1,q2)为插步运算过程中刀具的加工点坐标,它们在结构体中被定义成变量的形式。reset是用于对算法初始化的复位信号,插补运算启动后,首先令reset=‘0’时对偏差值q和加工点坐标q1和q2清零,从而使刀具回到坐标原点。clk是插补运算的时钟控制信号,只有当clk上升沿到来时才进行插补运算的处理。在插补运算过程中,首先根据终点坐标判定直线所在的象限,然后按照具体的象限执行插补运算,产生控制步进电机运动的进给脉冲。对于第一象限内的直线执行插补运算,当刀具在直线上时,满足q=xe×q2-ye×q1=0。如果q≥0,那么当前加工点(q1,q2)在目标直线上或在直线的上方,则向X轴正向产生一进给脉冲,该脉冲信号通过BD-3H步进电机驱动器驱动步进电机,使刀具向X正向进给一个步进角,新加工点的偏差为q=q-ye;如果q<0,那么当前加工点(q1,q2)在目标直线的下方,则刀具向Y轴正向进给一个步进角,新加工点的偏差为q=q+xe。该过程循环往复执行,直到加工点到达目标直线的终点时退出循环,完成直线插补运算过程。对于其他象限的直线插补算法,可通过相似的方法完成算法的程序设计。
圆弧插补运算
以第一象限逆圆插补运算为例,采用VHDL语言实现该算法,其设计原理与第一象限直线插补运算类似,只是在偏差判别时所采用的判别方程为q=q1×q1+q2×q2-x0×x0-y0×y0。对于其他象限的圆弧插补算法,方法类似。
结语
步进伺服系统因其价格低廉等原因在工业控制等领域依然被广泛应用,经过对CPLD芯片进行VHDL编程、仿真,程序和数据下载及测试验证,本文完成了基于CPLD芯片设计实现步进伺服系统的插补运算。同时,在插补运算的速度、精度和可靠性上都有了很大的提高。