减小步进电机振动的方法(一)- 细分技术

步进电机性能除了电机本体外,还会根据驱动方式和控制方法不同而受到很大影响。步进电机的驱动方式又分为整步、半步、细分驱动等模式。

一、整步驱动
在整步驱动时,步进电机驱动器按脉冲/方向指令对两相步进电机的两个线圈循环激磁(即将线圈充电设定电流),这种驱动方式的每个脉冲将使电机移动一个基本步距角,即1.80度 (标准两相电机的一圈共有200个步距角)。下图是整步驱动方式的电机定子电流次序示意图:

整步驱动每一步只有一相通电,整步驱动相序如下:BB’→A’A→B’B→AA’→BB’。
下图是整步驱动方式的电流矢量分割图:

下图是整步驱动方式的A、B相的电流I vs T图:

观察发现,整步驱动方式的电流矢量把一个圆平均分割成四份,整步驱动的电流波形比较粗糙的。使用这种驱动方式,电机低速时会抖动,噪声也比较大。但是,这种驱动方式的优点是无论在硬件或软件上都是相对简单,从而驱动器制造成本容易得到控制。

二、半步驱动
在单相激磁时,电机转轴停至整步位置上,驱动器收到下一脉冲后,如给另一相激磁且保持原来相继处在激磁状态,则电机转轴将移动半个步距角,停在相邻两个整步位置的中间。如此循环地对两相线圈进行单相然后双相激磁步进电机将以每个脉冲0.90度的半步方式转动。和整步方式相比,半步方式具有精度高一倍和低速运行时振动较小的优点。

下图是半步驱动方式的电机定子电流次序示意图:

半步驱动方式比整步驱动方式相对复杂一些,在同一时刻,可能两个相都需要通电,通电电流应该为单相通电电流的√2/2。当然,也可以直接通与单相电流相等的电流,结果是电机转动过程中的力矩不恒定,但它带来的好处是简化驱动电路或软件编写。

半步驱动方式的驱动相序如下:BB’→BB’& A’A→A’A→B’B & A’A→ B’B→B’B  & AA’→AA’→ AA’&  BB’。按以上相序对电机通电,产生的电流矢量则可以把一个圆分割成8份。

半步驱动电流矢量如下图所示:

半步驱动方式的两相电流图如下图所示:

由上图可知,半步驱动时,描出的电流波形较整步驱动方式,有了很大改观,电流波形更平滑。对比整步驱动,电机的步进角分辨率提高了一倍,且电机运行更平稳,更安静。

三、细分驱动

细分驱动是将全部驱动时的各相的电流以阶梯状n步逐渐增加,使吸引转子的力慢慢改变,每次转子在该力的平衡点静止,将步距角作n个细分,可使转子运转效果光滑,因此,在低速运转时,此法可认为是降低振动的有效方法之一。

对比下图,可以看出某种规律:细分越多,电流矢量分割圆越来越稠密。

如上图的c,这是4细分驱动的分割图。从某种意义上,整步和半步驱动也是细分驱动的一样,它们的关系就如正方形和长方形的关系。

上图是4细分驱动方式的两相电流图,由图看出,这时每相电流的曲线较半步驱动时的电流曲线更加细腻,近似正弦波。
细分驱动方式是降低振动极为有效的方法,但是有以下要点需要注意:

  • 细分驱动在低速运行时效果越好,如果输入频率太快,对细分波形来说,由于不能得到希望的电流波形,会使电机跟踪精度变差。
  • 理论上细分数越多,降低振动的效果越明显,但实际到8细分是效果变化并不大。通过实际测试不同细分数的电流波形和电机转动角,我们发现8细分与16细分以上不会有效果的差别。
  • 细分的角度虽然能定位,但其精度不高,因此定位控制时,用细分的2相或1相导通方式来定位。

Raspberry PI 与锐特机电ECR60 EtherCAT连接

Raspberry PI 与锐特机电ECR60 EtherCAT连接

主要步骤参考:http://bbs.hicodesys.com/thread-7357-1-1.html

1、前往中文官网下载最新的Codesys环境,安装提示完成安装。

2、下载树莓派运行环境:CODESYS Control for Raspberry PI 3.5.15.30

大家可以前往英文官网下载。下载需要注册账号,注意地址填写要规范,不要乱填,它会自动弹出一些可选的地址。

