【产品应用】手把手带你使用ZMC300E绘图

电子说

1.3w人已加入

描述

  面对一台ZMC300E运动控制器,我们该怎样让它工作起来?本文带你了解其核心算法原理,并详细讲解如何操纵龙门架画笔平台绘图。

致远电子  前言

ZMC300E(点击了解详情)是广州致远电子股份有限公司开发的最新一代智能总线型 EtherCAT 主站控制器,使用A8内核的AM335X为处理器核心,配合Xenomai高实时性Linux系统,支持作为EtherCAT主站使用,其通讯可实现ms周期任务抖动±15μs以内,可满足运动控制器的高实时性要求。

致远电子图1 ZMC300E控制器

可以看到,运动控制器的强项是EtherCAT实时通信,主要工作就是发号施令,通过网络命令多个电驱和电机工作。通俗的说,运动控制器干脑力活,动口不动手,电驱和电机干体力活,专干重活累活。

那么,运动控制器凭什么当上智力担当的?原来运动控制器是计算能手,拥有三大绝活算法:轨迹插补,速度规划,运动前瞻。凭借这三大绝活,运动控制器就能指挥电驱和电机完成各种运动任务。  

致远电子  算法原理

接下来简单地介绍运动控制器的三大绝活算法:轨迹插补,速度规划,运动前瞻。这三大算法包含较多子类别的算法,本文只对最基础最实用的子算法进行介绍,后面实战绘图也会用到这些算法:轨迹插补-直线插补,速度规划-梯形速度规划,运动前瞻-拐角减速。1. 轨迹插补运动任务的核心任务就是绘制各种轨迹,运动控制器的看家本领就是轨迹插补。插补算法根据给定的信息进行数字计算,不断计算出参与运动的各坐标轴的进给指令,然后分别驱动各自相应的执行部件产生协调运动,以使被控机械部件按理想的路线与速度移动。插补最常见的两种方式是直线插补和圆弧插补。插补运动至少需要两个轴参与,进行插补运动时,首先需要建立坐标系,将规划轴映射到相应的坐标系中,运动控制器根据坐标映射关系,控制各轴运动,实现要求的运动轨迹。直线运动的插补示意图如下,插补运动中由起始点处沿 X 方向走一小段(给一个脉冲当量轴走一段固定距离),发现终点在实际轮廓的下方,则下一条线段沿 Y 方向走一小段,此时如果线段终点还在实际轮廓下方,则继续沿 Y 方向走一小段,直到在实际轮廓上方以后,再向 X 方向走一小段,依次循环类推,直到到达轮廓终点为止。

致远电子

图2 直线插补示意图除了直线插补,ZMC300E还支持多种轨迹插补:圆弧插补,椭圆弧插补,渐开线插补,螺旋线插补,贝塞尔曲线插补。2. 速度规划运动控制器还可以为轨迹插补赋予速度规划。速度规划这里特指,在已知运动的起点和终点和完整路径的情况下,基于给定的时间约束, 最大速度约束和最大加速度减速度约束的条件,设计运动速度随时间的曲线。常见的速度规划算法有梯形速度规划算法,S形速度规划算法。梯形速度曲线,也称为直线加减速或T型加减速。其算法十分简易,规划周期耗时短,有利于缩减系统的连续运行时间,从而提高系统的运动控制速度,实施起来比较容易,应用广泛。

致远电子

图3 梯形速度规划-速度示意图

该速度由3段组成,第一个段黄色段是加速段,第二段(绿色段)是匀速段,第三段(黄色段)是减速段。

致远电子

图4 梯形速度规划-位移示意图致远电子图5 梯形速度规划-加速度示意图

除了梯形速度规划,ZMC300E还支持多种S型速度规划:加加速度(二次加速度)给定条件的S型速度规划,弯曲时间给定条件的S型速度规划,和加减速时间和弯曲时间给定条件的S型速度规划。

3. 运动前瞻

运动控制器能够更加高效规划运动,这要求运动控制器支持连续插补运动,支持运动前瞻。

