当前位置:首页 > 工业控制 > 电子设计自动化

摘 要: 针对运动控制系统对高速度与高精度的要求,基于二次插补原理及最小偏差插补法,提出一种以PC机为主控制器、FPGA为从控制器的主从式运动控制系统的设计。主控制器的功能是对系统运行过程进行控制规划和粗插补;从控制器的功能是对加工进行精插补和执行速度控制。该系统在Matlab环境下进行了插补仿真,并在两轴数控雕刻床上进行了加工测试,验证了系统的可靠性与高精度。加工精度可达0.01 mm,为高精度、高速插补数控系统提供了有效的解决方案。
关键词: 运动控制; FPGA; 最小偏差插补法; 速度补偿

运动控制系统被广泛地运用于各个领域。传统的运动控制系统设计有基于PC的中央控制方式和基于微控制器的嵌入式控制方式等。基于PC的运动控制方式,由于其采用多任务操作系统,对处理器的分时复用会导致在运行高速度和高控制频率的系统时,实时性得不到保证。而基于微控制器的运动控制系统,由于处理器资源有限,对功能复杂系统的开发带来很大难度,往往系统中的某个子功能模块就占用了整块芯片的资源。
随着计算机技术与嵌入式技术的日益发展,出现了各种架构互异的运控系统设计方案,其目标都在于对系统的高速度与高精度的不断追求。基于这两种技术,本文提出了一种基于PC+FPGA的多功能主从式运动控制结构,实现运控系统的分工。既满足了系统的功能多样性需求,又保证了高频控制脉冲的生成以及系统运行的实时性,同时还降低了系统维护与升级的难度[1-2]。
1 主从式运动控制系统
本系统的设计目标是实现两轴联动的运控系统,主要由PC机、FPGA从控板和电机驱动板三个部分构成,系统结构如图1所示。上位机(PC)的主要功能是对系统运行过程进行控制规划和粗插补(曲线加工规划)。FPGA从控板的主要功能是对加工进行精插补,在此二次插补完成后通过速度补偿模块对插补的执行速度进行补偿,进一步减小插补的偏差,产生直接用于驱动步进电机进行直线/圆弧运动的脉冲信号。驱动电路的作用是将脉冲控制信号进行功率放大,以直接驱动电机,同时为了提高控制精度,可以使用其细分电路对电机的步进进行1、2、4、8次的细分。

主从模块通过异步串行通信方式RS-232标准进行通信。上位机将一条曲线分割成一组简单曲线(直线/圆弧)的执行序列,使用自定义的编码方式将信息下载到FPGA上。对应地,FPGA上设计有接收并存储这些编码信息的功能模块。
2 上位机主控软件设计
上位机只需要将一条待加工曲线分解为精插补模块可执行的直线和圆弧的序列,以FPGA能够识别的指令传输给从控板。以粗插补为目的,配套开发了相应所需的通信模块、作为示教功能所需的命令控制模块以及作为数控系统解决方案的G代码生成与编译模块。
本设计的上位机主控系统是在Windows 7环境下,以Visual Studio 2010作为开发工具,基于Microsoft .NET Framework 4.0开发的。该上位机主控系统主要有5个功能模块,如图2所示。

这5个模块被设计在一个Windows窗体中,不同功能设计在不同选项卡中,因此只需切换选项卡就可以轻松实现功能的切换。在窗体的右侧有一列独立于选项卡容器的对象,其功能是对串口通信进行设置,控制FPGA执行的起停以及对监视功能进行复位。上位机主控软件视图如图3所示。

粗插补是将一条曲线分解为一系列的能够被下位机FPGA执行的直线和圆弧的小段。这样,控制者可以在PC机上手动绘制一条待运行的曲线,调用粗插补运算函数产生相应的G代码,再译码运行,实现所见即所得。
G代码是数控程序中的指令,也称为G指令。在命令编译模块中实现的功能是将之前生成的G代码,或者从本地文件中读入的G代码转换成FPGA控制板可以识别的自定义命令序列,并发送至从控板。
3 基于FPGA的从控模块设计
精插补模块以硬件方式实现,即将多轴运动控制模块固化在FPGA中,把上位机从生成步进电机的直接驱动信号时的繁重单调的工作中解放出来,提高执行的速度和效率。其功能结构如图4所示。

软件实现的功能是通信协议、命令解析、精插补和速度补偿等功能。
3.1 FPGA从控板硬件设计
作为脉冲控制指令的直接生成者,FPGA从控板在整体的设计中具有核心地位。由于本设计的输入输出信号有两路不共地的电压输入,因此电源设计与信号隔离至关重要。简易键盘作为系统控制输入,主要进行系统运行方式的选择和控制指令输入。对于系统中简单的开关量,直接用LED显示;而对于复杂的系统状态,如执行时序状态机的监视,则需要借助LCD进行监控。FPGA从控板需要接收来自上位机的加工指令序列,串口作为最为常用的通信接口,它能够保证数据信息以足够高的速度由上位机发送到FPGA从控板上,完成控制操作[3]。
3.2 基于最小偏差法的插补设计
因为任何一条曲线都可以用直线和圆弧的小段对其进行逼近,因此,直线与圆弧是构成运动控制轨迹的基本要素,直线/圆弧插补就是运动控制器的基本功能,也是实现高精控制的基本手段。
精插补模块的实现原理有很多种,对于直线和圆弧插补,常用的插补原理有逐点比较法、最小偏差法、数字脉冲相乘法等。最小偏差比较法是在逐点比较法的基础上衍生而来的,其原理是在进给之前先判定向x坐标方向或y坐标方向进给一步的偏差和向对角线进给一步的偏差(向x轴与y轴同时进给一步),应选择偏差小的那个方向进给[4]。
3.2.1 最小偏差法插补进给规则
最小偏差法直线插补是将直角坐标的每个象限都用45°斜线分成两个区域,4个象限共分为8个区域,称为8个卦限,用0~7表示在某一卦限内,直线插补根据轨迹点偏差的大小选择沿相应轴方向或对角线方向进给。圆弧插补同样把一个圆分成8卦限,将圆弧中心作为坐标原点,在不同的卦限,其进给方向不同[5]。如图5所示为第1象限中0卦限和1卦限的进给示意。