3、在codesys中安装Raspberry PI package,点击“Install”,选择下载好的package,等等安装完成。

4、新建项目,选择好项目名称和路径,接下来选择树莓派作为主机,

在项目中,首先安装raspberry 支持库到树莓派,

设置好树莓派用户明,密码,IP地址,点击“Install”即可,等等安装完成。

5、扫描树莓派主机,选择对应的树莓派设备即可。

6、添加深圳锐特机电技术有限公司的EtherCAT步进驱动器ECR60描述文件

在Tool -> Device Repository,中“Install”,选择对应的ECR60V200.xml文件,安装完成后如下图:

7、添加EtherCAT Master主占,在Device右键“Add Device”

选择“EtherCAT Master”。

双击“EtherCAT_Master”进行设置:

选择“eth0”,OK。

8、将ECR60连接好电源,EtherCAT In网口通过网线连接至树莓派的有线网口,接着登陆树莓派:

Online —> Login。然后再Ether_Master 选项,右键“Scan devices”,如下图,可以查找到ECR60驱动器:

选择驱动器,点击“Copy device to project”,将驱动器添加到项目中。

9、ECR60设置

本单元首先进行简单的EtherCAT IO测试。ECR60具有6个光电隔离的输入。IN3~IN6输入端口共阳接法,24V电平逻辑。我们做一个测试,读取IN3端口的状态,反应到程序中,并依据输入状态,设置树莓派的输出端口状态。

首先,退出登陆:Online —> Logout。

在项目中默认的POU中编写简单的程序:

双击“ECR60”,在“EtherCAT I/O Mapping”中映射变量,

将ECR60的Digital Input 的Bit0,映射到变量Xswitch。

由于我使用的树莓派版本为B版本,如果使用B+以后的版本,需要更改树莓派GPIO的版本,在项目的GPIOs_A_B中右键,选择“Update device”,选择“GPIOs B+/Pi2”。

在GPIOs_A_B中,首先在GPIOs Parameters中,双击 GPIO4 的Value选项,将它设置为输出“Output”,然后设置GPIOs I/O Mapping,我们将Bit4映射到变量Xlight。

 

找一个LED灯,LED正极串接1个点2K的限流电阻,再连接到GPIO4引脚,我的PI B版本位于左侧向下第4引脚,LED负极接左侧最下面的GND引脚。引脚的分配可以通过指令:gpio readall读取。

将PLC_PRG任务拖动到“EtherCAT_Task”,编译项目,再次登陆PI,将程序下载到树莓派。点击“Debug”—>Start。如果一切设置正确,PLC将运行如下图:

在ECR60 I/OMapping界面可以监控IN3的输入状态,此时在ECR60的驱动器输入接口,COM+接入24V正极,IN3接入24V电源的负极,可以观察到Bit0 变成“TRUE”,断开IN3,变为FALSE。

 

在PLC_PRG里面可以监控到对应变量的变化,此时LED灯依据IN3的输入状态发生变化。

至此,树莓派和锐特机电的总线步进驱动器ECR60可以正常连接。

下一节介绍树莓派对ECR60的运动控制功能。

树莓派系统安装及无线网络设置

准备工具:

  1. 树莓派
  2. SD卡
  3. HDMI显示器及线缆
  4. USB鼠标和键盘

Step1:前往树莓派官网下载系统并安装。安装系统有两种方式:

第一种:采用Raspberry Pi Imager for Windows安装工具。下载完成以后,运行安装工具,如下图:

选择好系统及SD卡后,点击“WRITE”,等待完成即可。此过程采用网络下载系统并写入,所以时间较长。

第二种,下载系统镜像以后,再写入SD卡。接入系统下载界面,有三种系统可选,为了方便省事,可以选择第一个。如下图。

下载完成后,工具安装指南进行,具体参考官网指南。我选择balenaEtcher

Step2:依据提示将系统文件写入SD卡,插入树莓派插槽,接好HDMI显示器,通过USB供电,就能见到开机画面了。

Step3:系统设置

在主目录Preferences -> Raspberry Pi Configuration,Interfaces界面设置SSH、VNC、Serial Port、Serial Console、Remote GPIO 为Enable。

Step4:无线网卡设置

我使用的树莓派为较古老的B+版本,只有一个网口,两个USB端口。后续网口需要留给EtherCAT通讯,所以需要增加要给USB无线网卡,用作Codesys的目标连接。