这里给一个矩形绘图作为连续插补的示例。一个普通的矩形轨迹如下图。

致远电子

图6 矩形轨迹该矩形含有四段轨迹。

使用梯形速度规划,可以得到以下的速度曲线,可以看到,由4段曲线组成。

致远电子图7 不开启运动前瞻的速度-时间示意图不开启连续插补和运动前瞻,每段速度都减速到零。纵轴为速度,横轴为时间。下图是开启连续插补的速度-时间图。速度是通过位置和发射时间推算出来的,不完全精确,速度出现毛刺是正常的。

致远电子

图8 连续插补速度-时间示意图

开启连续插补,每段速度不再减速到0。可以看到,时间相比不开启运动前瞻更短。但是有个严重问题:拐角处的速度是最大值,过高的速度可能影响电机和刀具稳定性。

致远电子

图9 运动前瞻速度-时间示意图

开启连续插补和运动前瞻,拐角减速,每段速度不再减速到0,而是根据拐角角度决定速度。可以看到,时间相比不开启运动前瞻更短,相比连续插补更长,避免刀具高速通过拐角处的问题。

运动控制器的运动前瞻功能可以根据用户的运动路径自动计算出平滑的速度规划,以防止轨迹的拐角处速度过快。运动前瞻包括三种模式:拐角减速、倒角、小圆限速,而这三种模式也可混合使用。拐角减速会根据夹角大小确定拐角处的最大速度,倒角则会设置前后两个轨迹在拐角处的倒角,而小圆限速则会对半径小于设置值的圆弧轨迹进行限速。  

致远电子  实战绘图

介绍完了算法原理,接下来我们使用ZMC300E运动控制器来进行实战绘图。  

首先把运动控制器和画笔平台使用网线连接。画笔平台是一个3轴的龙门架,可以在xyz三轴空间移动,夹具上只有一根常见的铅笔。

致远电子

图10 画笔平台

选择一幅SVG格式图片作为我们画图的图案,这里我们选择的是致远电子公司的logo图片。

致远电子

图11 Logo图片

对于输入图片,我们可以把矢量图解析成多个笔画,每个笔画解析成直线曲折相连,这样就可以得到对应绘图轨迹。G代码(G-code)是最为广泛使用的计算机数控编程语言,主要在计算机辅助制造中用于控制自动机床。

我们使用开源工具svg_to_gcode,把svg文件转成G代码文件。致远电子

图12 G代码文件

查看G代码文件,可以看到都是G1指令,说明都是直线插补命令。这说明我们只用直线插补命令就能完成绘图。对应的绘图图案如下,不同的颜色对应不同的笔划,可以看到图片包含十八笔的仿真笔画图。

致远电子

图13 笔画轨迹图片

每一笔划都要有进笔(笔尖触及纸张),作画(笔尖写字)和退笔(笔尖远离纸张)。G代码中进笔对应M3指令(进刀),退笔对应M5指令(退刀)。这样才能书写多个笔划。

目标图形总共有十八笔的笔画,要想作画就得先对笔画进行排序。这里使用最直观的笔划排序算法,先左后右,先上后下。
加入笔画的连接,可以得到以下的笔画仿真绘图。

致远电子

图14 连笔笔画绘图

可以看到,仿真效果大体上符合我们的预期。我们就可以在运动控制器中运行G代码脚本。使用ssh连接运动控制器,启动控制程序。设置左下方为原点,沿着纸张往右边写字,纸张宽度至少280mm,高度60mm。使用梯形速度规划,配置最大速度100mm/s,最大加速度和最大减速度为100mm/s^2。进笔和退笔,对应z轴上下的运动,进笔量和退笔量都设为10mm。为了提高绘图效率,开启了连续插补,运动前瞻和拐角减速。

致远电子

图15 绘图  可以看到,我们使用ZMC300E控制器漂亮地完成了绘图。    

 

 

 

           


原文标题:【产品应用】手把手带你使用ZMC300E绘图

文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。


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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分