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

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

3天内不再提示

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

AGk5_ZLG_zhiyua 来源:未知 2022-12-30 22:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

9777784c-8846-11ed-bfe3-dac502259ad0.jpg  前言

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

9784026a-8846-11ed-bfe3-dac502259ad0.png图1ZMC300E控制器

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

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

9777784c-8846-11ed-bfe3-dac502259ad0.jpg  算法原理

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

979cb71a-8846-11ed-bfe3-dac502259ad0.png

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

97ac2be6-8846-11ed-bfe3-dac502259ad0.png

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

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

97b8a434-8846-11ed-bfe3-dac502259ad0.png

图4梯形速度规划-位移示意图97c784ae-8846-11ed-bfe3-dac502259ad0.png图5梯形速度规划-加速度示意图

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

3.运动前瞻

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

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

97d7fd0c-8846-11ed-bfe3-dac502259ad0.png

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

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

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

97fb3678-8846-11ed-bfe3-dac502259ad0.png

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

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

9813a37a-8846-11ed-bfe3-dac502259ad0.png

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

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

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

9777784c-8846-11ed-bfe3-dac502259ad0.jpg  实战绘图

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

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

983393c4-8846-11ed-bfe3-dac502259ad0.png

图10画笔平台

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

985304de-8846-11ed-bfe3-dac502259ad0.jpg

图11Logo图片

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

我们使用开源工具svg_to_gcode,把svg文件转成G代码文件。9869a8ba-8846-11ed-bfe3-dac502259ad0.png

图12G代码文件

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

987c2e9a-8846-11ed-bfe3-dac502259ad0.png

图13 笔画轨迹图片

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

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

98a3cad6-8846-11ed-bfe3-dac502259ad0.png

图14 连笔笔画绘图

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