为了设置这个无线网卡,需要折腾一下。

首先通过有线网口,将树莓派连接到和你电脑同一个局域网,一个USB接口插上鼠标,一个USB接口插上无线网卡,我找到了一个TPLINK无线网卡。此时通过树莓派显示器,可以查看到有限网口的IP地址,记录下来,192.168.0.43。

接下来通过Putty远程连接树莓派,如下图:

点击“Open”,使用默认的用户名pi和密码 raspberry登陆。

使用lsusb指令,查看是否识别到无线网卡:

Bus 001 Device 005: ID 09da:c10a A4Tech Co., Ltd.
Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Realtek是我无线网卡,驱动是OK的。

剩下的步骤请参考:https://blog.csdn.net/yuliying/article/details/78764163。

 

接下来进行Codesys运行环境设置。

TwinCAT3 教程:快速启动

TwinCAT 3 教程:快速启动

本章是TwinCAT 3 教程的一部分。

这个“快速入门”实际上很长,但是它将带您完成对TwinCAT 3 PLC程序的下载,安装,配置,编程,构建,激活,在线,强制甚至在线更改。 完成后,您将对TwinCAT 3系统及其工作原理有基本的了解。

准备工作

TwinCAT 3可以在Windows 7、Windows 10完全支持TwinCAT 3。

Beckhoff的主要产品线之一是工业PC,如果您购买其工业PC,您将获得TwinCAT 3许可证的折扣。

BIOS设置

如果使用第三方PC,则可能必须在BIOS中更改以下设置:

关闭超线程(专门用于Intel Core-i7)
打开64位版本的TwinCAT 3所需的英特尔虚拟化技术扩展(VT-x)

 

下载TwinCAT3

TwinCAT 3安装程序可以免费下载,但需要注册。 Beckhoff会定期发布新版本,因此,要获取最新版本,请访问其产品网页:

http://www.beckhoff.com/english.asp?download/tc3-downloads.htm

安装TwinCAT 3

在解压缩下载的TwinCAT 3归档文件的目录中,找到“ exe”文件,然后双击按照提示继续安装即可。

安装完成,按照提示重启电脑。

创建第一个TwinCAT3项目

现在您已经安装了TwinCAT 3,在系统托盘中签中可以找到新图标:

TwinCAT3 教程: 简介

TwinCAT 3 教程: 简介

本章是TwinCAT 3 教程的一部分。

TwinCAT(The Windows Control and Automation Technology,基于Windows的控制和自动化技术)自动化软件是控制系统的核心部分。TwinCAT 软件系统可将任何一个基于PC 的系统转换为一个带多PLC、NC、CNC 和机器人实时操作系统的实时控制系统。TwinCAT 3 是TwinCAT 2 进一步发展的产物。

TwinCAT 3 为工程技术开辟了一条新的道路,并通过添加很多功能对实时内核进行扩展。工程环境完全集成在微软的Visual Studio框架中,除了系统配置、运动控制、I/O和IEC61131 PLC编程语言之外,还可以进行编程和调试。

使用这些编程语言能够创建可以在TwinCAT 3 实时内核中执行的模块。能够执行的模块数量几乎无限。TwinCAT 3中的任务数量也得到了显著提升。TwinCAT 3 实时内核环境使得模块能够装载到一个多核处理器的不同核上。

Beckhoff一直在推动基于PC的控制系统,该系统基于商用硬件,例如Intel x86处理器和以太网芯片。 借助TwinCAT 3,他们的自动化软件现在支持多核处理,这使传统的PLC技术远远落后了。

在我启动的所有新TwinCAT 3 PLC程序上,默认情况下,我将任务设置为每0.5毫秒运行一次,并且我可以更快地运行大多数任务。 PLC逻辑不仅每0.5 ms执行一次,而且大部分EtherCAT I / O总线也可以这种速度运行。 当您将其与具有典型逻辑扫描时间(加上I / O刷新时间)在几十毫秒内的传统PLC进行比较时,您会发现带有EtherCAT的TwinCAT 3比典型的PLC更适合任何高速过程。

如果您认为扫描时间无关紧要,请考虑一条传输线以大约1 m / s的速度运行(完全合理),并且当传输器上的特定点通过给定位置(由编码器测量)时,您必须触发输出。 1毫秒反应时间和10毫秒反应时间之间的差是1毫米和10毫米精度之间的差。

