>
首页 » 业界动态 » 基于FPGA与PC-104的CNC多轴运动控制器设计

基于FPGA与PC-104的CNC多轴运动控制器设计

作者:易德福,王小椿  时间:2006-10-05 00:55  来源:
摘 要:讨论了一种基于FPGA与PC-104工控机为系统基础平台的运动控制器系统开发,系统采用了CNC嵌入PC的硬件结构形式,并对位置反馈、输入接口、输出接口、手脉输入、脉冲发生、主轴接口以及逻辑控制模块进行了详细设计。

关键词:PC-104;运动控制器;现场可编程逻辑器件;脉冲控制

引 言

近年来,随着运动控制技术的不断进步和完善,运动控制器作为一个独立的工业自动化控制类产品,已经被越来越多的产业领域接受。目前,运动控制器从结构上主要分为以下四种类型:大规模集成电路或专用集成电路型、基于微处理器或数字信号处理器型、基于嵌入式CPU型、基于FPGA/CPLD型。其中基于FPGA/CPLD型硬件集成度高,可靠性高,升级容易,控制算法和插补算法都在计算机内完成,目前计算机微处理器已经采用了更先进的工艺技术,信息处理能力明显提高,可以满足高速实时运动控制的要求,并且其良好的软件开发环境使构造开放式运动控制平台成为可能。

本文主要介绍一种以PC-104工控机作为系统基础平台的运动控制器设计,采用了CNC嵌入PC的硬件结构。本设计采用了位置脉冲控制方式,即将脉冲串作为输出传输至伺服驱动器,进而控制伺服电机的进给运动。上位机通过小数分频方法计算出每个插补周期内的分频数和脉冲数,并将其传至运动控制器,运动控制器就按照这些数据在一个插补周期的时间内均匀地产生所需的脉冲串,将脉冲串作为伺服驱动器的输入。这种控制方式在保证位置控制精度的前提下简化了硬件结构,提高了硬件系统的可靠性,缩短了设计开发周期。

总体设计

运动控制器如图1所示,主要包括位置反馈、输入接口、手脉输入、脉冲发生、输出接口、主轴接口以及逻辑控制模块。采用了研祥公司提供的EC3-1541CLDNA嵌入式计算机作为上位机,它为3.5英寸单板结构,板上集成低功耗NSG×1系列CPU,工作频率300MHZ,无需风扇可正常工作,提高了系统的抗干扰能力, 大大减小了整个CNC 装置的体积。使用FLEX10K FPGA芯片设计系统的数字电路,一定程度上保证了数字系统的可靠性,并有利于数字系统的设计与测试。在本运动控制器中,位置反馈、手脉输入、脉冲发生、逻辑控制等模块的大部分都设计在FPGA当中,包括了控制器上绝大多数的数字电路,从而使整个电路板的面积大大减小,在一块电路板上实现了位控、输入输出接口和主轴控制等多种功能,可靠性和速度得到有效提高,极大地提高了设计灵活性,使很多问题只在软件上进行改动就可得到解决。

图1 运动控制器总体结构

脉冲发生模块

此部分电路是运动控制器的主要部分,根据上位机指令产生特定频率与数目的脉冲,并传递给伺服驱动器,使其以位置控制,即脉冲控制方式控制电机。多个这样的模块并行运行以形成多轴联动。上位机顺序通过指令译码、刀具补偿、速度处理和插补,得出每个插补周期内各个坐标轴的进给量,最终通过脉冲当量转化为对应的脉冲数,即每个插补周期内应发给各个坐标轴的脉冲数。脉冲发生模块需要根据这个脉冲数,在指定时间(一个插补周期)内发出等量的脉冲。用晶振产生一定频率的脉冲,然后对其进行分频来得到所需频率的脉冲。由于插补周期T, 一插补周期内所发脉冲数N, 晶振频率f都为定值, 则分频系数k=f/(N/T)=f×T/N很难取得整数。为实现脉冲发生器小数分频从而得到所需数目的脉冲。这里, 可以将一个插补周期分为两部分:一部分的脉冲数是N1,其频率为f1,相对于晶振频率f的分频数为k1;另一部分脉冲数是N2,频率是f2,相对于晶振频率f的分频数为k2。则要满足等式

为使一个插补周期内的脉冲比较均匀,也就是频率相近,可使


由式(1) 、(2) 、(3) 得


已知T3 f整数和N, k1和N 2未知,待求。上面等式还可写成 即T3 f除以N,商为k1,而余数为N2。再由式(1) 、(3) 求得k2与N1。这样就实现了在一个插补周期T内,对晶振频率f的小数分频。在晶振频率较高时,因为k1和k2只相差1,所以分频出来的f1和f2相差很小,这种频率变化对电机速度的影响非常小。发出的脉冲应该是连续的, 所以硬件上设计了双缓冲的结构,一组缓冲器K1、K2、N 1、N2用来定时接收来自于上位机的数据,另一组K、N 缓冲器作为第二级缓冲,保证硬件产生脉冲的连续性, 不受上位机给脉冲发生模块发送数据过程的影响。图2是脉冲发生模块的逻辑结构图。

图2 脉冲发生模块逻辑结构

图3所示为设计的脉冲发生模块的仿真图。信号load用来装入初始值,信号en使能此模块工作, out为此模块的最终脉冲输出信号, stime为定时的输入脉冲信号,它是由逻辑控制模块产生的定时中断信号, 在这里用来将K2、N2中的数据载入相应计数器进行计数,以及将K1、N 1中的数据送入K、N缓冲器暂存。这之后,就可以在K1、N1、K2、N 2中输入新的值。为了提高电路的可靠性、灵活性并降低功耗, 这里采用了FPGA器件来构建脉冲发生模块。