3.2.2 插补模块实现
插补模块在FPGA中实现的流程图如图6所示。

3.2.3 插补模块的速度补偿
由于最小偏差比较法的进给规则是单次沿轴向或者沿对角线方向进给,系统实际运行时的速度会因为曲线各处斜率的不同而变化,降低了运行速度的稳定性。为了解决这个问题,可以从驱动状态机的时钟输入上进行考虑。由于脉冲的产生是通过状态机实现的,因此可以通过降低沿轴向运动时的脉冲源频率,提高沿对角线方向的脉冲源频率来平衡不同斜率轨迹点的运行速度[6]。
设脉冲F单独驱动单轴运动的速度为Vf,合成速度为V。可以画出V/Vf随α的变化的曲线图,如图7(a)所示。由图可知,当角度α=45°时,运动速度最快。

设进给脉冲源的频率为3f,经过1/N分频器分频后再作为进给脉冲,由此可得新的V/Vf关系如下:


则这时V/Vf对?琢的曲线图就变为如图7(b)所示。对比图7(a)、(b),可知其速度稳定性有了明显的提升。
以上分析是插补模块设计的理论依据,在编写模块时需要考虑许多实际问题。但无论是直线插补模块还是圆弧插补模块,其实现方式都是通过状态机对生成脉冲的程序进行循环,根据原理推演而得到的判断条件来产生各轴的驱动脉冲与相应旋转方向的控制信号[7]。
4 仿真与实验
4.1 基于Matlab仿真
基于最小偏差法的插补模块被封装在FPGA中,但其算法在Matlab环境下进行了仿真,图8所示为半径为8个脉冲当量的运行轨迹,实现了实际轨迹与理想曲线之间的最小偏差。

图9所示为当插补半径为800个脉冲当量时轨迹情况。可以看出,对于任何实际执行的圆弧指令(半径一般大于1 000个脉冲当量),如此细小的误差完全可以忽略不计。使用最小偏差法实现圆弧插补,流程明确,又是整数计算,特别适合基于FPGA的设计。而且准确性已非常高,所以使用最小偏差法来进行圆弧的精插补是最优方案。

4.2 两轴联动雕刻床测试
实际测试平台是一个两轴联动雕刻床,每个轴由步进电机驱动,经过丝杠将旋转运动转换为直线运动。为便于观察,雕刻刀使用铅笔芯代替。在上位机软件上手绘一条待运行曲线,经过规划处理后转换为G代码,并加工执行。
图3与图10分别为上位机的手绘曲线与实际运行情况,由图可见,系统能够很完整地跟踪手绘曲线。

参考文献
[1] 吴星明,陈伟海,于守谦,等.基于PCI总线的主从式多轴控制器开发[J].北京航空航天大学学报,2008,34(1):112-116.
[2] 习俊梅,廖高华.开放式PC型多轴运动控制系统[J].机床与液压,2008,36(11):91-93.
[3] Chen Weihai, Wen Zhaojin, Xu Zhiyue. Implementation of 2-axis circular interpolation for a FPGA-based 4-axis motion controller[C].2007 IEEE International Conference on Control and Automation, 2007:600-605.
[4] 丛爽,李泽湘.使用运动控制技术[M].北京:电子工业出版社,2006.
[5] 李恩林.数控系统插补原理通论[M].北京:国防工业出版社,2007.
[6] 闫华汪,木兰,王保升.基于FPGA的最小偏差法插补器设计与实现[J]. 机械设计与制造,2008(12):14-16.
[7] 吴振凯.调频步进信号回波的速度补偿[J].制导与引信,2010,31(1):37-42.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

在现代流程工业生产中,生产工艺相关的运行参数,如温度、液位、压力、流量等,都是采用仪表进行测量检测,并根据仪表的测量结果通过控制阀门、泵等执行机构使这些工艺运行参数处于要求的范围内以满足工艺生产的需要。目前,在先进的工厂...

关键字: 故障树 控制系统

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

减少振动和能量,阻尼器的主要作用是减少振动和能量。阻尼器通过提供运动的阻力,耗减运动能量,从而帮助控制系统或机械部件的振动。

关键字: 阻尼器 控制系统 机械部件

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

随着科技的不断进步,传感器技术在工业、农业、医疗、环保等领域的应用越来越广泛。BF350传感器作为一种高精度、高稳定性的传感器,被广泛应用于各种测量和控制系统中。本文将详细介绍BF350传感器的使用方法,帮助读者更好地理...

关键字: 传感器 BF350 控制系统

功率电子开关是现代电力电子技术的核心组件之一,广泛应用于各种电力转换和控制系统中。本文将对功率电子开关的作用、分类、工作原理、应用领域以及发展趋势进行详细的探讨,旨在让读者深入了解功率电子开关的重要性和应用价值。

关键字: 功率电子开关 电力转换 控制系统

误差放大器是电子测量和控制系统中不可或缺的一部分,它负责将实际测量值与期望值之间的误差进行放大,以驱动后续电路或系统对误差进行补偿或调整。本文将对误差放大器的工作原理、组成结构、特点以及应用进行详细的探讨,旨在帮助读者更...

关键字: 误差放大器 电子测量 控制系统

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算
关闭
关闭