与我们熟悉的传统PLC / HMI /笔记本电脑组合相比,TwinCAT 3解决方案还具有许多优势:

  • 开发环境与PLC逻辑在同一台计算机上运行,因此您不需要单独的笔记本电脑。 联机就像打开开发环境并单击“联机”按钮一样简单。
  • HMI与PLC在同一台机器上运行,因此HMI到PLC的通信响应速度非常快。 在TwinCAT 3运行时和HMI之间传输数据的速度与内存复制指令一样快。
  • 如果您要编写自己的HMI软件(例如,在.NET中),则免费提供该协议的驱动程序(称为ADS)。
  • TwinSAFE安全编辑器已集成到开发环境中,因此安全程序与PLC程序之间的映射信号非常简单,安全输入也可以双重映射到安全程序以及PLC程序中,以进行监视和报警。
  • 您可以使用git、subversion之类的源代码控制应用程序,它们可以与开发环境集成。
  • 性能出色,倍福原生开发环境,最完善的开发环境
  • 免费、无限期、全功能试用,7天试用版许可证到期后,只需生成新的7天试用版许可证即可,而无需重新安装。

本人从事嵌入式编程10年,会基于PC编写一些软件。但是没有写过PLC、触摸屏程序。第一次接触EtherCAT技术和TwinCAT3开发环境,由于种种原因,废了不少周章。这也是我写这个教程的原因。本文从新手的角度出发,结合深圳锐特机电技术有限公司的EtherCAT步进电机驱动器ECR60,编写TwinCAT3的入门使用教程。

步进电机简介

步进电机种类繁多,其中有一些种类的步进电机需要定制专门的驱动器才能够工作。就目前市场上的大多数运动控制需求而言,我们经常用到的两相双极性步进电机驱动器就可以满足应用要求,随着半导体技术的不断发展,原来受制于半导体元器件成本的影响越来越小,单极性步进驱动方案应用越来越少,同样是由于半导体技术的飞速发展,步进驱动器的细分的分辨率也越来越高,但是传统机械加工的精度已经很难再有大的突破,相数更高的步进电机面临加工制造的难点,导致三相和五相步进电机的应用领域越来越少,目前只有特定的少数行业领域还在沿用三相和五相的方案。

电机尺寸

首先要考虑的事情是你要拿电机来做什么样的工作。 不同机座尺寸的步进电机所能提供的输出功率不一样,一般来说机座尺寸越大,能够提供的转矩越高。 步进电机的体积可以小到花生粒,也可以大到机座尺寸为145*145mm的大体积步进电机。
步进电机都会有额定转矩这一参数,在我们进行电机选型的时候,我们需要根据厂家提供的电机的矩频曲线来确定在应用所需的转速下,所选电机是否能提供足够的转矩。在步进电机的所有机座尺寸中,最常用的机座尺寸毫无疑问是NEMA 17 (42mm*42mm, 国内经常称42步进电机)。步进电机可以应用在我们生活的方方面面,其中包括:

办公自动化:打印机、扫描仪、复印机、多功能一体机等

舞台灯光:光射方向控制、调焦、色变和光斑调控、灯光效果等

银行领域:ATM机、票据打印、银行卡制作、点钞机等

医疗领域:CT扫描仪、血液分析仪、生化分析仪等

工业:纺织机械、包装机械、机器人、输送、组装流水线、贴片机等

通信:信号调节、移动天线定位等

安防:监控摄像头的运动控制

汽车:油阀/气阀控制、车灯转向系统等
在这里需要提醒的是NEMA 17只是定义了电机安装面的尺寸,并没有具体定义电机的其他参数,不同的NEMA 17电机完全有可能有两种不同的机械参数和电参数,两种电机之间不一定可以互换使用。

步数

接下来要考虑的就是步进电机的分辨率。通常步进电机的每圈步数从4到1000不等(不考虑驱动器细分的情况)。两相混合式步进电机的每圈步数通常有200步和400步两种;三相混合式步进电机的每圈步数通常有300步;五相混合式步进电机的每圈步数通常有500步和1000步两种;永磁式步进电机的每圈步数有20步、24步、48步、96步等。这里的步进电机的分辨率指的是整步的步距角,有0.36°、0.72°、0.9°、1.2°、1.8°、3.75°、7.5°、15°、18°等。