图3 脉冲发生模块仿真图

位置反馈模块

设计中所用的四倍频及鉴向电路原理图见图4。采用的数字型延时电路可以很好地克服延时电路的缺点,延时的时间和各路倍频的脉冲宽度由时钟控制, 倍频后的脉冲宽度均匀一致。脉冲信号A IN (简称A) 和BIN (简称B ) 为输入信号, CLK为时钟信号。四个D触发器和与门共同检测A、B 信号的变化。上面的两个D触发器之间锁存了A信号相差一个时钟周期的状态,当前后两个周期的状态不发生变化时, Q1和Q2的状态相同,所以逻辑运算的值都是零,即输出S1、S2都是低电平;当A信号前后两个时钟周期的状态不同时,说明在此之间A信号发生了改变,则逻辑运算的结果必定有而且只有一个为1,输出端S1、S2输出一个脉冲信号。当A 信号变化一个周期时,将会有两个脉冲输出。同理加上B 信号后,输出信号即为输入信号频率的四倍。

图4 四倍频及鉴向电路原理图

将编码器的输出信号四倍频后, 需要设计鉴向电路判断电机的转向,使其一路输出正向脉冲, 另一路输出反向脉冲。如果电机正转时正向脉冲输出端输出倍频后的脉冲信号,反向脉冲输出端则始终输出低电平;如果电机反转则正向脉冲输出端为低电平, 反向脉冲输出端输出脉冲信号。上述四倍频电路已经得到了四路信号S1、S2、S3和S4,鉴向电路的作用就是将这四路信号进行组合, 分别得到正向输出AOUT和反向输出BOUT。其逻辑表达式为:


AOUT、BOUT的值可由A、B的组合选择S1 ~S4中的某一路来得到,即可通过一个“双四选一”多数据选择器,如74153进行多路选择。利用ALTERA的开发工具MaxplusⅡ,输入电路原理图,编译后仿真图形如图5所示,仿真中CLK周期为125ns, A、B 的周期为1000ns。当A相超前B 相时, AOUT输出四倍频脉冲,反之, BOUT输出脉冲。

图5 四倍频及鉴向电路仿真波形

手脉输入模块

手脉输入模块的原理框图如图6所示。手脉输出的A、B相单路信号在传至运动控制器之前,在手脉的脉冲输出端就应转化为差分信号, 以更好地抑制信号传输过程中的共模干扰。从手脉传来的差分信号顺序经过差分接受器、高速光耦隔离、低通滤波以及整形电路后,需要进行鉴向以得到手脉正转或反转的数据。

图6 手脉输入模块原理框图

所得的仿真波形如图7所示,时钟周期取为50ns,A、B 相周期取为200ns,相位相差90°。

图7 手脉输入模块仿真波形图

主轴接口模块

主轴接口模块原理框图如图8所示。逻辑控制模块根据上位机的指令将要传给D/A转换器的数据存入锁存器,然后经过光耦隔离,加到D/A 转换器的数据端,控制信号也要经过光耦来对D/A转换器进行控制。没有使用DAC中的锁存器,是因为光耦隔离后, DAC内部锁存器不能执行速度较快的总线操作。由于所采用的D/A转换器无自带电压基准,所以还加上了电压基准。运放输出0~10V的电压信号至模拟电压输入接口。

图8 主轴接口模块原理框图

I/O接口模块

运动控制器的所有I/0信号均采用光电隔离处理。考虑到I/0开关信号可能产生的信号抖动现象,对每一路I/0信号都进行了相应的数字滤波处理以消除噪声信号。控制器设计了48路输入信号,其中包括16路专用输入信号, 32路经驱动放大后的输出信号。所有的I/0信号除了个别信号具有独特的功能外,都是开放的,可以根据应用的特点设计具体的功能。

结束语

本设计采用了嵌入式工控机PC-104 作为上位机,这样不仅提高了系统的抗干扰能力,而且大大减小了整个CNC装置的体积,它与运动控制器采用插针堆叠方式连接,结构更加紧凑可靠; 应用FPGA进行运动控制器上数字电路的开发,可以更好地与计算机总线连接,具有很大的设计灵活性,方便数字系统的升级与调试,缩短了设计周期,增强了数字电路可靠性使用;应用光电耦合器对系统中数字、模拟以及接口电路进行隔离,提高了系统抗干扰能力; 通过运动控制器上的输入输出口与上位机程序的配合,可以实现PLC功能,即软件PLC,这使得PLC的实现简单灵活,提高了整个数控系统的柔性。整个数控系统采用了位置脉冲控制方式,使得位置环与速度环的控制都由伺服驱动器来完成,简化了硬件电路设计以及软件设计,降低了系统成本,缩短了开发周期。经实践证明,系统的位置控制精度也得到了很好保证。

相关推荐

台PC厂触控面板订单偏淡:3月将回温

PC  触控面板  2014-01-20

英特尔新战略:以退为进能否驰骋沙场?

英特尔  PC  2013-11-27

Q2全球DRAM市场营运利润率27%创三年新高

DRAM  PC  2013-10-22

英特尔第三季度财报:净利润同比降0.7%

英特尔  PC  2013-10-18

机床数控化 PLC逐步取代继电器

PLC  运动控制器  2013-09-09

PC 销量可能走向反弹

PC  台式机  2013-08-02
在线研讨会
焦点