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

    文章

    10942

    浏览量

    206540
  • 数控系统
    +关注

    关注

    5

    文章

    229

    浏览量

    23850
收藏 人收藏

    评论

    相关推荐

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

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

    解析四次位移曲线的CNC数控系统的研究

    加减速控制是CNC 系统的关键技术之一,也是实现数控系统高实时性的瓶颈。在CNC装置中,为了保证机床在启动或停止时不产生冲击、失步、超程或振荡,必须对进给电机的脉冲频率或电压进行加减速控制。
    发表于 01-19 15:02 113次阅读
    解析四次位移曲线的CNC<b class='flag-5'>数控系统</b>的研究

    西门子840D数控系统故障诊断及维修

    西门子 840D 数控系统在制造企业中的应用较为广泛,该系统主要分为数控与驱动系统及人机界面两部分,系统的正常运行需要这两部分的协调配合。在
    发表于 12-07 10:49 686次阅读

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

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

    了解一下西门子840D数控系统故障维修与诊断方法

    了解一下西门子840D数控系统故障维修与诊断方法
    的头像 发表于 11-23 10:46 1469次阅读

    基于嵌入式LinuxQT的汽车虚拟仪表设计

    电子发烧友网站提供《基于嵌入式LinuxQT的汽车虚拟仪表设计.pdf》资料免费下载
    发表于 10-26 14:38 0次下载
    基于嵌入式<b class='flag-5'>Linux</b>与<b class='flag-5'>QT</b>的汽车虚拟仪表设计

    基于QT-E的嵌入式Linux系统的软键盘实现

    电子发烧友网站提供《基于QT-E的嵌入式Linux系统的软键盘实现.pdf》资料免费下载
    发表于 10-24 10:42 0次下载
    基于<b class='flag-5'>QT</b>-E的嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>的软键盘<b class='flag-5'>实现</b>

    数控系统参数丢失的处理方法

    数控系统参数是数控机床的灵魂,数控机床软硬件功能的正常发挥是通过参数来设定的。机床的制造精度和维修后的精度恢复也需要通过参数来调整,所以数控机床没有参数等于是一堆废铁。
    的头像 发表于 10-21 09:27 770次阅读

    16位单片机数控系统对普通车床进给系统进行改造设计方案

    电子发烧友网站提供《16位单片机数控系统对普通车床进给系统进行改造设计方案.pdf》资料免费下载
    发表于 10-19 10:11 0次下载
    16位单片机<b class='flag-5'>数控系统</b>对普通车床进给<b class='flag-5'>系统</b>进行改造设计方案

    基于数控系统单片机测控技术应用与实现

    电子发烧友网站提供《基于数控系统单片机测控技术应用与实现.pdf》资料免费下载
    发表于 10-18 11:14 1次下载
    基于<b class='flag-5'>数控系统</b>单片机测控技术应用与<b class='flag-5'>实现</b>

    盘点全球十大主流数控系统品牌

    FANUC是当今世界上数控系统科研、设计、制造、销售实力最强大的企业,在规格系列上是当今世界上最完整的,并基于其强大的科研实力和严密步骤,努力不断开发高端商品,牢牢占据了国内中端数控机床市场的绝大多数的份额。
    发表于 10-17 10:18 2038次阅读

    QTLinux嵌入式设备上的系统配置

    QT是目前主流的UI界面设计软件之一,Linux系统也支持QT应用,并且提供了很多方便的接口。所以有必要记录一下基于QT,在LCD屏幕上
    发表于 10-11 10:58 250次阅读
    <b class='flag-5'>QT</b>在<b class='flag-5'>Linux</b>嵌入式设备上的<b class='flag-5'>系统</b>配置

    基于ARMS和FPGA的嵌入式数控系统设计原理

    电子发烧友网站提供《基于ARMS和FPGA的嵌入式数控系统设计原理.pdf》资料免费下载
    发表于 10-10 09:33 2次下载
    基于ARMS和FPGA的嵌入式<b class='flag-5'>数控系统</b>设计原理

    搭建一种跨平台qt5远程编译环境

    所谓的跨平台qt5远程编译环境,就是实现在本机的VS上写Qt程序,然后在远程的linux机器上进行编译,得到Qt的Gui或非GUI程序。
    的头像 发表于 07-25 15:05 674次阅读
    搭建一种跨平台<b class='flag-5'>qt</b>5远程编译环境

    西门子828D数控系统在展刀上的应用研究

    基于西门子828D数控系统,设计了一套带有展刀头的车加工机床控制系统,主要由西门子828D数控系统、基恩士高精度接触式传感器、输入/输出模块、S120伺服驱动器、伺服电机和绝对位置编码器组成。利用
    的头像 发表于 05-19 16:52 2745次阅读
    西门子828D<b class='flag-5'>数控系统</b>在展刀上的应用研究