0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

QT+Linux+Microblaze实现的三轴数控系统

电子工程师 来源:网络整理 2018-02-11 14:29 次阅读

高速化、高精度、低成本、小型化数控控制系统已经成为数控机床加工行业的发展趋势。本文提出QT+Linux+Microblaze的设计方法,由QT设计人机交互数控加工软件,以供绘制加工所需的图形以及获得图形数据,将此软件通过Linux向Microblaze移植;加工数据信息通过UART发送给下位机数控加工模块;在下位机FPGA模块上配置出UART模块、插补IP核以及脉冲发生IP核,最后控制三轴电机联动走出需要的加工轨迹。简要介绍了项目的背景和设计原理,详细说明了系统中三个最主要的部分:三轴数控驱动模块,抗干扰自适应波特率UART模块,基于QT的加工作图上位机软件,并给出了这三个模块的各自功能效果,最后分析了该项目的改进方向以及应用前景。实验证明,该系统非常适合当今数控行业对控制模块的运行速度、加工精度和体积的要求。

1项目背景及简介

数控机床广泛应用于国防、航空航天和国民经济各个部门,是自动化加工行业中最基本的装备,也关系到国家的安全和工业生产能否健康地增长。突破国家装备制造业发展的技术瓶颈,高速、高精度的数控机床要先行。嵌入式系统在功能、可靠性、成本、体积、功耗等方面的巨大优点,已使它逐渐被广泛应用于具有高速化、小型化需求的数控加工控制系统。

目前的中高档机床的数控加工系统的载体是以由传统PC机衍生出的工控机为主,而一些小型数控工作装置的控制系统则主要是PC机(上位机)+下位机的控制方式。第一种方法,由于采用了类似于PC机顺序执行命令代码方式,限制了加工速度的提高,尤其是现代加工行业对加工精度的高要求导致了大量传感器及其外围电路的应用,这就需要系统CPU具备高速运算处理的能力。第二种方法,由于需要在下位机和上位机之间频繁的传送数据,外围电路比较简单,难于外接较多的辅助传感模块,主要应用于对加工精度和速度要求均不高的数控装置。

针对数控机床控制系统的需求和现状,本文提出并进行相关实验验证了以QT+Linux+Microblaze的数控控制系统设计方式,利用QT美观的图形界面及其良好的绘图功能,进行数控加工软件的设计,用于绘制加工图形,并获得图形数据;结合Linux的移植能力,将QT数控软件先在Linux中运行通过,再移植到Microblaze(考虑到芯片无PowerPC,移植入PowerPC效果可能将会更好);最后由Verilog HDL语言编写的并行执行模块根据加工图形数据控制数控设备。本方案将兼具高速运算处理能力以及图形化友好操作界面。

2系统实现原理及总体设计

系统实现原理如图1所示,左侧虚线框表示原先设计方案即QT编写的数控加工软件通过Linux开发工具最终移植到Microblaze处理器,由于我们团队还未能成功实现Linux向Microblaze的移植,所以将QT数控软件放在PC机上运行实现,由PC机与FPGA模块通过串口交换数据。FPGA内部的功能模块以及外围所需控制的器件如图1所示。

图1系统实现原理框图

本文所述系统的总体设计框图可以表示如图2所示。

图2 总体设计框图

图3 系统硬件平台

图4 系统软硬件配合工作图

3系统主要模块设计及实现功能

由图2可知项目涉及到的系统主要由三大部分组成:下位机部分由FPGA处理器配置出三轴数控驱动模块;用于上位机和下位机通信的抗干扰波特率自适应UART模块;基于QT设计的数控加工软件。为了体现出系统的处理速度优势,各模块的设计均采用Verilog HDL语言设计。

3.1 三轴数控驱动模块设计

该模块主要具有插补计算功能和脉冲发生功能。该模块通过UART模块获取信息,先判断图形形状(目前能加工出正方形、任意角度的折线以及圆弧),然后提取出图形尺寸信息如边长(起始点)、角度、弧度、半径等信息,进而计算出X、Y轴的运行方向、运行的总位移以及脉冲数,接着驱动脉冲发生模块工作发出脉冲控制三轴电机,最终走出加工所需要的轨迹。

直线插补方法:逐点比较法是一种代数运算,其特点是能逐点计算和判别运动偏差,并逐点就在以逼近理论轨迹。逐点比较法的理论误差是一个脉冲当量。

整个插补过程中没走一步需要完成四个工作节拍:(1)偏差判别,判别当前运动点偏离理论曲线的位置。(2)进给控制,确定进给坐标及进给方向。(3)新偏差计算,计算新的偏差值。(4)终点判别,线段均有终点。结束,则停止插补;否则,继续插补进给,重复(1)~(4)工作节拍。直线插补示例如图5所示:

图5 直线插补示例

