# 电机控制 ## 1. 电机 ### 1.1 电机的介绍和定义 在百度百科的释义中电机(英文:Electric machinery,俗称“马达”)是指依据电磁感应定律实现电能转换或传递的一种电磁装置。前半句解释了电机的工作原理:利用电磁感应原理工作。而后半句强调了两个东西,一个是**电能转换**,一个是**电能传递**。电能转换比较好理解,这就是我们大部分人通常理解的“电机”(更准确的说法是电动机),由电能转换为机械能。电能传递意味着是由电能到电能,而非其他形式的能。这样描述可能你会想起来,那就是我们的变压器。其实在第一点电能转换里面我们还遗漏了一点,我们只关注了电能到机械能,但是定义里面没有明确说必须是电能到其他形式的能,而是归纳为电能转换。机械能到电能也属于电能转换,所以第一点还包括机械能到电能,这就是我们的发电机。不管是电能转换还是电能传递,都离不开电,而电和磁往往又密不可分,所以电机是一种电磁装置或设备。 综上所述,电机其实是一个非常大的定义,包含了三大部分:电动机,发电机,变压器。这三者负责的领域或者说功能差异还是非常明显的,所以我们也可以说按照功能来划分,电机包含这三种类型。但电机的分类也非常多,还可以按照其他方式进行分类。而我们平时说所的“电机”实际上更多指电动机(狭义上的电机,后文出现的“电机”也指电动机,如出现另外两种会明确说明)。 ### 1.2 电机的分类 电机在电路中是用字母M(旧标准用D)表示,它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源;发电机在电路中用字母G表示,它的主要作用是利用机械能转化为电能;而变压器(Transformer)是利用电磁感应的原理来改变交流电压的装置,主要构件是初级线圈、次级线圈和铁芯(磁芯)。主要功能有:电压变换、电流变换、阻抗变换、隔离、稳压(磁饱和变压器)等。 根据不同分类方式(比如工作电源的不同,结构和工作原理的不同,启动运行方式的不同,用途的不同等)可分为很多类型。前文已经描述过一些,我们再看看根据工作电源的不同的分类,可分为直流电机和交流电机两大类;根据结构和工作原理的不同可分为异步电机和同步电机等。具体分类可以查看下图:  ### 1.3 电机的其他知识点 · 然后有一个很重要的知识点就是我以前认为电机是通了电之后,就可以一些指令或者操作控制它转起来,但是现在发现这样理解并不是完全正确。电机首先确实需要在通电之后通过指令来转起来,但更准确地说是电机的转子跟着定子转,通电之后产生电流,有了电流就会产生磁场,通过磁场产生力来使转子转动起来,如下图所示:  ## 2. 伺服 ### 2.1 伺服系统的介绍 因为这次题目需要使用的器材是伺服电机,伺服电机算是伺服系统中的一部分,所在我在了解了电机的基本概念之后,着重去学习了一下伺服系统。首先我其实一直不理解伺服的含义,在查找了资料之后找到了伺服的定义:该词源于希腊语“奴隶”,意即“伺候”和“服从”。人们想把“伺服机构”当成一个得心应手的驯服工具,服从控制信号的要求而动作:在讯号来到之前,转子静止不动;讯号来到之后,转子立即转动;当讯号消失,转子能即时自行停转;即系统跟随外部指令进行人们所期望的运动。 伺服系统(servomechanism)又称随动系统,是用来精确地跟随或复现某个过程的反馈控制系统。伺服系统使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。它的主要任务是按控制命令的要求、对功率进行放大、变换与调控等处理,使驱动装置输出的力矩、速度和位置控制非常灵活方便。在很多情况下,伺服系统专指被控制量(系统的输出量)是机械位移或位移速度、加速度的反馈控制系统,其作用是使输出的机械位移(或转角)准确地跟踪输入的位移(或转角),其结构组成和其他形式的反馈控制系统没有原则上的区别。 ### 2.2 伺服系统的主要作用 伺服系统的主要作用是以小功率指令信号去控制大功率负载;在没有机械连接的情况下,由输入轴控制位于远处的输出轴,实现远距同步传动;使输出机械位移精确地跟踪电信号,如记录和指示仪表等。 ### 2.3 伺服系统的优势 伺服系统的主要优势在于稳定性、精度和快速响应性。 稳定性好:作用在系统上的扰动消失后,系统能够恢复到原来的稳定状态下运行或者在输入指令信号作用下,系统能够达到新的稳定运行状态的能力,在给定输入或外界干扰作用下,能在短暂的调节过程后到达新的或者回复到原有平衡状态; 精度高:伺服系统的精度是指输出量能跟随输入量的精确程度。作为精密加工的数控机床,要求的定位精度或轮廓加工精度通常都比较高,允许的偏差一般都在 0.01~0.00lmm之间; 快速响应性好:有两方面含义,一是指动态响应过程中,输出量随输入指令信号变化的迅速程度,二是指动态响应过程结束的迅速程度。快速响应性是伺服系统动态品质的标志之一,即要求跟踪指令信号的响应要快,一方面要求过渡过程时间短,一般在200ms以内,甚至小于几十毫秒;另一方面,为满足超调要求,要求过渡过程的前沿陡,即上升率要大。 节能高:由于伺服系统的快速响应,注塑机能够根据自身的需要对供给进行快速的调整,能够有效提高注塑机的电能的利用率,从而达到高效节能。 ### 2.4 伺服系统的组成 伺服系统主要由三部分组成:控制器,功率驱动装置,反馈装置和电动机。控制器按照数控系统的给定值和通过反馈装置检测的实际运行值的差,调节控制量;功率驱动装置作为系统的主回路,一方面按控制量的大小将电网中的电能作用到电动机之上,调节电动机转矩的大小,另一方面按电动机的要求把恒压恒频的电网供电转换为电动机所需的交流电或直流电;电动机则按供电大小拖动机械运转。 更详尽的组成介绍如下:控制器(plc,变频器,运动控制卡等其他控制设备,也称为上位机);伺服驱动器:沟通上位机和伺服电机;伺服电机:执行设备,接受来自驱动器的控制信号;机械设备:将伺服电机的圆周运动(或直线电机的直线运动)转换成所需要的运动形式;各类传感器和继电器:检测工业控制环境下的各种信号送给上位机或驱动器做为某些动作的判断标准。 下面有一张图介绍伺服系统的构成:  红色为伺服驱动器组成部分,黄色为伺服电机组成部分。其实,在我的理解中伺服系统可以理解为一个工业控制系统,人们可以通过这个系统对位置、速度和方向角度等变量进行精确的控制。 ### 2.5 伺服电机 在简单了解了伺服系统之后,我学习了伺服电机(servo motor ),伺服电机是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。伺服电机可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。伺服电机转子转速受输入信号控制,并能快速反应,在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。 而又因为伺服电机本身具备发出脉冲的功能,所以伺服电机每旋转一个角度,都会发出对应数量的脉冲,这样,和伺服电机接受的脉冲形成了呼应,或者叫闭环,如此一来,系统就会知道发了多少脉冲给伺服电机,同时又收了多少脉冲回来,这样,就能够很精确的控制电机的转动,从而实现精确的定位,可以达到0.001mm。因此伺服系统基本都是闭环控制的,闭环控制是指控制论的一个基本概念。指作为被控的输出量以一定方式返回到作为控制的输入端,并对输入端施加控制影响的一种控制关系。带有反馈信息的系统控制方式。当操作者启动系统后,通过系统运行将控制信息输向受控对象,并将受控对象的状态信息反馈到输入中,以修正操作过程,使系统的输出符合预期要求。闭环控制是一种比较灵活、工作绩效较高的控制方式,工业生产中的多数控制方式采用闭环控制的设计。 #### 2.5.1 直流伺服电机 直流伺服电机分为有刷和无刷电机。有刷电机成本低,结构简单,启动转矩大,调速范围宽,控制容易,需要维护,但维护不方便换碳刷,产生电磁干扰,对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。 无刷电机体积小,重量轻,出力大,响应快,速度高,惯量小,转动平滑,力矩稳定。控制复杂,容易实现智能化,其电子换相方式灵活,可以方波换相或正弦波换相。电机免维护,效率很高,运行温度低,电磁辐射很小,长寿命,可用于各种环境。 #### 2.5.2 交流伺服电机 交流伺服电机也是无刷电机,分为同步和异步电机,运动控制中一般都用同步电机,它的功率范围大,可以做到很大的功率。大惯量,最高转动速度低,且随着功率增大而快速降低。因而适合做低速平稳运行的应用。 #### 2.5.3 交流和直流的区别 交流伺服电机和无刷直流伺服电机在功能上的区别:交流伺服要好一些,因为是正弦波控制,转矩脉动小。直流伺服是梯形波。但直流伺服比较简单,便宜。 #### 2.5.4 伺服电机的精度 伺服电机内部的转子是永磁铁,驱动器控制的U/V/W三相电形成电磁场,转子在此磁场的作用下转动,同时电机自带的编码器反馈信号给驱动器,驱动器根据反馈值与目标值进行比较,调整转子转动的角度。伺服电机的精度决定于编码器的精度线数。 ## 3.电机运动 电机运动是通过一些运动控制的指令来实现的,本项目涉及到的指令有两种,一种是H运动模式下的指令;一种是C运动模式下的指令。C运动是简单型运动控制功能,H运动是入门实用型运动控制功能;要求熟悉并能运用的是C运动模式下的指令,H运动模式的指令了解即可。C运动相比H运动来说,首先C运动相当于是初级水平的功能,H运动相对来说要进阶一些;其次一个比较明显的不同是C运动是在NC模块下进行轴调试和轴配置等功能的,而H运动是直接可进行。NC 控制功能是基于 PC 的纯软件的运动控制,它的功能与传统的运动控制模块、运动控制卡类似。由于 NC 与 PLC 运行在同一个 CPU 上,运动控制和逻辑控制之间的数据交换更直接、快速,因此 NC 比传统的运动控制器更加灵活和强大。 ### 3.1 H运动控制 #### 3.1.1 轴使能 指令 A_PWR,16位指令,常开/常闭线圈触发。 1. 指令语法 ``` A_PWR S0 S1 S2 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态位起始地址 | 位 | M | | S2 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.2 错误重置 指令 A_RST,16位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_RST S0 S1 S2 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态位起始地址 | 位 | M | | S2 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.3 相对运动 指令 A_MOVER,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_MOVER S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.4 绝对运动 指令 A_MOVEA,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_MOVEA S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.5 绝对持续运动 指令 A_CMOVEA,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_CMOVEA S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.6 相对持续运动 指令 A_CMOVER,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_CMOVER S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.7 停止运动 指令 A_STOP,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_STOP S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.8 修改电气原点 指令 A_WRITE,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_WRITE S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | #### 3.1.9 速度控制运动 指令 A_VELMOVE,32位指令,上升/下将沿线圈触发。 1. 指令语法 ``` A_VELMOVE S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用元件 | | :----: | :--------------------: | :---------: | :---------------------------: | | S0 | 指定输入参数起始地址 | 64 位,四字 | D、FD、TD、CD、DX、DY、DM、DS | | S1 | 指定输出状态字起始地址 | 32 位,双字 | D、FD、TD、CD、DX、DY、DM、DS | | S2 | 指定输出状态位起始地址 | 位 | M | | S3 | 指定轴输出端口编号 | 位 | K/H | ### 3.2 C运动控制 #### 3.2.1 相对运动 指令MOTO、32位指令、上升/下降沿线圈触发。相对运动是相对当前的位置继续运动。设置目标位置为300脉冲,则会继续运动300脉冲的距离。 1. 指令语法 ``` MOTO S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用软元件 | | :----: | :------------: | :---------------: | :--------: | | S0 | 指定相对位置 | 32 位整数或寄存器 | D、K/H | | S1 | 指定运动速度 | 32 位整数或寄存器 | D、K/H | | S2 | 指定加减速时间 | 32 位整数或寄存器 | D、K/H | | S3 | 指定轴编号 | 16 位常数或寄存器 | D、K/H | #### 3.2.2 绝对运动 指令MOTOA、32位指令、上升/下降沿线圈触发。绝对运动是相对0点位置继续运动。设置目标位置为300脉冲,当前位置为400,则会继续运动100脉冲的距离回到300脉冲距离的位置。 1. 指令语法 ``` MOTOA S0 S1 S2 S3 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用软元件 | | :----: | :-----------------------: | :---------------: | :--------: | | S0 | 指定相对位置 | 32 位整数或寄存器 | D、K/H | | S1 | 指定运动速度 | 32 位整数或寄存器 | D、K/H | | S2 | 指定由 0 加速到 S1 的时间 | 32 位整数或寄存器 | D、K/H | | S3 | 指定轴编号 | 16 位常数或寄存器 | D、K/H | #### 3.2.3 多段运动 指令MOTOS、32位指令、上升/下降沿线圈触发。该指令在运动过程中不可以修改目标位置,但可以修改当前段的运动速度。 1. 指令语法 ``` MOTOS S0 S1 S2 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用软元件 | | :----: | :--------------: | :---------------: | :--------: | | S0 | 指定数据起始地址 | 32 位整数或寄存器 | D | | S1 | 指定参数起始地址 | 32 位整数或寄存器 | D | | S2 | 指定轴编号 | 16 位常数或寄存器 | D、K/H | #### 3.2.4 停止运动 指令MOSTOP、32位指令、上升/下降沿线圈触发。 1. 指令语法 ``` MOSTOP S0 S1 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用软元件 | | :----: | :----------------: | :---------------: | :--------: | | S0 | 停止方式或减速距离 | 32 位整数或寄存器 | D、K/H | | S1 | 指定轴编号 | 16 位常数或寄存器 | D、K/H | #### 3.2.5 继续运动 指令MOGOON、32位指令、上升/下降沿线圈触发。 1. 指令语法 ``` MOGOON S0 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用软元件 | | :----: | :--------: | :---------------: | :--------: | | S0 | 指定轴编号 | 16 位常数或寄存器 | D、K/H | #### 3.2.6 设置当前位置 指令MOWRITE、32位指令、上升/下降沿线圈触发。该指令可修改运动轴当前绝对位置值,用于修正位置 1. 指令语法 ``` MOWRITE S0 S1 ``` 2. 操作数 | 操作数 | 作用 | 类型 | 适用软元件 | | :----: | :------------: | :---------------: | :--------: | | S0 | 指定当前位置值 | 32 位整数或寄存器 | D | | S1 | 指定轴编号 | 16 位常数或寄存器 | D、K/H | ## 4. 实验器材选型 根据实验要求需要PLC一台,伺服一台,伺服电机一个,网线两根,编码线一根,电源线一根,电机供电线一根,其余供电线若干。如表1.1是实验需要借的器材清单。