高分辨率电机的优势很明显,但同时缺点也很突出,这需要综合考虑应用需求。在振动噪音以及运动平滑性方面,高分辨率电机有着天然的优势,但是在相同输出转速的情况下,类似尺寸1.8°步进电机的输出转矩要大于0.9°步进电机。

齿轮传动

实现高定位分辨率的另一种方法是齿轮传动。在实际生产应用中可能用不到很高的转速,那么这个时候就需要在电机输出轴端加装减速机来增加转矩降低转速, 举个例子,一个2相1.8°步距角步进电机如果加装10:1减速比的减速机,就相当于将步进电机每步的步距角缩小至0.18°,使输出更加平滑安静,同时运行转矩也得到很大提升。当然这些优化的前提是针对低转速应用需求。

出轴样式

另外一件需要考虑的是电机出轴如何与负载紧密有效连接,电机出轴的样式可以根据负载的连接方式不同而出现多种出轴种类。常见的出轴种类有D型轴(单扁丝)、键槽、螺纹轴等。

引线

步进电机的引出线有很多种,我们这里只着重介绍几种常用类型的引线形式,两相电机:引出线可以是4根或8根;四相电机:引出线可以是5根、6根或8根;三相电机:引出线可以是3根或6根;五相电机:引出线可以是5根、6根或10根。

线圈和相数

所谓“相数”,就是指线圈组数。二、三、四、五相步进电机分别对应有2、3、4、5组线圈。N相步进电机有N个绕组,这N个绕组要均匀地绕制在定子上,因此定子的磁极数必定是N的整数倍,所以,转子转一圈的步数应该是N的整数倍,也就是说3相步进电机转一圈的步数是3的整数倍,5相步进电机转一圈的步数是5的整数倍。

单极性和双极性

步进电机外部的接线和相数没有必然的联系。是根据实际运用的需要来决定的。比如说8根引出线的两、四相电机,可以根据使用要求并接成4根线的两相电机,也可以并接成5根线或6根线的四相电机。

有六个引出线的既可能是3相电机,也可能是2/4相电机,还可能是5相电机。

电力线通讯(PLC)简介

通信技术简介

电力线通信技术(Power Line Communication)出现于20世纪20年代初期。它是利用 已有的低压配电网作为传输媒介,实现数据传递和信息交换的一种手段。应用电力线通信方式发送数据时,发送器先将数据调制到一个高频载波上,再经过功率放大后通过耦合电 路耦合到电力线上。信号频带峰峰值电压一般不超过 10V,因此不会对电力线路造成不良 影响

基本原理

低压电力线宽带载波(Low voltage broadband power line carrier communication–LVPLC)通信是利用低压电力配电线(380/220V用户线)作为信息传输媒介进行语音或数据传输的一种特殊通信方式。
低压电力载波是电力系统特有的通信方式,通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重新架设网络,只要有电线,就能进行数据传递。该技术是把载有信息的高频信号加载于电流,然后利用各种等级的电力线传输,接受信息的调制解调器再把高频信号从电流中分离出来,并传送到电力线宽带用户终端(计算机、电视或电话机和智能电表、开关、变台)。低压电力线从来就不是一种理想的通信介质,但随着技术的不断进步,特别是调制技术微电子技术的发展,使得低压PLC的实用化成为可能。

特点

1、低压电力线宽带载波路由合理,通道建设投资相对较低。
2、低压电力线宽带载波通道带宽较宽,传输速率较高,比窄带载波性能更优良。
3、传输频段不受限,带宽范围内频段自适应。
4、受外界电力网络干扰小,低压电力线载波干扰频段限制在1MHz以下,而低压电力线宽带载波是建立在1MHz以上带宽的,低压宽带电力载波的基本频带为1MHz~20MHz,扩展频带为3MHz~100MHz,即可有效避免对外界的干扰
5、不需要重新架设网络,只要有电线,就能进行数据传递,运用维护应用成本低。
6、在广阔的范围内遇到干扰信号。如用户的各种电气设备,特别是陈旧的和有质量缺陷的电器,会给电力线上传送的信号带来干扰。
7、电力网络上的阻抗随负载的变化而会有大幅度的变化,且具有较强的时变性和随机性
8、由于存在较强的衰减特性,使得电力线上的各个节点表现出的性能也不尽相同。