图5 直线插补示例

圆弧插补和直线插补类似,每走一步也分四个工作节拍: (1)偏差判别,X2+Y2=R2;令Fi=X2+Y2-R2(i=0,1,2,…,N);Fi=0,点在圆上; Fi《0,点在圆外;Fi》0,点在圆内。(2)进给控制,当Fi≥0时,进给-ΔX;当Fi《0时,进给ΔY。(3)偏差计算,①进给-ΔX后, Fi+1=(Xi-1)2+Yi2-R2= Fi -2Xi+1;②进给ΔY后,Fi+1=Xi2+(Yi+1)2-R2= Fi +2Yi+1。(4)终点判别,计数长度法,令M=|X|或者|Y|,这样X方向(Y方向)每走一步,M就减1;双向计数法,令M=|X|+|Y|,这样X方向或Y方向每走一步,M就减1。圆弧插补示意图如图6所示。

图6 圆弧插补示意图

图6 圆弧插补示意图

图7 三轴数控插补加工设计界面

图7 三轴数控插补加工设计界面

3.2 抗干扰自适应波特率UART模块设计

本文利用电路板上的UART进行下位机与上位机之间的通信。通用异步收发器(UART)常运用于多MCU的总线通信系统中进行数据交换。为了应对多种波特率通信需求,本文设计了一个波特率自适应UART,UART模块可以根据通信需求自动改变下位机波特率,波特率更新过程如图8所示。根据上位机按新波特率发送的特殊数据(该字节数据保证2bit高电平,如0x18H),UART接收到此数据后即可计算出新的波特率,并更新自身波特率与上位机通信波特率,表1列举了采用该方法计算出的波特率值与理想波特率的误差值。目前利用FPGA设计UART多采用16倍频码元中部采样法,即对一个码元采样16次,将中间采样作为本码元的有效电平,这样可以消除边缘噪声的影响,但是没能解决随机噪声问题。码元受到噪声干扰示意图如图9所示。对于UART抗干扰问题,常用16倍频码元中部采样法抗随机干扰差,本文设计引入数字相关器对UART进行抗干扰设计,并采用流水线设计方法对数字相关器进行了优。图10所示为两位数字相关器运算数据流图。实验表明该方法设计的UART具有灵活、可靠的优点。

图8 波特率变更流程图

图8 波特率变更流程图

波特率(bit/s)分频计数值误差

240026030.0448%

96006510.16%

192003250.16%

115200540.4672%

200000310.8%

500000124%

65000096.4%

图9 含噪声干扰码元采样示意

图9 含噪声干扰码元采样示意图

表1 各波特率误差表

图10 相关器运算数据流图

图10 相关器运算数据流图

图11、图12、图13表示波特率自适应过程,并能以新的波特率正常通信。

图11 串口调试助手显示及数码管显示(波特率9600bit/s)

图11 串口调试助手显示及数码管显示(波特率9600bit/s)

图12 发送06H通知下位机改变波特率(新波特率115200bit/s)

图12 发送06H通知下位机改变波特率(新波特率115200bit/s)

图13 以新波特率正常通信(波特率115200bit/s)

图13 以新波特率正常通信(波特率115200bit/s)

3.3 基于QT的加工作图模块设计(上位机部分)

利用QT软件良好的界面效果来设计数控加工软件。可以在这个软件界面下绘制加工图,如图14所示:

图14 数控加工软件界面

在图中,先绘制出加工图,目前可以绘制直线、折现、四边形、圆等图形,然后点击菜单栏中“机械加工”,则软件会自动提取图形的起点、折点或者凸点、终点以及每个加工段的插补值,然后通过串口发送给下位机。

如图13和图14所示,下位机驱动三轴电机在布上(下面是海绵)画正方形,因为海绵会变形,所以轨迹不是笔直的。

图15 图16

4 结论

本项目利用了嵌入式体积小的优点,结合QT良好的界面效果设计了一套简易数控加工系统。由于未能成功将QT软件移植到Microblaze,故在上位机运行QT数控软件,获得加工信息后将有关数据发送到基于FPGA处理器的下位机,进而控制三轴数控平台进行加工。将FPGA器件用于数控加工,可以有效解决目前由于运算速度低带来的加工技术瓶颈(由于目前数控处理器运算不高,部分计算量较大的提高加工精度的算法未能付诸应用),可以促进FPGA在数控加工领域的应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11217

    浏览量

    208820
  • 数控系统
    +关注

    关注

    5

    文章

    258

    浏览量

    24204
