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

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

3天内不再提示

MACH3脉冲的工作与输出(四)

冬至子 来源:磁动力电子网 作者:黄二 2023-07-20 15:34 次阅读

近段来本人的简易CNC控制器有小小突破,也基本上完工了,整理控制器资料时顺手整理了"MACH3脉冲输出",感觉还有两篇没有贴出就接着续篇(基本是按照自问自答的方式出现).....

图片资料可以说是比效珍贵的,请珍惜(最少本人是这么认为的,因为这是MACH3实际输出的波形,并无半点人工干涉,真正想返原它成图并非是一件易事)

上几单元说过了,MACH3控制步进电机是按脉冲方向来完成的,但实际上是怎一回事呢???

最常见的是G0 G1,而G0到底是怎走的呢?? 查阅G指令表: G0是点到点运动的,这在机器是如何运作的呢???

G0 测试

假如从A点到达B点情况是如何呢??

为此本人在通过自己写的软件进行分析MACH3波形实际输出,从而清楚地解决了G0的实际运行方式:
如图所示(G0X1Y1)

图片

从这个波形来看,可以清楚地知道从A到B有三个过程,一加速过程,二均速过程,三减速过程,这三个过程中对XY来说是完全相同的,清认真看清下图的直线,实际上并非是真正的直线,而是曲线,XY是你一步我一步.你走,我走,你走,我再走,从而在失量合成时就成了一条与X坐标系成45度角的类直线实际效果如图

图片

从图中可能清楚地反应:速度从零开始,最后以零结速,加减速度过程并没有改变直线的形状,!!!

这个就是插补的奥妙了!!

有人会说这个简单了,其实本人认为一点也不简单,此过程中所包函的知识太多太多了,各位看官要是想了解更多找渡娘.

G1 测试

接着就是在CNC中起了结定性关键的G1了,

G1到底是什么一个过程呢? 测试两个不同的图形

{
G0x0y0
g1x1y1f1200
g1x1y2
x0y0
}

{
G0x0y0
g1x0y2f1200
x2y2
x0y0
}

直接看图

图片

图片

图片

图片

图片

图片

好奇怪的图形啊,为什么会拐弯呢?? 是谁偷了我的锐角呢??

其实一点也不奇怪,因为有牛顿的惯性定侓存在一切物体运动都不能突变,对此MACH3做了一个非常强的拐角过程,以前有网友问过,为什么我的MACH3会出现圆角呢?这个就是给予最好的解答了.

而这个过程是衡量一个CNC好坏的一个关健.为什么会拐得这么漂亮呢?这个拐角方程式又是什么呢? 对于多轴多微线段中,此拐角还可以这么顺吗??此精度又会是多少呢?? 对此本人花了整整二年时间去解读它,也算是有的小成!!

在众多的文献中,很多地方提到插补,而插补的本质是什么? 插补简单来说: 根据给定的数学函数,在理想的轨迹式轮廓上的已知点之间,确定一些中间点的一种方法。直线插补这是车床上常用的一种插补方式,在此方式中,两点间的插补沿着直线的点群来逼近,沿此直线控制刀具的运动。

注意两个字"逼近" 为因为计算机并口输出是脉冲方式,再者步进电机按每步进位一定的距离运行的,所以最后所得到的是一个非标准直线.只能逼近它.

脱离MACH3,假如我们用单片机或自己做的并口输控制,我们有没有方法去实现这个过程呢? 找渡娘后,所知有一种方式比较直接也比较有效那就是"比较法" 如下

直线插补就是零件程序提供直线段的起点、终点坐标,数控装置将这两点之间的空间进行数据密化,用一个个输出脉冲把空间填补起来,从而形成要求的直线轨迹。

(一).偏差计算公式

直线方程 : yi/xi = ye/xe ; 把标准方程变换一下 xeyi - xiye = 0 ,令 实际偏差值是FI 侧实际偏差值 FI = xeyi-xiye

进给方向的选取:使误差减小的方向

当P点在直线上方时;

则:Xeyi - xiYe>0

当P点在直线下方时;

则:Xeyi - xiYe<0

因此:

由F可判别动点P与理想轨迹的相对位置,从而决定下一步移动方向。

F>0,点P在直线上方,应向+X 移动。

F<0,点P在直线下方,应向+Y 移动。

