一、运动控制的起源
运动控制起源于早期的伺服控制,
简单地说,运动控制就是对机械运动部件的位置、速度等进行实时的控制管理,
使其按照预期的运动轨迹和规定的运动参数进行运动。
早期的运动控制技术主要是伴随着数控技术、机器人技术和工厂自动化技术的发展而发展的。
早期的运动控制器实际上是可以独立运行的专用的控制器,往往无需另外的处理器和操作系统支持,
可以独立完成运动控制功能、工艺技术要求的其他功能和人机交互功能。
这类控制器可以成为独立运行的运动控制器。
这类控制器主要针对专门的数控机械和其他自动化设备而设计,
往往已根据应用行业的工艺要求设计了相关的功能,用户只需要按照其协议要求编写应用加工代码文件,
利用RS232或者DNC方式传输到控制器,控制器即可完成相关的动作。
这类控制器往往不能离开其特定的工艺要求而跨行业应用,控制器的开放性仅仅依赖于控制器的加工代码协议,
用户不能根据应用要求而重组自己的运动控制系统
二、运动控制系统的组成
运动控制系统一般由控制器、驱动器、电机、机械执行器、反馈单元组成。根据闭环情况,我们可以分出常见的三种系统框图
2.1开环系统
电机给予驱动器反馈
2.2半闭环系统
电机给予驱动器、控制器反馈
2.3闭环系统
电机给予驱动器反馈、执行器给予控制器反馈
这三种系统类型是非常常见的,开环系统或者半闭环系统一般应用于精度要求不高的场合,
比如几个丝的精度要求,控制系统的成本也比较低。
闭环系统的成本相对比较高,可以做到的精度也会高很多,
现在的直线电机平台做到几个微米的定位精度都很常见了,
好的系统可以做到百纳米级,如基因检测、半导体相关的设备。
控制系统类型能满足要求即可,不必一味追求高精度,合适的才是最好的。
我们想要对运动控制系统有深入的了解,那么就得了解各部分的详细知识,
接下来我会用较长篇幅对各部分的相关知识详细介绍。
包括控制卡、驱动器、总线、电机、反馈等,各部分都有比较详细的解说。
三、控制卡的分类:
控制器或者控制卡的性能主要取决于控制算法,不同厂家控制卡的性能差别可能非常大。
目前常见工业应用中比较高端的有以色列ACS,美国Aerotech,这是属于第一梯队的,
其他国外的流行品牌还有elmo、PMAC、Galil、欧姆龙等。
国内的有固高、雷赛、正运动、柏楚等,与国外产品相比仍然有一定差距,但也在不断突破。
根据控制器传递命令给驱动器的方式,可以分为总线型、模拟量型、PWM型、脉冲型控制卡。
目前,总线型控制卡是最主流的,各大厂家的口号都是一网到底,这个网就是指的总线,
就是通过一根总线把所有模块都接上去,确实方便。其他三种类型控制卡也有各自的特色,所以都并行存在于主流市场
3.1总线控制卡
常见的总线接口有,EtherCAT、CAN、Modbus、Profinet、EPA、SERCOS-Ⅲ等。
总线有这么多种,他们之间是否有联系,又有哪些区别呢?这是我们学习总线之前需要搞清楚的问题,
不然总是会心里没底,或者是错误的把总线混搭一起,这些是新手的必经之路
(注:固高科技的网络型运动控制器是采用gLink2总线)
要想搞清楚不同总线之间的区别与联系,我们就得从总线通讯的组成或者是框架去看。通讯的概念出现的很早,
早期的电话电报就是一种通讯方式,但工业上的通讯应用都是OSI七层模型。
OSI(open system interconnect)即开放系统的互连,这个是二十世纪七十年代的产物,
当时就是为了解决各系统之间通讯的问题。图2-1是OSI七层模型图,
从模型中我们可以看到,通讯最终是转化为比特流发送出去,
我们说的通讯速率就是比特流的速率,比如百兆网络100Mbit/s。比特流的传输载体是物理层,
是我们看的见摸得着的线缆以及接口芯片等。物理层往上是数据链路层,
数据链路层的职责是负责将具体的数据转化成比特流,然后通过物理层的硬件发送。
可以简单理解为,硬件的编码与解码,比如要发送数字8,那么数字8的比特流高低电平是怎样的;
当收到一串比特流后,应该转换为哪个数字,这个就靠数据链路层完成的,数据链路层也是硬件
数据链路层再往上,还有五层。这五层都有一个特点,他们都是软件层,
是运行在处理器上的软件代码,这五层完成数据报的解析,编组,归类,最终到显示。
当我们用因特网看视频时,这些层就在周而复始发送请求,解析数据,
并最终刷新到显示界面。这五层搞起来确实有点复杂,有些时候其实是不需要的,
比如我们知道数据的具体含义,我们就不需要再去分组整理数量,直接使用即可,
工业通讯应用正是符合这个特点。尤其是针对运动控制或者过程控制总线,层太多不仅没用,
反而会增加成本,并且运动控制或者过程控制这种专用总线上数据的含义都是严格一一对应的,
不需各种分组分段解析啥的。所以,将五层压缩为一层,叫应用层。数据链路层,物理层,
应用层都有各自的功能,三层功能没有重叠部分。发送工作流程是当数据到达后应用层后把数据放到对应的存储区,
数据需要发送时到对应区域取出数据,交给数据链路层,
比特流经物理层发送出去;接收工作流程就是反过来
,物理层上的比特流被数据链路层解析为正确的数值,
放到对应的存储区域,应用层需要数据的时候取走数据即可
所以,运动控制或者过程控制总线,这种专用总线都是三层模型,三层模型的功能整理如下表
应用层
搬运数据,完成控制功能
数据链路层
承上启下,生成比特流以及解析比特流
物理层
比特流传输载体
EtherCAT总线
EthterCAT的字面意思就是以太网自动化控制技术。
简单点说就是基于以太网,完成自动化控制功能,
但肯定与普通以太网还是有区别的。他们的传输介质是一样的,
都是RJ45网口+网线,但EtherCAT网络的数据链路层芯片是专门设计的,其
目的是为了提高总线的性能。比如,增加了DC同步单元,数据自动转发,
还有FMMU单元,SM单元,详细的情况可以去查询相关资料。
DC同步单元的时钟都是ns为单位,
可以满足非常高的同步要求,
然后以太网的通讯速度又非常快,
现在1000Mbit/s都已经不是事了,
在每个传输周期可以有非常大量的数据交互。
这些都是基于硬件的,做应用的人可以不用关心,我们还是讲讲上层协议
基于EtherCAT总线的应用层协议有FoE、CoE、SoE、EoE、AoE、VoE,各个协议的具体描述如下表
FoE
File over EtherCAT
在EtherCAT总线上传输文件的协议
CoE
CANopen over EtherCAT
在EtherCAT总线上执行CANopen协议
SoE
SERCOS over EtherCAT
在EtherCAT总线上执行SERCOS协议
EoE
Ethernet over EtherCAT
在EtherCAT总线上执行Ethernet协议
AoE
访问底层现场总线的从站设备的对象字典,如对连接到EtherCAT-CAN网关设备的CAN从站
VoE
供应商自定义协议,基于邮箱
这些都是运行在EhterCAT总线基础上的应用层协议,各个协议分管与自己相关的工作。我们现在常用的EtherCAT伺服驱动器,说白了就是把CANopen应用层协议搬到了EtherCAT总线之上。由于EhterCAT总线的高传输速度,所以这个时候可以有更高的控制信号频率,就会有更好的控制效果。讲到这里,我们可以发现,同样的协议可以在不同的总线上,同样的总线也可以用不同的协议。所以,当我们讨论总线的时候也要讨论总线的应用层协议,即我们前文提到的三层模型,只有三层模型都一样的系统才能完美对接。对总线就介绍这么多,原理都是一样的,其他总线可以按照这个方法学习,事半功倍
有了这样可靠性高,同步性好,控制频率可以很高的总线,现在控制指令的频率到8Khz已经不是问题了。控制卡的指令就可以很快很准的发送给总线上的驱动单元,最终达到好的控制效果。总线型控制系统的所有指令,位置反馈,指示状态,错误代码等等,都是由通讯来完成交互的,这一点和传统的控制方式有很大的区别
3.2模拟量控制卡
模拟量控制卡就是控制指令是通过模拟信号发送出去的,
这个模拟信号有电压范围,常见的模拟量控制信号规格有±10V,±5V,0-5V等。
根据模拟信号的规格,提前设置好驱动器的相关参数,当模拟指令被接收后,驱动器就会执行相关指令。
如果驱动器是工作在电流环,则模拟量电压对应驱动器输出的电流,
模拟量电压和输出电流之间是线性关系。
如果驱动是工作在速度环,
则模拟量电压对应电机的转速,两者之间也是线性关系。
也有的驱动器在位置模式的时候支持模拟量输入,
这个时候模拟量对应的是位置,也是线性变化的,如0V对应位置0,10V对应位置10,-10对应位置-10。
相比于总线控制方式,模拟量控制是无法实时获取驱动器内部变量的,
如读取驱动器输出电流数据、报错代码等都是实现不了的,
需要通过驱动器的通讯接口才可读取到,
一般也就是接一个驱动的报错状态接到控制卡。
模拟量也可以有很高的控制频率,几Khz的控制频率就是小菜一碟,
前提是要驱动器伺服环路的频率也得足够快。目前模拟量控制方式还是非常流行,
可以有很不错的控制效果。相比于总线控制卡,
布线相对比较复杂,控制信号还有干扰问题,一般适用是规模比较小的一体式设备
3.3 PWM&脉冲控制卡
有的控制卡输出控制信号是PWM,PWM控制方式可以实现类似模拟量的控制功能,
PWM的优点是实现方便,对于所有的MCU都可以实现这个功能,
并且电路简单。模拟量电路实现起来就要复杂的多,更需要处理好干扰问题
脉冲控制方式是最简单的控制方式,驱动是工作在位置模式。
提前设置好脉冲数量和位置的对应关系,当收到脉冲后就开始执行位置规划。
脉冲的控制方式非常经济,对要求不高的应用足以应付
四、驱动器的分类
驱动器按供电可分为交流供电和直流供电,
按功率可分为小功率、中功率和大功率。
对于高精密运动控制系统,
通常使用的是中小功率的交流和直流伺服驱动器。
按控制信号接收方式,也可以分为总线接口、模拟量接口、PWM接口、脉冲接口。
按驱动器能驱动的电机类型,可以分为直流有刷、直流无刷、以及有刷无刷都能驱动的驱动器
4.1 驱动器组成
硬件组成:一般驱动器的主控制器为MCU或者DSP。MCU和DSP之间的区别是,
MCU是通用性更强,价格便宜,外设丰富,运算能力稍弱的控制单元;
DSP和MCU本质上没有太大区别,但相比于MCU,
DSP的主要特点是做运算,高端驱动器的主控制器一般都是DSP,
当然价格也更贵。驱动器的硬件组成如图3-1所示,
主控制器连接着各种各样的外围电路,传感器接口电路,
如:霍尔传感器、数字增量编码器、绝对值编码器、
正余弦编码器等。数字/模拟输入输出电路,
包括通用数字输入输出、刹车、使能、报错,通用模拟量输入输出。
功率放大驱动电路,上接主控制器,根据收到的指令信号,控制功率MOS管开关来控制电机。
通讯接口电路,负责将通讯线上的电平信号转换为主控制器可以接收和识别的信号,
如CAN总线芯片TJA1050,EtherCAT芯片ET1100/AX58100,RS232芯片MAX232,
USB转换芯片CH330/CH340。信号采集电路,
电流采集可以知道绕组当中的电流,温度采集等。
其他电路,包括状态指示,电源稳压,过压过流保护等。
最后,就是电源模块,负责供电给驱动器的各个功能单元供电
五、电机分类
5.1 步进电机
步进电机的结构也就决定了它的控制方式和永磁直流有刷或者无刷电机的完全不一样,
如两相步进有A+ A- B+ B-四根线,分别对应两相绕组。
当转子转到一个位置之后,这个时候绕组当中是一直通电的,
而不是像伺服电机停住的时候一直在来回切换绕组通电的顺序和方向,
会有几个脉冲的来回跳。但是这个一直通电的问题就是会发热,
这是步进电机的一个缺点,尤其是功率大的步进电机,仅使能的时候发热很明显,
所以步进电机的效率通常不高。步进电机停在一个位置的时候不会有抖动,
这个也是它的优点,对于不允许抖动的应用也许非常适合。
步进电机的连续转动,就是频繁的切换A B相的通电顺序,
切换的越快,电机转的也就越快。
切换A B线的通电方向,就可以让电机反转。
但如果在启动瞬间就给很快的切换频率,
电机不一定能正常启动,就是会出现丢步的情况,
因为步进电机没有传感器反馈转子位置,转子是否已经跟上定子磁场的变化是不得而知的。
所以,步进电机的加速度是远远比不了伺服电机的,然后A B相的切换频率也会受电流上升的速度影响,
就是切换频率会受限制,这也就限制了步进电机的最高转速,一般步进电机的工作转速就是六七百转每分钟差不多了,再快就很容易丢步。
有的人可能会想,步进电机安装编码器是不是就可以当做伺服电机使用?
答案是步进电机加编码器≠伺服电机,
这个是很多人容易误解的,
认为伺服电机就是比步进电机多了一个编码器,其实不是这样的,
因为电机的结构和控制方式都不一样。即使给步进电机装了编码器,它还是步进电机,
这个是步进电机的结构决定的。这就好比牛和羊都吃草,羊吃再多的草也不能长牛那么大,不一样就是不一样。
步进电机的型号比较少,一般都以法兰尺寸命名,如32 45等。步进电机的价格相比伺服电机也便宜,
应用还是非常广泛的,一般电机加驱动器也就几百元。国内比较有名的是雷赛步进,便宜好用。
5.2伺服电机
5.3直线电机
直线电机其实就类似于把旋转电机剖开拉直。直线电机的最大优点是没有背隙,
这个是旋转电机连接丝杆无法比拟的,其次直线电机还可以获得很大的加速度,很高的定位精度。
直线电机由定子和动子两部分组成,定子是永磁体,动子是绕组,
原理和旋转电机是一样的。也分为有铁芯的平板直线电机和无铁芯的U型直线电机,有铁芯的一样会有齿槽效应