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

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

3天内不再提示

【产品应用】三个步骤,让你的EtherCAT电机转起来

AGk5_ZLG_zhiyua 来源:未知 2022-12-08 11:40 次阅读
EtherCAT是自动化控制最好的实时环形控制总线之一,本文以最简单的方式带你实际操作ZMC300E的EtherCAT总线,让你的EtherCAT电机转起来。


前言

当一个鼠标插入到电脑时,发生了什么?
  • 首先电脑会检测到有USB插入;

  • 然后,电脑会提示安装驱动;

  • 最后,就可以通过鼠标来移动光标、单击、双击等操作了。

这有问题么?当前没有问题,但作为程序猿,有两个地方值得深挖一下。
1、电脑安装的驱动,是什么驱动?当然是鼠标驱动,因为我们接入的是鼠标。但电脑是如何知道呢?原来USB规范中,要求每个USB设备都要有自己的设备描述符,电脑通过分析该描述符,才知道接入的是什么设备。
2、为什么能通过鼠标来移动光标?这是双方共同合作的结果。首先鼠标提供光标位置的数据,然后电脑收到鼠标的数据后,将数据作用到光标的位置上产生移动效果。这需要有个前提,即鼠标数据的格式,电脑需要先知道其格式,才能解释这份数据。这份数据格式的定义,在USB的接口描述符规范中进行了定义。

说了这么多,这和EtherCAT有关系么?当然有,对于EtherCAT或者任意一个总线来说,都需要知道接入设备的类型及数据格式,否则是无法解释数据的,通常有两种方式:

  • 事先约定:通过事先约定的来确定工作如何进行。这就像发个信息说“我们晚上8点一起看电影吧“一样简单,这是小编喜欢它的原因。但这个约定有时就像友谊的小船说翻就翻,对方招呼也不打,只剩你一个人还傻傻地站在的电影院门口;

  • 协议规范:定义一套完整的规范,大家一起遵循它。规范通常都很多很杂,学习成本较高,按规范开发就像是你去做的基金定投,短期收益低,但稳定可靠。

EhterCAT和USB一样都采用了协议规范这种方式,这里简单介绍一下EtherCAT的相关规范及用途:
  • ESI(EtherCAT Slave Information):这个是从站提供的标准描述规范文件,该文件描述了设备的类型、数据格式及一些“特殊癖好”,这就相当于USB的设备描述符+接口描述符。

  • ENI(EtherCAT Network Information):这个是用于给主站启动时,加载的标准配置规范文件,用于初始化所有的从站。这个文件描述了从站的数量、每个从站的类型及数据格式、DC等配置信息。

ESI还理解,为啥还多了个ENI呢?EtherCAT规范为了满足工业控制的复杂性,ESI中提供了非常强大的可配置功能,相对的使用起来也变得困难了。因此EtherCAT采用静态化配置,即由PC使用可视化工具进行对应的配置工作,配置完成后导出不可变的ENI配置,给到具体的主站设备来执行。所谓静态化配置,即EtherCAT网络设备发生变化时,需要重新执行配置工作,相比于USB的全自动配置,功能强大了,但使用也麻烦了。有得必有失,这是EtherCAT的选择。
简单总结一下EtherCAT开发,可分三步走:生成ENI,加载ENI,解释输入输出数据。


准备工作

开始EtherCAT测试前,需要准备以下硬件:一台电脑、一台ZMC300E运动控制器、一台EtherCAT伺服驱动器、2根网线,然后使用网线将设备按如下示意图进行连接。


生成ENI文件

1. 启动EtherCAT服务

打开putty.exe软件,输入运动控制器NET1的默认IP地址:192.168.1.136,账号和密码为root。

2.连接设备

启动ZlgEtherCatStudio上位机配置软件,输入运动控制器NET1的默认IP地址:192.168.1.136,点击回车。

3. 扫描网络

通过扫描EtherCAT总线,来识别接入了多少个设备,并将其网络拓扑添加到本地主站树节点。

4.导入ESI

如果该从站无法正确识别,可手动导入从站ESI(EtherCAT Slave Information)文件。

5. 配置FMMU

一般应用不需配置从站FMMU/SM,使用从站默认配置即可。当需要改变输入输出变量时,可通过本配置项配置。

6. 生成ENI文件

导出ENI,取名为text_eni。


加载ENI文件
1.将上一步生成的test_eni.xml文件,通过WinSCP工具上传到运动控制器的目录/opt中。

2. 使用控制器加载ENI配置/文件
在putty.exe工具,先输入ctrl+c结束当前主站程序,输入以下命令启动主站并加载ENI配置文件:
/opt/ecat_test/master /opt/test_eni.xml,看到输出ethercat start success即代表成功。


解释输入输出数据

在CiA402规范中,定义了伺服类设备的数据格式,这里给大家介绍一下最常用的位置控制模式的数据格式。

1.输出数据

  • Controlword:控制字,16Bit,主要用于控制电机上下电,抱闸等;

  • Target Position:目标位置,32Bit,用于控制电机转到指定的位置。

2.输入数据(相对于设备)
  • Statusword:控制字,16Bit,主要用于控制电机上电、下电、抱闸等操作;

  • Position Actual Value:实际位置,用于反馈电机当前所在位置。我们要做的就是周期性解释以上4个数据,然后执行对应的操作即可,可参考如下代码:


电机测试

在putty.exe工具中,可使用以下命令,对电机进行简易测试,这些命令是基于CiA402规范进行实现的。

1. move_test命令

angle表示电机转动角度,输入该命令后,电机会一直重复执行输出:先正转angle度,然后反转angle度。