F=0,点P在直线上,为方便,将 F=0 归F>0。

为便于计算机编程计算,将F的计算予以简化。

设第I象限中动点P(xi, yi)的F值为Fi, Fi=Xeyi-xiYe

1.若沿+x向走一步,即

于是有 Fi+1 = Fi -Ye

2.若沿+y向走一步,即

于是有:Fi+1 = Fi +Xe

(二)终点判别的方法有两种:

1.每走一步,判断动点P(xi, yi)的坐标值是否与终点坐标相同,即

Xi-Xe =0且 Yi-Ye=0

若两式同时满足,插补结束。

2.求程序段总步数n=Xe+Ye,每走一步,n-1->n,直到 n=0,插补结束。

知道方法,那程序如何编写呢?? 假如运行至(4,3)坐标:

#include "XXOO.h" //头文件(XXOO笑吧)
void main()
{ int xe,ye,f,j;
xe=4; ye=3; //把常数4写入变量xe;把常数3写入变量ye;
f=0; //把常数0写入f;
j=xe+ye; //读出xe和ye的值,相加后结果写入j;
do {if (f>=0)
{if(ye>=xe) //判断直线是否大于45度;
{cout<<"同时走+x,+y"< f=f+xe-ye; //读出f、xe和ye的值,计算后结果写入f;
j=j-2;} //读出j的值,减2后结果写入j;
else{cout<<"向+x走一步"< f=f-ye; j=j-1;}}
else {if (ye>xe)
{cout<<"向+y走一步"< f=f+xe; j=j-1;}
else {cout<<"同时走+x,+y"< f=f+xe-ye; j=j-2;}}}
while (j!=0);}

是不是很简呢?实际这个是理论上的.而真正的运行是比这个复杂得多得多!!!!!!

此方法中只考虑到象限一,能不能用到四个象限之中呢??

对于第二象限,只要去| x |代替x即可,至于输出驱动,应使x轴步进电机方向旋转,而y轴步进电机仍为正向旋转。

同理,第三、四象限的直线也可以变换到第一象限。插补运算时,取| x |和| y |代替x、y。输出驱动原则是:在第三象限,点在直线上方,向-y方向步进;点在直线下方,想-x方向步进。在第四象限,点在直线上方,想-y方向步进;点在直线下方,想+x方向步进。4个象限各轴插补运动方向如上图所示。由图中看出,F>=0时,都是在x方向步进,不管+x向还是-x向,| x |增大。走+x或-x可由象限标志控制,第一、第四象限走+x,第二、三象限走-x。同样,F<0时,总是走y方向,不论-y向还是+y向,| y |增大。走+y或-y由象限标志控制,第一、二象限走+y,第三、四象限走-y。

假如再加两轴Z+Z-,A+A-,那么问题就大条了.所考虑到的就不是简简单单的比较了,更别说加上速度限定了.

看来"比较法"只能算是初等的算法了,有没有更加高明的手段或算法呢?

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

    关注

    112

    文章

    16316

    浏览量

    177788
  • 步进电机
    +关注

    关注

    150

    文章

    3109

    浏览量

    147433
  • CNC系统
    +关注

    关注

    0

    文章

    16

    浏览量

    6252
  • Mach3
    +关注

    关注

    0

    文章

    13

    浏览量

    4306