收藏 人收藏

    评论

    相关推荐

    数控系统除了直线插补还有什么

    数控系统是一种高度自动化的控制系统,广泛应用于机械加工、模具制造、汽车制造、航空航天等领域。数控系统的核心功能是实现对机床的精确控制,以实现
    的头像 发表于 07-01 11:33 597次阅读

    数控系统常用的两种插补功能有哪些

    数控系统是现代制造业中不可或缺的重要组成部分,它通过计算机控制机床,实现对工件的高精度加工。在数控系统中,插补功能是实现复杂曲线加工的关键技术之一。插补,即“插值补偿”,是指在已知若干
    的头像 发表于 07-01 11:13 1308次阅读

    数控系统分类及其优缺点有哪些

    数控系统分类 按控制方式分类 (1)点位控制数控系统 点位控制数控系统主要用于控制机床从一个点移动到另一个点,实现简单的直线插补和圆弧插补。这种
    的头像 发表于 07-01 11:08 1087次阅读

    数控系统分为哪类类型

    数控系统数控机床的核心部分,它负责接收加工程序,进行数据处理和运算,控制机床各的运动,实现对工件的加工。根据数控系统的结构和功能,我们可
    的头像 发表于 07-01 11:06 1208次阅读

    数控系统的核心控制模块有哪些

    数控系统是现代制造业中不可或缺的关键技术之一,它通过计算机控制机床的运行,实现高精度、高效率的加工。数控系统的核心控制模块是实现数控系统功能
    的头像 发表于 07-01 11:05 584次阅读

    数控系统由哪几部分组成

    数控系统是现代制造业中不可或缺的一部分,它通过计算机控制机床,实现高精度、高效率的加工。数控系统由多个部分组成,下面我们将详细介绍数控系统的组成及其功能。 一、
    的头像 发表于 07-01 11:02 1823次阅读

    数控机床对伺服系统的要求有哪些?

    引言 数控机床是一种采用数字程序控制的机床,具有高精度、高效率、高自动化程度等特点。伺服系统作为数控机床的核心部分,主要负责接收数控系统的指令信号,控制机床各
    的头像 发表于 06-14 15:33 1049次阅读

    mach3和数控系统有什么区别

    数控机床的运动。它是一种基于PC的控制系统,可以与各种数控机床兼容。Mach3软件可以接收G代码,将其转换为机床的运动指令,从而实现对机床的精确控制。
    的头像 发表于 06-12 14:18 1471次阅读

    数控机床的核心是什么,包括什么

    数控机床(Numerical Control Machine Tool,简称NC机床)是一种利用数字化信息对机床运动和工作进行控制的高效、精密、自动化的机床。数控机床的核心主要包括数控系统、伺服
    的头像 发表于 06-07 09:55 2947次阅读

    数控机床的核心是什么,它的作用是什么?

    Numerical Control System),它的作用是实现对机床的精确控制,提高加工精度和生产效率。以下是关于数控机床核心及其作用的详细分析。 一、数控机床的核心——数控系统
    的头像 发表于 06-07 09:48 1639次阅读

    简述数控机床的分类及其各类机床的特点

    数控机床(Computer Numerical Control Machine Tools,简称CNC机床)是一种采用计算机进行控制的自动化机床。它通过数控系统将加工程序转化为机床的运动指令,实现
    的头像 发表于 06-07 09:35 3137次阅读

    M9航空接头8芯与数控系统的关系

    德索工程师说道在数控系统中,M9航空接头8芯起到了信号传输和连接的重要作用。数控系统中的各个部件之间需要进行大量的数据传输和指令交换,而这些数据和指令往往需要通过连接器进行传输。M9航空接头8芯凭借
    的头像 发表于 04-24 15:27 328次阅读
    M9航空接头8芯与<b class='flag-5'>数控系统</b>的关系

    数控新篇章,鸿道Intewell新型工业操作系统在CNC数控系统中的应用

    难度,但国外实时操作系统价格昂贵,底层技术保密,对数控系统产业化和降低生产成本很不利;一些是采用Linux+实时补丁的方案,由于其开源的特性,稳定性和安全性很难得到保证。在当前国际形势日趋复杂的背景下,国际制裁和技术禁运大行其道
    的头像 发表于 03-15 09:42 483次阅读
    <b class='flag-5'>数控</b>新篇章,鸿道Intewell新型工业操作<b class='flag-5'>系统</b>在CNC<b class='flag-5'>数控系统</b>中的应用

    鸿道(Intewell)新型操作系统为CNC数控系统提供国产解决方案

    基于Intewell的CNC数控系统解决方案架构Intewell CNC 数控系统解决方案采用Linux实时扩展的架构,独有的虚拟化技术提供高实时的RTOS与Linux应用融合,实时抖
    的头像 发表于 03-13 16:31 577次阅读
    鸿道(Intewell)新型操作<b class='flag-5'>系统</b>为CNC<b class='flag-5'>数控系统</b>提供国产解决方案

    新代数控系统维修注意事项:

    新代数控系统维修注意事项
    的头像 发表于 11-23 16:27 1500次阅读