98ba459a-8846-11ed-bfe3-dac502259ad0.png

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


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

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


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

    关注

    13

    文章

    425

    浏览量

    32699

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【K230/K230D 新技能点亮】手把手教你在RTOS系统添加一个屏幕|保姆级教程

    不少开发者反馈:项目里常用的小众型号、未适配的SPI/QSPI/MCU屏幕,该怎么在K230/K230D上驱动?别急,今天这篇保姆级教程,就来手把手教你搞定自定义屏幕适配,解锁更多低成本小屏方
    的头像 发表于 05-23 10:05 2558次阅读
    【K230/K230D 新技能点亮】<b class='flag-5'>手把手</b>教你在RTOS系统添加一个屏幕|保姆级教程

    BNC连接器规格尺寸避雷指南:手把手教你避开选型常见坑

    堆砌,手把手教你通过自检清单精准排雷,确保射频链路在数千次插拔后依然稳如泰山。10年避坑经验总结,助你告别选型错误带来的报废风险,让每一个接头都实现真正的“无损传输”。
    的头像 发表于 05-13 09:34 1194次阅读
    BNC连接器规格尺寸避雷指南:<b class='flag-5'>手把手</b>教你避开选型常见坑

    射频头坏了只能扔?手把手教你维修排查TNC插头,干货值得收藏!

    射频接头坏了只能剪掉重做?未必!本文由电蜂优选(elecbee)专家亲授,深度拆解 TNC 插头的维修排查全流程。从中心针偏移纠偏、氧化层化学清理到组装式接头的无损重组,手把手教你如何通过 VNA
    的头像 发表于 04-14 17:12 258次阅读
    射频头坏了只能扔?<b class='flag-5'>手把手</b>教你维修排查TNC插头,干货值得收藏!

    《TEC 温控为什么总是超调?手把手调 PID》

    大,越调越晃。 二、手把手 PID 整定流程(最简单、最实用) **顺序口诀:先 P → 关 I → 微 D 1️⃣ 只开 P,I=0,D=0 慢慢加大 P,直到温度 刚好不震荡、勉强贴近设定值 。 2
    发表于 03-24 14:49

    从0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    “告别检测系统能力缺陷!10+年LabVIEW视觉资深专家手把手教你:5000+分钟高清教程(含工具、算法原理、实战操作、项目优化全流程讲解)”——从传统视觉算法→深度学习建模→工业级部署"
    的头像 发表于 12-02 08:07 889次阅读
    从0到1,10+年资深LabVIEW专家,<b class='flag-5'>手把手</b>教你攻克机器视觉+深度学习(5000分钟实战课)

    迅为Hi3403开发板极速启航 | 手把手带你玩转核心例程,轻松上手AI视觉!

    迅为Hi3403开发板极速启航 | 手把手带你玩转核心例程,轻松上手AI视觉!
    的头像 发表于 11-19 13:56 1945次阅读
    迅为Hi3403开发板极速启航 | <b class='flag-5'>手把手</b><b class='flag-5'>带你</b>玩转核心例程,轻松上手AI视觉!

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用
    的头像 发表于 11-11 14:21 1688次阅读
    【迅为RK3568开发板NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b>教你玩转RKNN-Toolkit2 的使用

    【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果

    【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果
    的头像 发表于 11-10 15:58 1335次阅读
    【RK3568 NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b><b class='flag-5'>带你</b>用迅为资料跑通Android AI检测Demo,附完整流程与效果

    手把手教你AT指令APN设置:专网连接零门槛!

    无论你的技术背景如何,本教程都将以手把手的方式,拆解AT指令APN设置的全流程。专网连接不再是门槛,即刻开启自主配置之旅! APN是设备连接到运营商网络的“身份证” ——当设备插入SIM卡并注册到
    的头像 发表于 09-04 14:40 1535次阅读
    <b class='flag-5'>手把手</b>教你AT指令APN设置:专网连接零门槛!

    K8s存储类设计与Ceph集成实战

    在云原生时代,存储是制约应用性能的关键瓶颈。本文将带你深入理解K8s存储类的设计原理,并手把手实现与Ceph的完美集成,让你的集群存储性能提升300%!
    的头像 发表于 08-22 11:50 1229次阅读

    RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结

    VGLite是NXP提供的轻量级2D图形API,本文将手把手带你实现VGLite图形驱动适配RT-Thread。文章分为上、下两篇,将手把手教您移植。上篇对RT-ThreadNano内核与Finsh组件进行移植,下篇则教您改写S
    的头像 发表于 07-17 14:40 3755次阅读
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>实现VGLite图形驱动适配 | 技术集结

    【教程】零基础!手把手教你使用STM32F4进行E22-400T22S编程通信

    零基础搭建本次实验将会使用到的软件是Keil和STM32CubeMX,没有这两个软件没有请在网上自行下载。本章节零基础手把手教会你搭建最快捷、最简单的STM32代码
    的头像 发表于 07-03 19:32 1961次阅读
    【教程】零基础!<b class='flag-5'>手把手</b>教你使用STM32F4进行<b class='flag-5'>E</b>22-400T22S编程通信

    【精选直播】手把手教你做PC第十二课:WIFI 驱动框架适配

    手把手教你做PC》系列直播课再度开播!《KaihongOS笔记本电脑开发实战第十二课:WIFI驱动框架适配》将于07月02日19:00开播↑扫码入群,领课程讲义资料包↑深开鸿资深工程师亲临直播间
    的头像 发表于 07-01 08:08 803次阅读
    【精选直播】<b class='flag-5'>手把手</b>教你做PC第十二课:WIFI 驱动框架适配

    【精选直播】手把手教你做星闪无人机第十课:KaihongOS Lite系统专题

    手把手教你做星闪无人机》系列直播课再度开播!《KaihongOS星闪无人机开发实战⑩:KaihongOSLite系统专题》↑扫码入群,领课程讲义资料包↑深开鸿资深工程师亲临直播间依托笔电实战产品
    的头像 发表于 06-10 08:06 702次阅读
    【精选直播】<b class='flag-5'>手把手</b>教你做星闪无人机第十课:KaihongOS Lite系统专题

    手把手教你如何调优Linux网络参数

    在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何调优Linux网络参数,支撑百万级并发连接。
    的头像 发表于 05-29 09:21 1327次阅读