输入move_test 90,仔细观察电机的转动,如果发现转动的角度比90度小,则说明脉冲当量偏小,应适当增加。推荐10倍住上递增进行测试,该值默认为1。

2、units命令
unit表示脉冲当量,units 1000命令用于将轴0的脉冲当量设置成1000。使用units?查看所有轴的脉冲当量。

其它补充

1. 关于脉冲当量

在实际应用中,脉冲当量的准备值,是如何计算出来的?这个应根据实际的场景及所需要单位来确定,这里给出一个常见的,以角度为单位的脉冲当量计算公式。

编码器的分辨率,可以从伺服驱动器的手册得到。

2. 关于EtherCAT主站

ZMC300E提供的EtherCAT主站,采用的是KPA master主站,商业授权,其主要特点是高效、稳定、支持通过硬件来消除帧抖动(ZMC300E可做到±15us的抖动),我司已购买其版权,用户可免费自由使用。


原文标题:【产品应用】三个步骤,让你的EtherCAT电机转起来

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

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

    关注

    13

    文章

    405

    浏览量

    31275

原文标题:【产品应用】三个步骤,让你的EtherCAT电机转起来

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

收藏 人收藏

    评论

    相关推荐

    简述光刻工艺的三个主要步骤

    “ 光刻作为半导体中的关键工艺,其中包括3大步骤的工艺:涂胶、曝光、显影。三个步骤有一异常,整个光刻工艺都需要返工处理,因此现场异常的处理显得尤为关键”
    的头像 发表于 10-22 13:52 327次阅读

    PMSM_3_4的程序用的LEVEL1,永磁同步电机不能正常转起来,为什么?

    有人用官网上的PMSM_3_4程序控制永磁同步电机吗? 为什么我用PMSM_3_4的程序用的LEVEL1,永磁同步电机不能正常转起来电机只在那来回摆动。有谁能帮忙解答一下吗?
    发表于 09-14 07:21

    快速确定升压转换器最大输出电流的三个步骤

    电子发烧友网站提供《快速确定升压转换器最大输出电流的三个步骤.pdf》资料免费下载
    发表于 09-07 10:42 0次下载
    快速确定升压转换器最大输出电流的<b class='flag-5'>三个</b><b class='flag-5'>步骤</b>

    建立神经网络模型的三个步骤

    建立神经网络模型是一复杂的过程,涉及到多个步骤和细节。以下是对建立神经网络模型的三个主要步骤的介绍: 第一步:数据准备 1.1 数据收集 数据是神经网络的基础。首先,
    的头像 发表于 07-02 11:20 707次阅读

    研控8线步进电机最简单三个步骤

    步进电机是一种将电脉冲信号转换为机械角位移的电机,广泛应用于各种自动化设备和机器人中。研控8线步进电机是一种常见的步进电机类型,具有较高的精度和稳定性。本文将详细介绍研控8线步进
    的头像 发表于 06-12 09:16 1143次阅读

    不用上位机如何伺服电机转起来

    在没有上位机的情况下,要让伺服电机转动起来,可以通过以下步骤实现: 1. 了解伺服电机的基本原理 伺服电机是一种高精度的
    的头像 发表于 06-06 10:57 960次阅读

    RISC-V的中断处理 中断操作三个步骤

    中断操作三个步骤: 1、中断初始化 2、trap处理 3、用户中断处理
    的头像 发表于 05-20 16:38 1089次阅读

    stm32 foc2.0电机可以向一方向转起来,在反转的时候会卡一下,为什么?

    我的电机是23对极的,带Hall直流无刷电机。配置好参数后,电机可以向一方向转起来,运转很好,但在反转的时候会卡一下。不知道什么原因。经过
    发表于 05-10 06:18

    stm8s003/stm8s005单片机控制的电机,当电机转起来时,用手一捏住光感线,电机速度就变慢了或是停下,为什么?

    我最近遇到一问题,很奇怪,也很难解释。我采用的stm8s003 stm8s005单片机控制的电机,用于跑步机方面的。电机的速度反馈采用的是光感,当电机
    发表于 05-08 08:13

    STEVAL-SPIN3202如何使用SDK5.x控制电机

    我现在使用的板子是STEVAL-SPIN3202,电机使用的是BR2804-1700Kv,已经通过workbench生成的代码电机转起来了,想请教一下,接下来该学习些什么去控制
    发表于 04-17 06:49

    为什么电机与st moto workbench里的方向是相反的?

    用的带霍尔传感器的FOC 现在电机可以转起来了,但是不能调速,一直是固定速度在旋转,而且与 ST motor workbench 5.44 里的UI 是相反的..百思不得其解,找论坛里的大神帮忙分析一下,哪里不对了..
    发表于 04-09 07:33

    传入SVPWM的电压矢量太小的时候电机不转怎么解决?

    我自己制作了一FOC驱动板,单电阻采样,但是最终反Park变换计算出来的Vα和Vβ太小了,电机根本就不转。我要乘以一系数才开始转。但转起来PWM波形、单电阻的电流波形是对的,平均电
    发表于 03-29 06:58

    怎么电机转起来

    我有一80w相六线380v/220v电机,一相序保护继电器xj12,请问我还需要做什么才能让它转起来?需要变频器吗?我从哪里弄电源呢?
    发表于 03-27 16:07

    TLE9893的评估版驱动一无感BLDC,请问怎么配置config Wizard才能让电机转起来

    不需要什么精确的控制,只要能够转起来就行
    发表于 01-25 07:31

    单相电机启动时如果电容坏了,用手推一下电机会不会转起来

    单相电机启动时如果电容坏了,用手推一下电机电机会不会转起来
    发表于 12-18 07:33