收藏 人收藏

    评论

    相关推荐

    怎样用市面上卖的20元左右的接口卡 连接台达伺服驱动器

    想用mach3 控制驱动器 不知道怎么接线纯白 求大神指导 另外问 这种接口能实现位置控制吗 ?qq1806639233(私聊有谢)
    发表于 11-02 08:44

    mach3雕铣创建

    、驱动和主轴变频器及限位开关对刀仪等等,让他们做成了一个机箱,一共花了7K左右,说说Mach3,我琢磨了近一个月,基本搞得差不多了,觉得这个系统还是挺牛的,网上有的说不稳定,我从调式到现在还没发现不稳定
    发表于 05-07 09:21

    如何将电机驱动器与光隔离输入连接

    如何将电机驱动器与光隔离输入连接有两种方式连接:*1.共阴*2.共阳极说明:步进电机驱动器和常用的CNC控制板,USBCNC、MACH3、GRBL、TinyG等关于脉冲和方向的标注不尽相同。STEP
    发表于 08-31 07:49

    Mach3汉化程序软件

    电子发烧友网站提供《Mach3汉化程序软件.exe》资料免费下载
    发表于 06-22 22:09 49次下载

    深入Mach3内核(中文)

    深入Mach3内核(中文)(力普拉斯电源技术有限公司)-MACH3是一款运行于 Windows平台的优秀机器控制软件,它的授权价格十分低兼,使用者可以用它来组建自己的低成本数控机床,使得CNC机床
    发表于 08-31 15:58 85次下载
    深入<b class='flag-5'>Mach3</b>内核(中文)

    MACH3软件输入设置

    MACH3软件输入设置(现代电源技术实训报告)-MACH3软件用的是电脑并口,一个并口只有5个输入,这5个输入可以接许多输入项目,如“限位,按钮,接近开关,光电开关,探针”等等。我简单介绍一下:用
    发表于 09-18 09:13 12次下载
    <b class='flag-5'>MACH3</b>软件输入设置

    mach3安装和设置

    mach3安装和设置(深圳普德新星电源技术有限公司怎样)-MACH3的安装和输入输出设置说明:下文中未特意指出右击或双击等的均为鼠标左击,各个菜单、软按键、选项卡等用()括起表示,文件地址等字符串用
    发表于 09-18 09:17 15次下载
    <b class='flag-5'>mach3</b>安装和设置

    如何为mach3 bsmce04u连接传感器LJ12A3 4Z/BX

    电子发烧友网站提供《如何为mach3 bsmce04u连接传感器LJ12A3 4Z/BX.zip》资料免费下载
    发表于 11-11 10:19 1次下载
    如何为<b class='flag-5'>mach3</b> bsmce04u连接传感器LJ12A<b class='flag-5'>3</b> 4Z/BX

    MACH3脉冲工作输出(一)

    我们知道MACH3输出是以 步进脉冲,方向 来控制电机的运行,但它是怎样工作输出呢??
    发表于 07-20 15:25 2616次阅读
    <b class='flag-5'>MACH3</b><b class='flag-5'>脉冲</b>的<b class='flag-5'>工作</b>与<b class='flag-5'>输出</b>(一)

    MACH3脉冲工作输出(二)

    CNC机台中为什么要加速,这个想必网友们都很清楚,本人就不都说了.
    的头像 发表于 07-20 15:27 1278次阅读
    <b class='flag-5'>MACH3</b><b class='flag-5'>脉冲</b>的<b class='flag-5'>工作</b>与<b class='flag-5'>输出</b>(二)

    MACH3脉冲工作输出(三)

    前两篇我们知道了,MACH3的加速度参数之间的关系,那如何用数学公式做出分散的与加速度有关的时间间隔点呢???
    的头像 发表于 07-20 15:30 1134次阅读
    <b class='flag-5'>MACH3</b><b class='flag-5'>脉冲</b>的<b class='flag-5'>工作</b>与<b class='flag-5'>输出</b>(三)

    mach3控制卡怎样连接伺服

    在这篇文章中,我们将详细介绍如何将Mach3控制卡与伺服电机连接。Mach3是一款广泛使用的数控(CNC)软件,它可以控制各种类型的机械设备,包括铣床、车床、激光切割机等。伺服电机是一种高精度、高
    的头像 发表于 06-12 14:15 1996次阅读

    mach3和数控系统有什么区别

    Mach3和数控系统是两个不同的概念,它们在数控加工领域中扮演着不同的角色。本文将详细介绍Mach3和数控系统的区别,以及它们在数控加工中的应用。 定义 Mach3是一款数控编程软件,主要用于控制
    的头像 发表于 06-12 14:18 1707次阅读

    mach3伺服电机参数设置

    本文详细介绍了Mach3软件在伺服电机参数设置方面的相关知识,包括伺服电机的基本原理、Mach3软件的安装与配置、伺服电机参数设置的方法和步骤。 一、伺服电机基本原理 伺服电机是一种高精度、高
    的头像 发表于 06-12 14:22 2165次阅读

    mach3如何更改电机方向

    Mach3是一款广泛使用的数控系统,用于控制各种类型的机床,如铣床、车床、激光切割机等。在某些情况下,用户可能需要更改电机的方向以满足特定的加工需求。以下是详细的步骤和说明。 准备工作 在开始更改
    的头像 发表于 06-12 14:24 1300次阅读