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

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

3天内不再提示

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

ZLG致远电子 2023-01-13 09:29 次阅读

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

eb5ec212-918d-11ed-ad0d-dac502259ad0.jpg  前言

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

eb69248c-918d-11ed-ad0d-dac502259ad0.png图1ZMC300E控制器

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

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

eb5ec212-918d-11ed-ad0d-dac502259ad0.jpg  算法原理

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

eb892e94-918d-11ed-ad0d-dac502259ad0.png

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

eb9daea0-918d-11ed-ad0d-dac502259ad0.png

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

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

ebace06e-918d-11ed-ad0d-dac502259ad0.png

图4梯形速度规划-位移示意图ebb865ec-918d-11ed-ad0d-dac502259ad0.png图5梯形速度规划-加速度示意图

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

3.运动前瞻

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

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

ebc45dc0-918d-11ed-ad0d-dac502259ad0.png

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

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

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

ebe7d908-918d-11ed-ad0d-dac502259ad0.png

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

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

ebf33190-918d-11ed-ad0d-dac502259ad0.png

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

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

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

eb5ec212-918d-11ed-ad0d-dac502259ad0.jpg  实战绘图

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

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

ec113302-918d-11ed-ad0d-dac502259ad0.png

图10画笔平台

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

ec514082-918d-11ed-ad0d-dac502259ad0.jpg

图11Logo图片

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

我们使用开源工具svg_to_gcode,把svg文件转成G代码文件。ec60a2c0-918d-11ed-ad0d-dac502259ad0.png

图12G代码文件

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

ec7090e0-918d-11ed-ad0d-dac502259ad0.png

图13 笔画轨迹图片

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

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

ec80beac-918d-11ed-ad0d-dac502259ad0.png

图14 连笔笔画绘图

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

ec901aaa-918d-11ed-ad0d-dac502259ad0.png

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

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

    关注

    112

    文章

    16392

    浏览量

    178451
  • Linux
    +关注

    关注

    87

    文章

    11314

    浏览量

    209795
收藏 人收藏

    评论

    相关推荐

    手把手教你做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战

    ”携手“电子发烧友”联合推出了《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。此次首发内容是《手把手教你做PC-
    的头像 发表于 01-06 20:46 36次阅读
    《<b class='flag-5'>手把手</b>教你做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战

    ZMC600E运动控制器T型、S型速度规划详解

    导读想深入了解ZMC600E运动控制器的速度规划吗?T型线性加减速简洁高效,S型过渡自然减震,避免冲击。通过合理的规划选择,可有效提升设备精度、效率与性能。深入探索其核心,为工业自动化设备的控制赋能
    的头像 发表于 12-30 11:40 111次阅读
    <b class='flag-5'>ZMC600E</b>运动控制器T型、S型速度规划详解

    Air780E模组LuatOS开发实战 —— 手把手教你搞定数据打包解包

    本文要说的是低功耗4G模组Air780E的LuatOS开发实战,我将手把手教你搞定数据打包解包。
    的头像 发表于 12-03 11:17 205次阅读
    Air780<b class='flag-5'>E</b>模组LuatOS开发实战 —— <b class='flag-5'>手把手</b>教你搞定数据打包解包

    第14章-蓝牙遥控小车 蓝牙串口通讯讲解蓝牙APP遥控小车 蓝牙串口通讯讲解

    第14章-蓝牙遥控小车 手把手做蓝牙APP遥控小车 蓝牙串口通讯讲解
    的头像 发表于 08-21 16:24 789次阅读
    第14章-蓝牙遥控小车 蓝牙串口通讯讲解蓝牙APP遥控小车 蓝牙串口通讯讲解

    手把手教你通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    手把手教你通过宏集物联网工控屏&网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户终端
    的头像 发表于 08-15 13:29 537次阅读
    <b class='flag-5'>手把手</b>教你通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    工商业储能选型指南及参数详解

    行业普遍认为2023年是工商储元年。如今,工商储赛道仍然持续升温中,无数新玩家涌入。但令人眼花缭乱的选型配置成为不少玩家的第一道门槛,今天小固就手把手带你进行工商储选型,为你进行核心参数详解。
    的头像 发表于 08-05 14:52 2969次阅读
    工商业储能选型指南及参数详解

    手把手教你在orcad中设置CIS元器件数据库,提高工作效率

    元器件数据库,就是实现上述查找元件、放置元件时所需要调用的数据库。本文将手把手教你如何在orcad中配置CIS元器件数据库。
    的头像 发表于 06-15 17:27 6319次阅读
    <b class='flag-5'>手把手</b>教你在orcad中设置CIS元器件数据库,提高工作效率

    手把手教你排序算法怎么写

    今天以直接插入排序算法,给大家分享一下排序算法的实现思路,主要包含以下部分内容:插入排序介绍插入排序算法实现手把手教你排序算法怎么写在添加新的记录时,使用顺序查找的方式找到其要插入的位置,然后将
    的头像 发表于 06-04 08:03 722次阅读
    <b class='flag-5'>手把手</b>教你排序算法怎么写

    手把手带你移植HAL库函数

    开发者更高效地进行嵌入式开发。手把手带你移植HAL库函数HAL库提供了一套抽象接口,使开发者无需直接操作底层硬件寄存器,就能实现对硬件的控制。这种抽象使得代码能够更
    的头像 发表于 05-18 08:04 1972次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>带你</b>移植HAL库函数

    ZMC900E控制器之ROS2环境安装指南

    ZMC900E是致远电子研发的最新一代高性能EtherCAT控制器,支持ROS2系统,兼备强大功能和实时性,为工业应用带来新的可能。本文将详述ROS2特点和安装,助力用户在机器人上的二次开发
    的头像 发表于 04-29 08:24 620次阅读
    <b class='flag-5'>ZMC900E</b>控制器之ROS2环境安装指南

    ZMC900E 国产EtherCAT主站控制器 — 电源口传导骚扰整改

    为确保EtherCAT主站控制器在工业自动化中的可靠和稳定应用,EMC测试至关重要。本文以ZMC900E电源传导骚扰整改为例,深入解析EMC原理,助您精准定位问题,避免无效整改。图1ZMC900E
    的头像 发表于 03-07 08:23 874次阅读
    <b class='flag-5'>ZMC900E</b> 国产EtherCAT主站控制器 — 电源口传导骚扰整改

    【先楫HPM5361EVK开发板试用体验】(原创)5.手把手实战AI机械臂

    HPMicro 【先楫HPM5361EVK开发板试用体验】2手把手实战密钥管理器 KEYM 【先楫HPM5361EVK开发板试用体验】3手把手实战安全数据处理器 SDP 【先楫HPM5361EVK开发板
    发表于 02-06 10:28

    【飞腾派4G版免费试用】4.手把手玩转QT界面设计

    完成了使用Qt Designer进行界面设计的全部流程!是不是觉得像魔法一样神奇呢?赶紧试试吧! 接上三篇: 【飞腾派4G版免费试用】1.实战交叉编译环境搭建和手把手uboot编译 【飞腾派4G版免费
    发表于 01-27 12:49

    工程送样!手把手教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 709次阅读
    工程送样!<b class='flag-5'>手把手</b>教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    【飞腾派4G版免费试用】3.手把手玩转制作rootfs根文件系统

    接上两篇:【飞腾派4G版免费试用】1.实战交叉编译环境搭建和手把手uboot编译 【飞腾派4G版免费试用】2.手把手实战编译Linux内核 嗨,亲爱的工程师、学生和爱好者们,我来啦!今天我要带你
    发表于 01-09 10:49