首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 传感与控制
基于PC和FPGA的运动控制系统
来源:本站整理  作者:佚名  2011-07-19 19:35:33



运动控制系统被广泛地运用于各个领域。传统的运动控制系统设计有基于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所示。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:104,406.30000 毫秒