前言
时间过的真快,转眼间我参加工作将近十年,当年高考志愿选择自动化专业真的是基于兴趣。十年来有过想要转行的想法,但仔细想想,如果每天做着自己不喜欢的工作,那将也是暗无天日,自动化这一行也确实辛苦,但我至少还有兴趣。“我理解的运动控制系统”这篇文章就是想把自己过去十年的相关工作经验总结下,方便总结下自己学到的相关知识,也希望能给同行们一点点的经验分享,希望看到这篇文章的人都能或多或少的学到一点知识。哪怕是其中某一句话对你有帮助,我也就非常开心了。但我毕竟理论水平、经验和实践都有限,不可避免的会有错误和纰漏,希望大家能给我反馈,我将尽可能的完善和修正相关错误。
2021/8/28
目录
前言
1.运动控制系统的组成
2.控制卡分类
2.1总线控制卡
2.2模拟量控制卡
2.3PWM&脉冲控制卡
3.驱动器分类
3.1驱动器组成
3.2电流环
3.3速度环
3.4位置环
3.5驱动支持的各种模式详解
4.电机分类
4.1电机原理
4.2永磁同步电机
4.3步进电机
4.4直线电机
4.5总结
5.编码器
5.1编码器分类
5.2霍尔传感器
5.3光电式编码器
5.4磁性编码器
5.5电感式编码器
5.6直线编码器
5.7绝对值传感器
5.8总结
6.调试
6.1调试的目的
6.2时域调试
6.3频率调试
6.4总结
参考文献
1.运动控制系统的组成
运动控制系统一般由控制器、驱动器、电机、机械执行器、反馈单元组成。根据闭环情况,我们可以分出常见的三种系统框图。
1.开环系统,即只有驱动和电机是闭环的,驱动和执行器,以及控制器和执行器都没有闭环。
2.半闭环系统,即控制器到电机是闭环的,控制器与执行器之间开环。
3.闭环系统,从控制器到执行器完全闭环。
这三种系统类型是非常常见的,开环系统或者半开环系统一般应用于精度要求不高的场合,比如几个丝的精度要求,控制系统的成本也比较低。闭环系统的成本相对比较高,可以做到的精度也会高很多,现在的直线电机平台做到几个微米的定位精度都很常见了,好的系统可以做到百纳米级,如基因检测、半导体相关的设备。控制系统类型能满足要求即可,不必一味追求高精度,合适的才是最好的。
我们想要对运动控制系统有深入的了解,那么就得了解各部分的详细知识,接下来我会用较长篇幅对各部分的相关知识详细介绍。包括控制卡、驱动器、总线、电机、反馈等,各部分都有比较详细的解说。
2.控制卡分类
控制器或者控制卡的性能主要取决于控制算法,不同厂家控制卡的性能差别可能非常大。目前常见工业应用中比较高端的有以色列ACS,美国Aerotech,这是属于第一梯队的,其他国外的流行品牌还有elmo、PMAC、Galil、欧姆龙等。国内的有固高、雷赛、正运动、柏楚等,与国外产品相比仍然有一定差距,但也在不断突破。
根据控制器传递命令给驱动器的方式,可以分为总线型、模拟量型、PWM型、脉冲型控制卡。目前,总线型控制卡是最主流的,各大厂家的口号都是一网到底,这个网就是指的总线,就是通过一根总线把所有模块都接上去,确实方便。其他三种类型控制卡也有各自的特色,所以都并行存在于主流市场。
2.1总线控制卡
常见的总线接口有,EtherCAT、CAN、Modbus、Profinet、EPA、SERCOS-Ⅲ等。总线有这么多种,他们之间是否有联系,又有哪些区别呢?这是我们学习总线之前需要搞清楚的问题,不然总是会心里没底,或者是错误的把总线混搭一起,这些是新手的必经之路。
要想搞清楚不同总线之间的区别与联系,我们就得从总线通讯的组成或者是框架去看。通讯的概念出现的很早,早期的电话电报就是一种通讯方式,但工业上的通讯应用都是OSI七层模型。OSI(open system interconnect)即开放系统的互连,这个是二十世纪七十年代的产物,当时就是为了解决各系统之间通讯的问题。图2-1是OSI七层模型图,从模型中我们可以看到,通讯最终是转化为比特流发送出去,我们说的通讯速率就是比特流的速率,比如百兆网络100Mbit/s。比特流的传输载体是物理层,是我们看的见摸得着的线缆以及接口芯片等。物理层往上是数据链路层,数据链路层的职责是负责将具体的数据转化成比特流,然后通过物理层的硬件发送。可以简单理解为,硬件的编码与解码,比如要发送数字8,那么数字8的比特流高低电平是怎样的;当收到一串比特流后,应该转换为哪个数字,这个就靠数据链路层完成的,数据链路层也是硬件。
图2-1 OSI七层模型
数据链路层再往上,还有五层。这五层都有一个特点,他们都是软件层,是运行在处理器上的软件代码,这五层完成数据报的解析,编组,归类,最终到显示。当我们用因特网看视频时,这些层就在周而复始发送请求,解析数据,并最终刷新到显示界面。这五层搞起来确实有点复杂,有些时候其实是不需要的,比如我们知道数据的具体含义,我们就不需要再去分组整理数量,直接使用即可,工业通讯应用正是符合这个特点。尤其是针对运动控制或者过程控制总线,层太多不仅没用,反而会增加成本,并且运动控制或者过程控制这种专用总线上数据的含义都是严格一一对应的,不需各种分组分段解析啥的。所以,将五层压缩为一层,叫应用层。物理层,数据链路层,应用层都有各自的功能,三层功能没有重叠部分。发送工作流程是当数据到达后应用层后把数据放到对应的存储区,数据需要发送时到对应区域取出数据,交给数据链路层,比特流经物理层发送出去;接收工作流程就是反过来,物理层上的比特流被数据链路层解析为正确的数值,放到对应的存储区域,应用层需要数据的时候取走数据即可。
所以,运动控制或者过程控制总线,这种专用总线都是三层模型,三层模型的功能整理如下表2-1:
表2-1
应用层 |
搬运数据,完成控制功能 |
数据链路层 |
承上启下,生成比特流,以及解析比特流 |
物理层 |
比特流传输载体 |
当我们接触或者学习新的总线时,主要是搞清楚总线的框架,即这三层的情况是怎样的。只有搞清楚了这三层,你才不会被各种新鲜名词所吓倒,你才不会去随便混搭总线。搞清楚了总线通讯模型后,我们看下当前最火的两个总线,EtherCAT和CAN总线。
为什么EtherCAT和CAN总线这么火?
首先,是CAN总线起步早,博世公司1986年推出,当时主要是面向汽车行业。注意这里我说的是CAN总线,不是CANOPEN总线,CANOPEN只是基于CAN总线的应用层协议,汽车行业基于CAN总线的应用层协议是J1939。经过汽车行业的多年应用,大家发现这个总线的优点很多,速度快,1Mbit在现在看确实不快,但在那个年代还是非常牛的;有COB-ID,有仲裁机制,高优先级的数据可以先传输,低优先级是数据后发送,排队的数据在总线空闲的时候会自动发送,无需人为干预;差分传输,数据传输可靠性高;理论上可以在总线上挂任意多节点;成本低,几块钱的MCU就自带CAN控制器,现在一般同时支持CAN2.0A和2.0B。
既然CAN总线有这么多优点,那就得充分利用上,紧接着有个组织叫CIA(CAN in Automation)起草了基于CANopen的设备及通讯子协议定义DS 301(Draft Standard 301),也就是我们经常说的301协定。DS301只是CANopen的一个基础规范,具体到细分领域有,I/O模组的DS401,运动控制的DS402。讲到这里就出现了我们期盼已久的CANopen协议,之所以火就是因为起步早,又赶上了电机运动控制的蓬勃发展时期,靠谱好用,便宜,易上手。其实基于CAN总线的应用层协议还有北美船舶行业通讯协议,广州周立功公司的iCAN,但这个两个协议都不在运动控制系统中出现。其实协议就是这么简单,你也可以基于CAN总线创立自己的协议,只要有人用,你就很了不起。
这里简单讲下CANopen DS402的相关知识,方便我们后面的理解。DS402里面有一些概念,对象字典,Node-ID,COB-ID,SDO,PDO,NMT,Heartbeat,状态机,Master,Slave,我们都简单介绍下。DS402中规定网络中各设备是主从关系,即Master-Slave模式,原则上只能有一个Master,负责整个网络的管理。其实CAN总线上的都是节点,没有主从的概念,主从的概念是在DS402中规定的,这一点我们要清楚。对象字典我们可以理解为寄存器表,只不过DS402已经规定了这个寄存器表的组织结构,包括一部分地址必须给协议使用,如0x6040,0x6041这些都是规定好的。有了对象字典我们就知道每个对象代表的是什么意思,每个厂家都按这个去设计。传输数据的时候我们得知道这个是哪个从站设备的数据,就需要有个Node-ID,简单说就是设备的编号。假如不同设备同时要传输同样对象字典的数据,那我们该怎样区分呢?这个时候就有COB-ID,COB-ID是对应的编码加上Node-ID,如0x600表示SDO读,对应节点1组合后的COB-ID就是0x600+0x01=0x601,节点2则为0x602,以此类推。这样我们就可以通过COB-ID来直接操作数据了,而无需关心是哪个节点的,如果数据同时需要发送,那么总线的仲裁机制就会起作用,COB-ID越小的优先级越高,优先发送,等待的数据在前面的数据发送完之后会自动重发。
数据的传输分为两种,一种是SDO,就是有问才有答,查询一次回复一次,类似服务生一样。另一种是PDO,叫过程数据,提前配置好了数据的传输方式后数据就会自动上传,如可以设置数据的最小间隔时间,同步、异步、RTR等。SDO和PDO都是为了传输数据,但PDO传输的是过程数据,更精简,传输数据的效率会更高,如循环同步模式肯定是PDO传输数据。NMT是网络管理的意思,主站负责管理整个网络,如各节点的状态切换等。状态机是控制节点切换的,如在非使能状态到使能状态应该怎么响应,这个是状态机管理的。最后一个是Hearbeat,当然也有NodeGuarding,这两个都是反馈节点的状态。当总线在工作的时候我们得知道节点是否还在线,Hearbeat就类似我们的心跳,间隔多长时间必须收到一次心跳,超出设定时间没收到心跳则表示该节点已死亡。NodeGuarding是另外一种监测方式,它有主站和从站的互动,这是不同于Hearbeat的,就是主站要发命令给从站,从站也要回应命令,也是要求在规定的时间内,目前Hearbeat用的更多一些。CANopen DS402就简单介绍这么多,感兴趣的可以看下相关手册,结合一个产品测试下就能理解的透彻了。
最后,讲讲更高大上的EtherCAT总线,前面的铺垫都是为了这里的讲解,EthterCAT的字面意思就是以太网自动化控制技术。简单点说就是基于以太网,完成自动化控制功能,但肯定与普通以太网还是有区别的。他们的传输介质是一样的,都是RJ45网口+网线,但EtherCAT网络的数据链路层芯片是专门设计的,其目的是为了提高总线的性能。比如,增加了DC同步单元,数据自动转发,还有FMMU单元,SM单元,详细的情况可以去查询相关资料。DC同步单元的时钟都是ns为单位,可以满足非常高的同步要求,然后以太网的通讯速度又非常快,现在1000Mbit/s都已经不是事了,在每个传输周期可以有非常大量的数据交互。这些都是基于硬件的,做应用的人可以不用关心,我们还是讲讲上层协议。对硬件感兴趣的可以参考AX58100、ET1100芯片的数据手册,山东大学李正军教授的《EtherCAT工业以太网应用技术》非常不错,里面有详细的介绍,值得一看,这里就不展开讲了。基于EtherCAT总线的应用层协议有FoE、CoE、SoE、EoE、AoE、VoE,各个协议的具体描述如下表2-2:
表2-2
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已经不是问题了。控制卡的指令就可以很快很准的发送给总线上的驱动单元,最终达到好的控制效果。总线型控制系统的所有指令,位置反馈,指示状态,错误代码等等,都是由通讯来完成交互的,这一点和传统的控制方式有很大的区别。
2.2模拟量控制卡
模拟量控制卡就是控制指令是通过模拟信号发送出去的,这个模拟信号有电压范围,常见的模拟量控制信号规格有±10V,±5V,0-5V等。根据模拟信号的规格,提前设置好驱动器的相关参数,当模拟指令被接收后,驱动器就会执行相关指令。
如果驱动器是工作在电流环,则模拟量电压对应驱动器输出的电流,模拟量电压和输出电流之间是线性关系。如果驱动是工作在速度环,则模拟量电压对应电机的转速,两者之间也是线性关系。也有的驱动器在位置模式的时候支持模拟量输入,这个时候模拟量对应的是位置,也是线性变化的,如0V对应位置0,10V对应位置10,-10对应位置-10。
相比于总线控制方式,模拟量控制是无法实时获取驱动器内部变量的,如读取驱动器输出电流数据、报错代码等都是实现不了的,需要通过驱动器的通讯接口才可读取到,一般也就是接一个驱动的报错状态接到控制卡。模拟量也可以有很高的控制频率,几Khz的控制频率就是小菜一碟,前提是要驱动器伺服环路的频率也得足够快。目前模拟量控制方式还是非常流行,可以有很不错的控制效果。相比于总线控制卡,布线相对比较复杂,控制信号还有干扰问题,一般适用是规模比较小的一体式设备。
2.3PWM&脉冲控制卡
有的控制卡输出控制信号是PWM,PWM控制方式可以实现类似模拟量的控制功能,PWM的优点是实现方便,对于所有的MCU都可以实现这个功能,并且电路简单。模拟量电路实现起来就要复杂的多,更需要处理好干扰问题。
脉冲控制方式是最简单的控制方式,驱动是工作在位置模式。提前设置好脉冲数量和位置的对应关系,当收到脉冲后就开始执行位置规划。脉冲的控制方式非常经济,对要求不高的应用足以应付。PWM和脉冲控制方式都很简单,这里就一笔带过了。
3.驱动器分类
驱动器按供电可分为交流供电和直流供电,按功率可分为小功率、中功率和大功率。对于高精密运动控制系统,通常使用的是中小功率的交流和直流伺服驱动器。按控制信号接收方式,也可以分为总线接口、模拟量接口、PWM接口、脉冲接口。按驱动器能驱动的电机类型,可以分为直流有刷、直流无刷、以及有刷无刷都能驱动的驱动器。
3.1驱动器组成
硬件组成:一般驱动器的主控制器为MCU或者DSP。MCU和DSP之间的区别是,MCU是通用性更强,价格便宜,外设丰富,运算能力稍弱的控制单元;DSP和MCU本质上没有太大区别,但相比于MCU,DSP的主要特点是做运算,高端驱动器的主控制器一般都是DSP,当然价格也更贵。驱动器的硬件组成如图3-1所示,主控制器连接着各种各样的外围电路,传感器接口电路,如:霍尔传感器、数字增量编码器、绝对值编码器、正余弦编码器等。数字/模拟输入输出电路,包括通用数字输入输出、刹车、使能、报错,通用模拟量输入输出。功率放大驱动电路,上接主控制器,根据收到的指令信号,控制功率MOS管开关来控制电机。通讯接口电路,负责将通讯线上的电平信号转换为主控制器可以接收和识别的信号,如CAN总线芯片TJA1050,EtherCAT芯片ET1100/AX58100,RS232芯片MAX232,USB转换芯片CH330/CH340。信号采集电路,电流采集可以知道绕组当中的电流,温度采集等。其他电路,包括状态指示,电源稳压,过压过流保护等。最后,就是电源模块,负责供电给驱动器的各个功能单元供电。
图3-1
固件组成:固件的组成如图3-2所示,如果硬件是驱动器的躯体,那么固件就是驱动器的灵魂。驱动的固件,就是运行在驱动上的微型操作系统。这个系统主要有主程序、通讯协议栈程序、工作模式程序、伺服算法程序构成,其中主程序负责整个系统的调度,是一直死循环工作的,根据需要去执行相应部分的代码。
图3-2
伺服算法是整个驱动器灵魂中的灵魂,是决定一个驱动器性能非常重要的一个部分,同时硬件性能也非常重要。但硬件可以看的见摸得着,算法确看不见摸不着,需要一个团队长达几年甚至几十年的耕耘,目前国外驱动器比国内好的主要就是算法先进。伺服算法分为三环,电流环、速度环、位置环,电流环是基础,同时也是最难的一个环路,接下来我们就从电流环开始。
3.2电流环
在讲电流环之前,首先说下PWM脉冲宽度调制电路,供给驱动器的直流电源不是直接到电机,会经过一个调制电路,输出以一个固定频率开关开关的脉冲电源,这个开关的频率就是PWM频率,如图3-3所示。电流环根据指令调节电压的占空比,高电平时间越长,则输出电压越高,低电平时间越长,则输出电压越低。在这里我们看见电压是不连续的,但由于这个频率足够快,现在驱动器的PWM频率一般从20Khz-100Khz,这个切换的频率足够快,快到你感觉电压就是连续的,比如你用万用表测量的时候发现电压是几乎不变的。这是由于电机中的电感存在,电感中的电流不能突变,即使在低电平期间,电压也不为零。
图3-3
图3-4
电机绕组当中的电流如图3-4所示,微观来看电流是在不断的增加和减少,确实存在波动。但从宏观来看,电流基本上是一个常数。我们以50Khz的PWM为例,则周期T=20us,假设电机电感100uH,电阻1.5Ω,这个很常见。则电气时间常数 τ = L/R = 100*10-3/1.5 = 66.6us,可以看到最短的电流切换时间为66.6us。选取的这个参数还是maxon高速空心杯电机的参数,实际上一般电机的电感远远大于这个,一般都会到mH级别,电气时间常数远远超过百微妙级,所以电机绕组当中的电流是连续的。如果真有电机的电感非常小,比如到了几个uH级别,那么这个电机的控制将会非常难,因为电感很小,在高电平期间电流会瞬间增加到一个非常大的值,这个时候要么是驱动报短路,要么是电机已经起飞了。所以,超低电感量的电机不是一个好玩的东西,有时候不得不外部增加电感来抑制电流的瞬时突变,这样才能较好的控制电机。
当然,理论上我们可以用更高的PWM频率来对付低电感量的电机,比如1Mhz的PWM频率,这样控制也不会是问题。这个就有点你很快,我则比你更快的意思,有点以暴制暴的感觉,可惜目前的电子器件还到不了这个水平。从这个现象我们可以想一下,如果驱动器的PWM频率加倍会有什么结果?结果如图3-5所示,电流的纹波会变小,因为PWM的频率快了,电流增加和减少的时间就更短。如果是PWM频率减一半,则电流的纹波会更大,这个应该比较好理解。如果理解不了的话,我举一个极端点的例子,假如PWM频率就0.5Hz,开1秒关1秒,这个时候电机的运转都不连续了,这个电流纹波够大了吧,都已经一会儿有一会儿没有了。
图3-5
其实PWM频率对电机控制还有其他的影响,主要有两方面。第一,电流纹波越大,电机的发热就越厉害,绕组就是铜线,铜线是有电阻的,更多的电流就会产生更多的热。所以,这也就是我们经常看见或者听说的,仅仅是使能没有驱动负载,电机都很热的主要原因之一。同时,如果想要有更小的发热,就得提高PWM的频率,或者外部增加电感来抑制电流纹波。第二,电流对应的是电机的输出转矩,电流的波动也就代表着电机输出转矩的波动,所以更小的电流纹波对输出平稳性也很有好处。
电流环的功能远远不是调节PWM占空比这么简单,还有更重要的任务等着它。我们知道电机分为有刷电机和无刷电机,有刷电机是靠机械换向片来换向,无刷电机的换向就得靠电子电路来完成了,一般称为电子换向。那电子换向做一件什么事情呢?就是要达到和机械换向一样的效果,让电机能连续运转。机械换向是通过换向片来切换绕组的通电电压的方向,电子换向就是用电子电路来切换绕组的通电顺序,这就是无刷电机换相。目前无刷电机的换向方法有,方波换向,正弦换向,FOC磁场矢量定向控制,无感换向。除了无感换向外,其余三个换向方式都需要传感器反馈转子的实时位置,在正确的时间换向才能让电机输出最大的转矩,并且发热最小。
方波换向,方波换向的转子位置反馈是霍尔传感器,霍尔传感器是由霍尔效应发展而来的,当N极磁场和S极磁场经过霍尔传感器时,霍尔传感器的状态会发生变化。利用这个特性,我们就可以知道转子位置的变化。霍尔传感器总共有三个,分别对应三个绕组,通过三个霍尔传感器的状态,我们就知道了三相绕组的通电顺序,从而完成了换向工作。只要电机一直在旋转,那么就一直在换向,其实有刷电机也是一样,只不过是机械换向片完成的。
我们以一极对无刷电机霍尔信号的变化过程来说明,如图3-6所示,每个霍尔传感器有在一个周期有一半时间是高电平另一半时间是低电平。这三个信号组合起来就有6种状态,所以方波换向或者霍尔换向又叫六步换向。这三个霍尔传感器的状态可以被电路直接读取,去控制功率放大电路MOS管的导通和关闭。如果是多极对无刷电机,霍尔传感器变化一个周期的距离就会变短。
图3-6
方波换向电机中的电流如图3-7所示,因为换向电压是方波的,所以绕组中的电流也是方波,这样转矩输出就会有波动。
图3-7
正弦换向,正弦换向就是模拟正弦波形,这样绕组中的电流也是连续的,输出转矩的波动相比方波换向会小。正弦换向靠的是算法去模拟正弦波形,运算量很大,同时也需要高分辨率的传感器来反馈转子的位置,如果500线以上的编码器,分辨率越高会越精细。正弦换向电机中的电流如图3-8所示,三相电流是交替变化的,各相差120°电角度。
图3-8
FOC磁场矢量定向控制换向,可以认为是正弦换向的升级版。相比正弦波换向方式可以让定子磁场和转子磁场时刻保持正交关系,获得最大的输出转矩,同时效率也高。目前市面上大多数驱动器都是FOC换向方式,也是直流无刷电机的最佳换向选择。
总结三种有感换向方式的优缺点,方波换向简单,可以有更高的转速。因为方波换向次数相比正弦换向和FOC要少,正弦换向和FOC其实可以理解为一直在换向,最终电子器件的响应速度和处理器的运算能力会限制这个换向的最高频率,也就限制了最高转速。但方波换向相比FOC和正弦换向会有更大转矩波动,电流是阶梯变化,也就会有更大的噪声。所以,方波换向一般适用是高转速的应用。正弦换向和FOC换向的缺点是算法复杂,硬件成本高,不适合高速和超高速应用。但可以有更小的转矩波动,更小的噪声,适合中低速应用。我们可以根据不同的应用需求,去选择合适的换向方式。
无感换向,无感指的是没有传感器反馈转子的位置,又需要给无刷电机换向。现在无感换向主要是通过测量绕组的反电动势和检测转子转动时候磁场变化两种方式,检测磁场变化的换向方式比检测反电动势的换向方式更好。如果是检测反电动势的换向方式,当电机转速很低甚至是停止的时候,反电动势很弱,不能准确的检测过零点,所以检测反电动势的无感换向一般只适用于转速比较高的应用,如最低转速在1000rpm。检测磁场的无感换向方式应用范围要广的多,可以适应更低的转速,如100rpm,但难度也更大,需要调试和适配的参数很多。无感换向方式一般都是特殊应用,如高速手动工具,优点是不需要传感器,接线也少。
讲完换向方式,电流环的介绍就基本结束了。最后看下电流环的一个指标,电流环采样频率,通过功率放大电路输出的电流都要通过采样电路采集回来形成闭环,大了就减小,小了就加大。这个采样频率就是一秒时间我去采集多少次,采集完了再运算,根据运算结果调整输出。目前市面上的驱动器,电流环采样频率一般在2-100Khz,更高的采样频率就需要有更好的处理器,当然也就会有更好的控制效果。采样也涉及到采样算法,高频率的采样怎样处理采样结果,应该怎样滤波处理,都是可以深挖很久的。
讲到这里,电流环的主要框架就讲完了,电流环的硬件和软件都是很复杂的,也是伺服环路里面最难的一个。尤其是算法,国产品牌还有很大进步空间,需要持续耕耘,但可以肯定的是,国产替代是以后的大方向。
3.3速度环
电流环的一系列操作的最终效果是保证电机有连续的输出转矩,虽然可以通过电流控制电机输出的力,但无法控制电机的转速和位置。速度环的功能就是调节电机的转速,但是速度环不是直接控制电机,而是将指令下发给电流环,由电流环最终通过调节电机电流,来达到调节转速的效果。两个环路之间的连接框图如下图3-9所示
图3-9
这个只是理论框图,实际上比这个复杂,速度反馈一般都会有滤波器,尽可能减小速度波动对采集的影响。速度环的反馈主要是基于电机编码器,编码器的分辨率越高,对速度采集的准确度就越有帮助。目前市面上主流驱动器的速度环采样频率,大概在1-20Khz之间,如此高的采样频率,如果编码器分辨率比较低,假如500线,一个采样周期多一个或者少一个脉冲,最终算下来的偏差都会到百分之几。这个是不利于速度稳定性的,对于速度稳定性要求高的应用,编码器分辨率应尽可能高,但又不能超过编码器接口的接收频率范围。同样,速度环的采样频率越高,可以调整的次数就越多,效果也就会越好。
除此之外,速度环还有前馈,包括速度前馈和加速度前馈。前馈的意思就是提前馈赠给你,即不经过速度环运算提前给到电流环,前馈是为了加快响应,抑制系统机械部分非线性的扰动。尤其是加速度前馈,对抑制整个过程的跟随误差非常有效。前馈与系统的关系如图3-10所示:
图3-10
我们知道系统的机械部分一般都是非线性的,非线性就会对控制造成影响,导致总是会存在跟随误差和速度波动。其实基于现代控制理论,我们可以尽可能的减小这个非线性的影响,这个就是非线性控制,我了解到的ACS控制非线性算法经过多次学习后可以到达很好的控制效果,很小的跟随误差以及很小的速度波动。
电流环是一个驱动器好的基础,速度环则是锦上添花。速度环对系统性能的影响远远不是调节速度而已,他直接决定了系统的响应速度,整定时间,共振抑制,扰动抑制等。这一点在我调试过的ACS控制器表现的淋漓尽致,相比之下,位置环对效果的影响小很多。
3.4位置环
位置环是三个环路中最不重要的一个环路,也是最简单的一个环路,位置环一般是在电流环和速度环之上。具体有两种连接方式,一种是位置环下接速度环,速度环下接电流环。还有一种是位置环直接到电流环,两种组成的如图3-11和图3-12所示:
图3-11
图3-12
这是两种不同的实现方式,理论上直接到电流环的响应速度会更快,直接到电流环的方式需要在位置环多加几个调试参数,如:位置环的速度和加速度前馈。这两种就是实现方式不一样,最终不会对控制效果有本质的影响,只是不同厂家的设计理念不一样。驱动器的三环基本就讲完了,通过篇幅长短都可以知道哪个最重要,哪个最难。接下来讲讲驱动器常用的一些模式,传统的转矩、速度、位置三个模式还比较简单,基于总线的一些模式是比较复杂的,也是要重点介绍的。
3.5驱动支持的各种模式详解
早期非总线的驱动器一般是支持三个工作模式,位置模式,速度模式和电流模式,这个都比较简单,配置好模式,给对应的指令即可工作。这些模式一般都可以接收模拟量和PWM命令,位置模式还可以接收脉冲命令,这个就不展开讲了,参对应驱动的手册即可知道特定模式支持哪些类型的命令输入。这种驱动最大的缺点就是接线复杂,控制卡离驱动不能太远,还需要考虑控制线缆抗干扰,不利于分布式现场的情况。这种一般是应用于小型独立式设备,设备相对比较小,线缆不会太长,干扰问题比较好解决。
随着总线型驱动器的出现,驱动器的工作模式增加了好几个。没有特殊说明的话,这里的总线指的是CAN总线和EtherCAT总线。基于这两个总线的驱动器一般都支持如表3-1所示的模式,当然还有PVT模式,IPM模式,但这些现在已经都不太常见了,有需要的可以查阅相关资料。
表3-1
模式缩写 |
模式描述 |
HM |
回零模式 |
PVM |
带规划的速度模式 |
PPM |
带规划的位置模式 |
CSP |
循环同步的位置模式 |
CSV |
循环同步的速度模式 |
CST |
循环同步的转矩模式 |
HM模式是回零模式,驱动器已经内置好了各种回零方式。如先找负限位再找index方式;用限位作为回零原点方式;碰到硬限位回零方式等等。这些回零方式的程序已经在驱动器内部实现好了,我们只需要配置好相关参数,启动回零即可,回零过程都是驱动器内部程序完成。同时,也有状态变量可以监控当前的回零状态,是否完成,是否有报错等。
PVM和PPM是带规划的速度和位置模式,规划的意思就是根据用户设定的加减速度去启动和停止运动。这个两个模式很简单,有点像非总线伺服驱动器的速度模式和位置模式,这里不详细介绍了。
我们重点介绍下循环同步模式,循环同步的意思就是以一个固定的时间间隔,周而复始的发送数据和同步指令。为什么要搞这个玩法呢?PVM PPM不香吗?这是我们学习新知识前需要考虑的问题,搞清楚了背景,理解起来会更有帮助。
我们先想下,控制卡+非总线伺服驱动器是怎样实现多轴同步的,是多个驱动的控制命令在同一个DSP中运算,这样时间上就不会有偏差,确保每次都是几乎同一时间把指令发送给驱动器。如果是多个DSP有各自控制的驱动器,这些驱动器之间做同步运动,比如插补,效果都会差于一个DSP内部轴同步的效果,除非你把多个DSP任一时刻都同步起来,同样的时间做同样的运算,这样也许会是一样的效果。而我们这里说的循环同步就是干这个事情,总线型驱动器与控制卡或者叫master之间的连接只有一条通讯线,无论这条通讯线是CAN总线的半双工,或是EtherCAT总线的全双工,再加100Mbit/s的带宽,数据传输总会有先后顺序,这个事实没法改变。假如总线上的所有驱动器都以收到指令数据的那一刻去执行指令,那么驱动器之间就无法很好同步了。那么应该怎么办呢?人是真的聪明,总会想办法去解决问题,天才的工程师提出了一个解决方案。所有驱动器都先收指令数据,但不要立马执行,等待一个命令再执行,这个就是同步命令,这样就完美的解决了总线上数据传输有先后顺序的问题。大家都是先把数据准备好,然后等待同步命令,这个就好比百米赛跑一样,大家都先准备好,等待发令枪再跑,这样就是公平的。至于最终跑的结果怎样看个人水平,驱动器最终执行的效果怎样也是看驱动器的性能,感觉这个启发真是源于生活,最终又服务于生活。
讲完什么是循环同步后,我们看下循环同步的三个模式到底是啥。首先说CSP,循环同步的位置模式,这个模式接收的是控制卡下发的位置指令,但这个位置不是随便发的,需要根据位置轨迹解算为一个一个点,这个是需要上位机解算的。上位解算点的这个过程叫粗插,就是粗线条的给出一些点,这些点不是驱动伺服环路能直接使用的,驱动器在接收到这些点后需要再进行精插,最终变成伺服环路能直接执行的位置点。精插是相对于粗插来说的,精插是以伺服周期为基准时间单位,精细的将轨迹分成很多个位置点,形成一个位置表,每个伺服周期去这个表中取一个值执行即可。我们以一个T形加减速,有匀速过程的点到点运动为例来剖析CSP模式的细节。如图3-15,是一个点到点运动,位置—时间和速度—时间关系图,加速和减速阶段的轨迹是曲线,匀速阶段是直线。再看下位置图中的插值点,这些点之间的时间是均匀间隔的,每到一个时间点位置轨迹与时间轴围成一个面积,这个面积就是我们在CSP模式发送给驱动器的位置指令,随着时间的增加,这个面积会越来越大。
图3-15
只要这些插值点是均匀的,指令发送的时间是准确的,满足这两个条件的情况下,电机的转动必然是平滑的。这两个条件中的任何一个不满足,电机的转动都是会顿挫的。如果插值点不均匀,比如有的时候插值点是间隔10ms,有的时候插值点是20ms。最明显的结果就是电机运动不平滑,那么为什么会不平滑呢?我们知道位置轨迹连续则位置轨迹的导数或者叫曲线的曲率才不会有突变,位置轨迹导数对应着的是速度,速度不突变则电机运转平稳。如果我的插值点时间突然增加或者缩短,则必然会导致曲率突变,这是上位在解算轨迹点需要注意的问题。尤其是任意轨迹曲线,曲率的突变非常厉害,即使在均匀的插值情况下,电机运转可能都会抖动明显。所以,对任意曲线的插值,还有需要针对锐角以及曲率突变的点做优化,比如用圆弧过度锐角,或者降低运动速度。
到这里我们对CSP的整个细节基本讲完了,在使用过程中,我们还需注意循环同步指令的周期以及指令到达是否准时。指令的周期不应过短,要让驱动器有精插的空间,比如驱动伺服环路400us,那么你就不要给低于400us的同步周期,当然很多驱动也不支持这么短的同步周期,即使支持也不要这样给。同步指令要有硬时性,或者实时性好,我们一般以us为单位,尽可能的准时,指令不准时同样会导致电机运动的时候顿挫严重,甚至驱动器报错。下面我们对比下,指令准时和指令不准时的位置轨迹和速度轨迹。
图3-16左侧是指令实时性不好,也就是同步的时间不准,虽然最终的目标位置是一样,但是过程不一样。指令的早到或者迟到都会影响位置轨迹,在指令不准时的地方会引起速度的跳变,从而会导致电机运转不平滑。
图3-16
从图3-17我们可以看到指令实时性好的位置轨迹很平滑,但指令实时性不好的位置轨迹则有点折线的感觉,因为上位解算好的运动点是需要在固定时间执行完才会是平滑的。如果实时性不好,则相同的时间需要移动更多的位置或者更少的位置,从而导致电机需要突然加速或者减速。我们再看图3-18,指令实时性好的的速度轨迹也是很平滑的,速度没有跳变,是匀加速过程;反观指令实时性不好的速度轨迹,速度存在明显的波动,速度波动会导致电机顿挫。
图3-17
图3-18
到这里我们讲完了整个CSP模式的要点,在使用CSP模式的时候如果电机运转不平滑,该怎样去找问题,这才是我们要关注的核心。看到这里应该有一种豁然开朗的感觉,就证明你完全理解了循环同步位置模式的精髓。
讲完CSP模式,后面的CSV和CST模式就简单了,我们先看看CSV模式。CSV是循环同步的速度模式,控制卡下发的是速度指令,这个速度指令和位置指令一样,也不是随便给的。需要对速度曲线进行插值,解算每个周期应该给驱动的速度指令,对位置轨迹求导数就是速度,也就有了速度曲线。同CSP一样,控制卡或者上位也只是粗插,伺服环路还会根据指令和周期的时间进行精插,最终就变成了伺服环路可以执行的指令。同样,CSV模式对指令的实时性要求同CSP一样,不准时的指令就会导致电机运转的时候顿挫,顿挫就是速度突变造成的,分析方法和CSP模式一样,这里不再赘述。
看完CSV,我们再看看CST,这个模式和前面两个的共同之处是都为循环同步模式,不同之处是CST模式的指令直接被伺服环路所用,中间没有精插的过程。由于这个不同,CST模式的指令实时性不好的时候我们也很难发现,因为CST模式对应的是电机的电流,电流对应的是电机的输出转矩,电流的突变就是转矩的突变。转矩的是突变对应三种情况,一种是电机输出转矩大于负载转矩,电机加速;另一种是电机输出转矩等于负载转矩,电机还是静止;甚至是电机输出转矩小于负载转矩,电机被负载拖动,运动控制中这种一般很少。指令实时性不好很难被发现,并不是说CST模式对指令实时性没有要求,既然叫循环同步模式,那就是有这个要求。
总结下三个循环同步模式,循环同步模式的出现,使得我们对任意轨迹的指令规划变得非常方便,就是对曲线插值,获得各时刻应该下发的指令。它使我们更加靠近了伺服环路的工作原理,伺服环路其实也是一直在插,不断的解算各个伺服周期的命令,然后算法以读表的方式不断的读取各个周期的指令。
讲到这里,整个驱动器的相关知识就介绍完了。简单总结就是,驱动器有硬件和固件两部分,硬件部分负责控制电机的换向,电流调节,反馈信号采集等;固件部分或者叫软件部分,则是通过硬件的各种反馈信号,周而复的运算,并将运算结果输出到硬件。其实整个伺服系统工作的过程,就是一个不断纠偏的过程,大了就小点,小了就大点,没有真正的静止,一直运动,只是在几个脉冲来回移动,这才是伺服系统的精髓,没有真正的静止。
4.电机分类
4.1电机原理
讲电机的分类之前,我先从电机为什么会运动讲起,电机运动的本质是转子磁场和定子磁场的相互吸引。只要转子磁场和定子磁场的方向不一致,那么就会有磁力吸引,也就会带动转子转动。两个磁场什么时候的吸引力最大,那就是两个磁场方向垂直的时候,这个应该好理解,我们小时候玩过磁铁,当两个磁铁垂直的时候最不好把控,如图4-1所示。
图4-1
我们根据法拉第电磁感应定律知道,磁可以生电,电也可以生磁,电流方向的变化就会导致磁场方向的变化,早期的电机就是根据这个原理来实现的。我们知道直流电的出现是比交流电早的,最早的电机就是他励直流电机,他励指的是电机的定子磁场需要单独电源供电,其实就是一个线圈,你给他通电就会有磁场。定子通电后磁场的方向就确定了,不会随时间改变。那么要让电机连续转动就得连续不断的切换转子磁场的方向,磁场方向的切换由电刷来完成。每旋转一定角度,转子线圈中的电流方向就会改变,磁场方向也就会发生改变,从而得以让电机连续转动。这个原理的示意如图4-2所示。
图4-2
紧接着交流电出现了,交流电机也就出现了,常见有三相异步和单相异步电动机,那么这个异步指的是什么呢?首先我们看下三相异步电机的结构,如图4-3所示,我们可以看到电机的转子是没有接到外部电源,不是永磁体,就是一个鼠笼型结构。根据法拉第电磁感应定律,磁是可以生电的,由于定子绕组是交流电,那么电流方向是不断变化的,则磁场方向也会变化。变化的磁场切割导体就会产生感应电动势,从而产生感应电流,形成磁场,有了磁场就会相互吸引了,电机就能转动了,异步电机也叫感应电机。但是,转子的感应磁场总会比定子原生磁场慢,这个很好理解,没有原生磁场就没有感应磁场。感应磁场比原生磁场慢就是我们说的异步,异步就是指的转子磁场是异步于定子磁场的。前面的他励直流电机定子磁场是固定的,只要转子有磁场,电机就会旋转,这个也叫同步。
图4-3
从这个现象我们可以知道,异步电机的启动转矩不会很高,甚至重载的时候无法启动。工业中异步电机一般都是空载启动,然后再挂负载,因为启动后的转矩还是相当可以的。反观他励直流电机,我们可以知道它有很高的启动转矩,因为转子在没有转动的时候就是一根铜线,启动瞬间绕组中的电流会很大,很大的电流就会对应很大的磁场,就可以快速驱动转子转起来。当转子转起来后,这个时候转子的绕组中会有反电动势,这个反电动势是由通电导体切割磁感线产生的。反电动势的方向是和供电电压相反的,所以,当电机转起来后,绕组中的有效电压=供电电压-反电动势。
这两种类型的电机是基础,即使现在距离电机发明一百多年,我们实际使用的还是这两种类型的电机,只不过是有了很多改进,包括材料和结构。目前,三相异步电动机主要应用是中大功率,以及超大功率的场合,制造成本比较低,供电方便,不需要驱动器。以他励直流电机为基础模型的就衍生了永磁型有刷或者无刷直流电机,从这里开始讲的电机就是我们运动控制系统中经常使用的电机,也是我要介绍的主要电机类型。
4.2永磁同步电机
他励直流电机虽然有我们前面说的优点,但也有不方便的地方,需要两个电源分别给励磁绕组和转子绕组供电,一旦励磁绕组烧坏维修也不方便。结构也比较复杂,励磁绕组需要绕在硅钢片上才有比较大的磁场,想要增加磁场强度就只能绕更多圈铜线或者通更大的电流,这些都限制了他励直流电机的发展。后来随着永磁磁性材料的发展,永磁体的磁场强度越来越大,这就给永磁体替代励磁绕组提供了可能,这里我将常用于电机的永磁材料做个简单介绍。如表4-1
表4-1
缩写 |
名称 |
特性描述 |
Ferrite |
铁氧磁性材料 |
铁氧磁铁是我们小时候都玩过的,这种材料便宜,但磁性也比较弱,温度对磁场强度的影响大,负温度系数。目前只有非常便宜的电机才会用这种永磁体,玩具赛车的直流电机应该就是这个永磁体。 |
AlNiCo |
铝镍钴磁性材料 |
铝镍钴这种材料的磁场强度比铁氧磁铁的要强,温度对磁场强度的影响也比铁氧磁铁的小,也是负温度系数。目前比较经济的电机中是这种磁性材料,并且这个材料稳定性很高。 |
NdFeB |
汝铁硼磁性材料 |
汝铁硼是最近二十多年发展起来的磁性材料,被称为永磁之王,磁场强度最强。目前高性能的伺服电机都是用这种材料作为永磁体,价格也比较贵。 |
SmCo |
钐钴磁性材料 |
钐钴这种磁性材料的磁场强度不如汝铁硼,但比其他材料要强。它的温度范围比汝铁硼要高不少,应用于一些环境温度很高的场合 |
目前工业应用的永磁电机以铝镍钴和汝铁硼为主,磁场越强,输出同样的转矩,就可以把电机做的越小,这对追求紧凑的设备是非常有帮助的。比如一些手持类的设备,电机太大的话没办法握在手里,如齿科牙钻。用永磁体代替励磁绕组可以把电机做的更紧凑,也还有不错的输出转矩,增加了电机的可靠性和一致性。
通过改进励磁绕组,他励直流电机就变成了我们现在使用的永磁直流有刷电机。永磁直流有刷电机,根据刷子材料可以分为金属刷和碳刷;根据转子绕组是否固定在铁芯上,可以分为带铁芯的和空心杯的。图4-4是带铁芯的金属刷转子:
图4-4
这个金属刷也可以是碳刷替代,碳刷的一些特性会优于金属刷,当然也会存在一些不足。这里我把两种刷子的特性罗列如表4-2
表4-2
名称 |
优点 |
缺点 |
应用 |
金属刷 |
接触电阻小 线性度好 真空环境可用 |
能承受的线速度小,一般小于1.5m/s,不耐磨损,不适应频繁启停 |
连续运转 高效率要求 |
碳刷 |
耐磨,线速度大,可以到3-5m/s,耐冲击 |
环境湿度要求,无法应用于真空环境 有碳粉 |
频繁启停 长寿命要求
|
这个带铁芯的转子有个问题,就是会有齿槽效应,齿槽响应就是当你用手转动转子的时候会有一卡一卡的感觉,齿槽效应是铁芯被永磁体磁化导致的。这个一卡一卡会导致电机输出转矩的波动,对高精尖应用是有非常大不利影响的,并且电机越大这个齿槽效应给你的感觉就越明显。前面我们讲了铁芯是为了增强磁场和固定绕组用的,那么这个铁芯是不是可以不要呢?答案是可以的,这个就是划时代进步的空心杯电机。空心杯的绕组就像一个杯子,中间是空的,没有铁芯去支撑铜线的固定,这个对制造工艺和绕组技术有非常高的要求。目前国内空心杯电机市场基本被国外厂家占有,这就可以看到空心杯绕组的制造难度。空心杯绕组实物如图4-5,绕组没有靠铁芯支撑,完全是空心的,定子永磁体在中间,这样的设计在转动的时候就没有齿槽效应了。由于没有了铁芯,同样情况下绕组的磁场强度会更弱一些,空心杯电机的转矩会更小,没有了铁芯,耐热性也会比有铁芯的差一些。
图4-5
到这里,永磁直流有刷空心杯电机已经与早期的他励直流电机的结构有了很大变化,定子由绕组变成了永磁体,转子由带铁芯的变成了空心杯的,剩下的改进就是电刷了,从金属刷到碳刷就是一种改进。但无论电刷是什么材料,电刷的存在还是有些问题,电火花,电磁噪声,寿命等。同时,随着电力电子器件的快速发展,让电子换向替代电刷换向成为了可能,这样就出现了永磁直流无刷电机。
永磁直流无刷电机不仅解决了电火花,电磁噪声的问题,由于没有了电刷,电机的寿命也大大延长。永磁直流无刷电机的绕组也分为带铁芯的和空心杯结构,图4-6是空心杯直流无刷,这个时候定子是绕组,转子是永磁体。
图4-6
图4-7是带铁芯的直流无刷电机,由于铁芯的存在,同样会有齿槽效应。
图4-7
绕组部分的结构是肉眼可见的,怎么绕一看就知道,但还有一个方面也会影响电机的性能,那就是永磁体的充磁方式,永磁体不同的充磁方式就会有不同的效果。充磁方式为抛物线状的永磁体,电机绕组反电动势为正弦波;充磁方式为瓦片状的永磁体,电机反电动势为类似方波形状,有平顶。反电动势为正弦波的叫PMSM,反电动势为平顶的叫BLDC,这是国内经常的叫法,包括很多权威平台,但这个观点我大不赞同。首先,PMSM是英文permanet magnet synchronize motor的缩写,叫永磁同步电机,BLDC是英文brushless direct current的缩写,就是直流无刷的意思。其实,带永磁体的直流电机都是永磁同步电机,同步是相对于异步来讲的,异步电机的概念我们前面介绍了。只要是直流无机械电刷的都可以叫直流无刷电机,而不能以反电动势波形来区分PMSM和BLDC。
所以,我认为直流永磁同步电机应该就是分为,直流无刷永磁同步和直流有刷永磁同步这么两大类,再去细分反电动势波形,绕组结构,电刷种类。但是,要注意反电动势为正弦波形的永磁同步电机的转矩脉动要比反电动势为方波的电机的转矩脉动小,目前高端的直流永磁同步电机的反电动势大部分都是正弦波形。
4.3步进电机
还有一类旋转电机是我们应用的较多的,就是步进电机。步进电机与永磁同步电机的结构上有很大区别,步进电机的定子有很多凸齿,转子也有很多凸齿,通常结构如下图4-8
图4-8
实际上转子和定子的凸齿比这个多的多,如常见的1.8度步进,就是一圈200步,也就是定子和转子凸齿的磁场相吸保持稳定的位置有200个。步进电机的结构也就决定了它的控制方式和永磁直流有刷或者无刷电机的完全不一样,如两相步进有A+ A- B+ B-四根线,分别对应两相绕组。当转子转到一个位置之后,这个时候绕组当中是一直通电的,而不是像伺服电机停住的时候一直在来回切换绕组通电的顺序和方向,会有几个脉冲的来回跳。但是这个一直通电的问题就是会发热,这是步进电机的一个缺点,尤其是功率大的步进电机,仅使能的时候发热很明显,所以步进电机的效率通常不高。步进电机停在一个位置的时候不会有抖动,这个也是它的优点,对于不允许抖动的应用也许非常适合。
步进电机的连续转动,就是频繁的切换A B相的通电顺序,切换的越快,电机转的也就越快。切换A B线的通电方向,就可以让电机反转。但如果在启动瞬间就给很快的切换频率,电机不一定能正常启动,就是会出现丢步的情况,因为步进电机没有传感器反馈转子位置,转子是否已经跟上定子磁场的变化是不得而知的。所以,步进电机的加速度是远远比不了伺服电机的,然后A B相的切换频率也会受电流上升的速度影响,就是切换频率会受限制,这也就限制了步进电机的最高转速,一般步进电机的工作转速就是六七百转每分钟差不多了,再快就很容易丢步。
有的人可能会想,步进电机安装编码器是不是就可以当做伺服电机使用?答案是步进电机加编码器≠伺服电机,这个是很多人容易误解的,认为伺服电机就是比步进电机多了一个编码器,其实不是这样的,因为电机的结构和控制方式都不一样。即使给步进电机装了编码器,它还是步进电机,这个是步进电机的结构决定的。这就好比牛和羊都吃草,羊吃再多的草也不能长羊那么大,不一样就是不一样。
步进电机的型号比较少,一般都以法兰尺寸命名,如32 45等。步进电机的价格相比伺服电机也便宜,应用还是非常广泛的,一般电机加驱动器也就几百元。国内比较有名的是雷赛步进,便宜好用。
4.4直线电机
至此,旋转电机的大部分知识就介绍完了,接下来我们看下直线电机,直线电机其实就类似于把旋转电机剖开拉直。直线电机的最大优点是没有背隙,这个是旋转电机连接丝杆无法比拟的,其次直线电机还可以获得很大的加速度,很高的定位精度。直线电机由定子和动子两部分组成,定子是永磁体,动子是绕组,原理和旋转电机是一样的。也分为有铁芯的平板直线电机和无铁芯的U型直线电机,有铁芯的一样会有齿槽效应。直线电机的实物如下图4-9和图4-10
图4-9
图4-9是带铁芯的直线电机结构,永磁体是固定于底座上,导轨支撑动子。当动子绕组通电会产生磁场,和定子的磁场相互吸引就推动动子移动,不停的切换绕组的通电顺序,磁场的方向就会连续变化,就能让动子连续移动了。这个就是直线电机的原理,和旋转电机是一样的。
图4-10
图4-10是无铁芯的直线电机实物,也叫U型,就是永磁体磁轨是U型的。这个的原理和有有铁芯的直线电机是一样的,相比于有铁芯的直线电机,这种就是没有齿槽效应,输出的转矩就会更平顺。对于运动轨迹有严格要求的应用,无铁芯的电机更合适,但无铁芯的推力相比之下也会比有铁芯的小,这个旋转电机是一样的。由于直线电机的优良性能,目前直线电机的应用越来越多,且都是应用于高精密行业,如半导体、激光、基因检测等行业。
4.5总结
以上电机的原理都一样,都是磁场吸引产生力的输出,接下来我们了解下电机的主要参数和特性。由于永磁体的磁场强度在制造完成的时候已经确定,所以只有绕组产生的磁场可变,绕组磁场越大,磁场的吸引就越强,输出的力也就越大。绕组的尺寸和匝数在电机制造完成的时候已经确定,要想调节绕组磁场的强度,就只需要控制绕组中的电流,电流越大,磁场越强。这个和我们读小学时候的科学实验一样,把铜线绕在铁钉上,给铜线通电铁钉就会有磁力,电流越大,铁钉的磁力也就越大。由此可知,控制电机绕组当中的电流就是控制电机的输出转矩,电流和电机的输出转矩是线性关系,这个比例就叫转矩常数,转矩常数的单位是mNm/A,就是1A电流能产生多少转矩,直线电机是N/A。这是一个非常重要的结论,知道这个关系后,对我们控制电机就非常简单方便了。还有几个与电机相关的重要参数,我这里都一一介绍下,并简单解释下他们的含义,以及他们相互之间的关系,如表4-3,打钩的表示有这个参数
参数名称 |
旋转电机 |
直线电机 |
额定电流 |
√ |
√ |
峰值电流 |
√ |
√ |
转矩常数 |
√ |
|
力常数 |
|
√ |
反电动势 |
√ |
√ |
极对数 |
√ |
|
磁极距 |
|
√ |
额定电流,额定即为持续,一直的意思,就是表示可以7×24小时连续不断工作的电流,且电机不会烧坏。但电机的温度会升高,具体升高多少各厂家不同型号都有区别,常见的一般是会到85℃,或者125℃,一些钻探用的特种电机会承受更高温度。前面我们提到电机的输出转矩和电流之间是线性关系,如果仅让电机以额定电流工作就有点浪费了。实际上电机在不同工作阶段需要的转矩是差别很大的,如果把额定当做最大值限定,就完全发挥不出电机的全部性能了,所以就要峰值电流。其实很多厂家没有标电机的峰值电流,也的标示的峰值电流是额定电流的2倍、3倍、5倍、6倍等,没有统一标准。我们不禁要问,为什么没有统一标准,首先我们想想电机为什么会烧坏?电机烧坏的根本原因是超过了允许的最高绕组温度,而电机热的主要来源就是绕组通电时候的发热,发热功率P=I2RT,I是电流,R是电阻,T是累积时间。电流I和发热功率P是指数关系,就是电流增加一倍,发热功率就是四倍,这个增加的非常之快。但我们知道,发热的同时也在散热,只要散热足够快,比如使用风冷或者强水冷,让产生的热立马散掉,那么即使给电机中几倍于额定值的电流,也不会烧坏电机。理解了这一点之后,我们就知道峰值电流为什么有这么多版本了,因为最终烧不烧坏电机还是热的问题。环境温度也对热有影响,让电机在烈日下工作和让电机在冰箱中工作是完全不一样的结果,在烈日下可能额定值都不能使用了,因为环境温度太高,而电机的指标基本都是基于25℃,空气自然对流的环境。超过标准环境温度使用时,就得降低指标再使用。这是一种比较粗略的估算方法,随着技术的发展,现在很多电机都内置有温度传感器,这是最准确的获取绕组温度的方法。完全不用关心峰值电流可以几倍,我只要周期性的监控传感器的温度,如果温度低我就可以加大电流,完全发挥电机的性能。
转矩常数是表示旋转电机输出转矩的一个指标,单位是Nm/A,力常数是表示直线电机输出推力的一个指标,单位N/A。这个数值越大,就表示同样电流的情况下输出的力更大,这个在选择驱动的时候可以纳入考量范围。这个两个的名字都是常数,也就是说在电机制造完成后就已经确定不变的。
反电动势是电机在转动的时候产生的,是铜线切割磁感线产生的感应电动势,是阻碍电机运转的。简单说就是,当你给绕组通正向电压,这个时候电机在转动,同时绕组会感应出一个反向电压,反指的就是和控制电压方向相反。控制电压-反电动势才是然组两端的有效电压,这个电压除以绕组电阻就可以得到绕组中的电流。反电动势的单位是rpm/V或者m/s/V,表示多少转每分钟的时候产生多少伏特的反向电压,或者直线电机在几米每秒运动的时候产生多少伏特的反向电压。
极对数是旋转无刷电机的概念,磁极距是直线电机的概念,两个指标都是为了告诉控制系统换相的位置间隔。比如4极对的旋转电机,转一圈需要换向的次数就是1极对电机的4倍,驱动器只有知道了这个参数才能更准备的给电机换相。磁极距和极对数类似,指的定子一个N和一个S磁铁的距离,知道了这个参数后,驱动器就知道怎样换相了。
最后,讲讲在使用电机过程中分析问题的一个重要指标——电流。这里可能有人要问,为什么是电流,而不是电压。可以回想下你曾经用过的那么多驱动器中,有哪个驱动器让你填过电机的电压这个参数?没有吧,但电流参数一定有,由此可见电流的重要性,电压都没出现过。为什么电流如此重要,那就得看看电机的开环特性曲线,这个相信大家都有概念,随着外部负载的增加,电机的转速降低,负载继续增加,直到电机堵转,如下图4-11
图4-11
开环特性曲线是电机绕组两端电压固定不变的情况下,转速和转矩随负载变化的情况。既然电压固定不变,转速和转矩都有这么多变数,那还关心电压干嘛,关心电压只能得出一些错误的结论。因为电流是直接影响电机输出转矩的,关心电流才对。电压不变但转速发生了变化是因为负载变了,负载转矩小的时候电机转速高,反电动势大,反电动势抵消了大部分电压,最终产生电流的有效电压很小;当负载转矩大的时候电机转速低,反电动势小,反电动势只抵消了小部分电压,最终产生电流的有效电压很大,电流也就会很大。从这个分析可以先看出,只有电流是随外部负载变化的,这就是为什么要关心电流的原因。
有一个情况下还是需要关心电压的,因为电压会影响电机的最高转速,比如在24V供电情况下电机的最高转速能到5000rpm,但你希望电机转6000rpm,这个时候你就需要升压了,但不会影响转矩和电流的线性关系。只要最高电压够用了,其实也就没电压什么事了,还是看电流,电流为王。
5.编码器
前面讲了控制卡、驱动器、电机三大部分,每一部分都很重要,但也不要低估反馈单元的重要性。如果没有反馈单元,前面三部分做的再好也是发挥不出作用,传感器技术在各行各业都发挥着着举足轻重的作用。我们接下来主要介绍运动控制系统中常用的传感器,也就是我们常说的编码器。这一部分要说的非常详细很难,尽量覆盖面广,用通俗易懂的语言介绍。
5.1编码器分类
现在我们常用的编码器根据实现原理可以分为光电式、电磁式、电感式;根据传输信号种类可以将传感器分为正交方波信号、模拟量电压信号、总线协议;根据掉电数据是否丢失可以将传感器分为增量式和绝对值式,绝对值的又可分为真绝对和伪绝对。首先,我们按实现原理一一介绍各种类型编码器的实现过程,霍尔一般不认为是编码器,其实也可以算一个低分辨率的编码器,这里我们也一起简单介绍下。
5.2霍尔传感器
霍尔传感器是用霍尔效应制造的传感器,其原理是电磁感应原理。当正高斯的磁场强度(S极)达到一定阈值后,传感器的电信号会发生变化,然后经过电路对信号进行处理,输出的就是高低电平信号。
图5-1
如图5-1所示,当磁铁的S极接近霍尔传感器,达到触发阈值时输出电平就会从0翻转为1,当N极接近霍尔传感器达到触发阈值时,输出电平就会从1翻转为0。当知道了这个特性之后,我们就可以用霍尔传感器去检测转子的位置了。
我们看一个永磁体一极对电机的模型,如下图5-2所示,三个霍尔传感器间隔120°均匀分布。转子在转动的时候就会触发霍尔传感器状态的翻转,遇到S极输出高电平,遇到N极输出低电平。每个霍尔传感器导通的位置是相等的,都是180°,最终三个霍尔传感器就会连续输出110 010 011 001 101 100的状态。根据霍尔的状态可以完成电机的换相,同时也可以通过霍尔传感器的状态知道电机旋转的方向和旋转的速度。只不过霍尔传感器的分辨率很低,对速度的反馈会不太准确,位置就更不准确了,一般是应用于对速度稳定性要求不高的场合,其主要作用还是检测转子位置,帮助驱动器给电机换相。
图5-2
5.3光电式编码器
图5-3
光电式传感器的原理和结构如图5-3所示,主要由光栅盘、光源和光传感器组成,当光源通过长条的小孔后就会被传感器接收,这个时候传感器的状态就会发生改变,被挡住的时候传感器就检测不到信号。光栅盘的刻线数量就是这个编码器的线数,线数越多制造难度越大,线数越多反馈的角度变化也就越精细。要增加物理刻线的数量是非常难的,但我们实际使用又对精度的要求很高,这个时候天才的工程师们就想到了一个办法,用两个传感器按1/4光栅距分布,这里我就可以得到两组电气角度相差90°的信号A和B,注意这个90°是电气角度,电气周期是一个高电平加一个低电平。这样就达到了对信号细分的效果,这个就是我们常说的数字增量编码器的4倍频,因为两组信号刚好差90°电气角度,两个信号的高低电平组合就有4种情况。这样在不增加物理刻线的情况下就把分辨率提高了4倍,那么是否可以8倍频或者16倍频呢?理论上是可以的,但制造难度太大,对硬件的要求也太高,成本也会增加,关键这只是通过编码方式增加分辨率,没有本质提高编码器的精度,4倍频已经足够用,且可靠稳定。
常见光电编码器还有一个Z信号,有的也叫index信号,或者reference信号。这个信号每圈只输出一次,可以当做为一个参考点,回零的时候可以用这个信号作为零点。ABZ三相信号可以是单端信号,但大部分是差分信号,这样有利于信号的稳定传输。
光电式编码器的优点是稳定可靠,精度高,抗干扰强。缺点是需要使用环境比较干净,不能有灰尘进入光栅盘,或者通过后期的防护等级设计来解决这个问题。光电编码器的价格也会比较贵,这个是由制造工艺决定的,制造难度也大。
5.4磁性编码器
磁性编码器,顾名思义就是用的磁场检测技术,是通过磁场变化来感知物体的运动。再进一步了解磁传感器之前,我们先了解下技术背景,巨磁电阻技术(Giant Magneto Resistance),简写为GMR。GMR的特性就是,当外部的磁场方向平行它时,两端电阻最小;当外部磁场反向于它时,两端电阻最大。其原理如图5-4所示,左右两个方框表示GMR元件,中间的箭头表示感应磁场线的方向。当磁场方向和箭头方向一致时,元件两端的电阻最小,当磁场方向和箭头方向反向时,元件两端的电阻最大,在0-180度之间时的电阻值会随着角度的改变而变化。
图5-4
当有了这个特性的元件后,我们就能检测到磁场的转动,如果这个磁场和电机转子固定在一起的,电机转动时候就带着这个磁场旋转,这样离检测转子的转动就近了一步。但是这个还完全不够,不能输出周期性的电信号,这个时候工程师们又想到了惠斯通电桥,如图5-5所示
图5-5
惠斯通电桥有四个桥臂,有一个输入电压源S,以及一个输出电源E,当4个电阻的阻值一样的时候,输出的电压为零。当电阻变化的时候,输出的电压在±S之间变化,把这四个桥臂用巨磁电阻代替的话,就可以检测转子的变化,并输出等幅的正弦波模拟电压信号。一个惠斯通电桥产生的信号,只能检测到转子转动的快慢,但还无法检测转子的方向,所以需要两个惠斯通电桥,这两个惠斯通电桥输出的信号就是我们耳熟能详的A B通道信号。详细内部结构原理如图5-6所示,
图5-6
图5-6中的两个惠斯通电桥组合就可以实现转子方向的判定,磁场旋转方向不同,则两个电桥输出电压的关系是不一样的。图中的ADCX+ ADCX-是一组模拟量信号,ADCY+ ADCY-是另一组信号,当磁场在连续不断旋转的时候,输出的电压波形如图5-7所示:
图5-7
这个时候输出的信号是sin-cos模拟电压信号,如果驱动器可以直接接收这种信号,那就可以直接使用,驱动器内部会去做细分,理论上的细分可以很高。如果驱动器无法接收sin-cos模拟量信号,那就得用细分电路先做细分,输出A+A- B+B-的正交方波信号。细分就是对信号做插值,比如一个周期内每1度插值一次,那么最终输出的脉冲频率就是360*4=1440,乘4是A B两个信号4倍频的意思。实际上,这个细分倍数可以很高,比如几千到几万,但过高的倍数其实没什么意义,因为那只是理论值,实际上编码器是没有那么高的精度。细分基本都是靠专业芯片完成的,靠软件细分的处理速度太慢,这个细分芯片是比较昂贵的,比较有名的大牌就是iC-huas。磁性编码器也是可以有index信号的,只是这里没有说明,其index的功能是和光电编码器一样的。
5.5电感式编码器
电感式传感器的原理还是电磁感应原理,它有一个感应线圈,这个线圈就是普通的线圈。当磁场强度和方向变化时,线圈中就会有感应电动势,这个感应电动势就会随着磁场周期性的变化,这样就能检测出转子在转动,周期越短则转动的越快。只有一个感应线圈只能判断转子在转动,而无法判断转子的转动方向,如果再加一个感应线圈,让两者形成90°的正交关系,像上文的磁性编码器那样,就可以知道转子转动的方向和速度了。再经过一些检测电路就可以输出正常的sin-cos模拟量信号,或者A+ A- B+ B-的两通道方波信号。电感式编码器好像无法输出每转的index信号,目前没见过,从原理来看好像也无法实现,除非用其他电路是专门输出一个index信号。
5.6直线编码器
前面主要是讲旋转运动的编码器,其实还有直线运动的编码器,其原理都差不多,也分为光电式的和磁感应式的。直线编码器主要由两部分构成,一个是读数头,一个是光栅尺或者磁删尺,如下图5-8所示,上面的就是读数头,下面的就是尺子,当两者有相对移动时就会有电信号的输出,就能知道物体的移动位置。
图5-8
光栅尺利用的是莫尔条纹的原理,莫尔条纹是18世纪法国研究人员莫尔发现的光学现象,1874年英国物理学家瑞利发现了莫尔条纹的科学和工程价值,提出了用莫尔条纹来测量光栅移动的可能性,为计量光栅的发展奠定了理论基础。
图5-9
图5-9就是莫尔条纹,光栅尺和读数头得结构正好就是这样。光栅尺的微观结构如图5-10所示,一般是20μm或者50μm的均匀刻线,光栅尺的基材有金属的,也有玻璃的。光栅尺的刻线与读数头上光学元件和指示光栅配合就形成了莫尔条纹,当物体移动的时候就会输出测量到的电信号,这个信号可以是sin-cos模拟量,也可以A+ A- B+ B-的正交方波信号,这样就可以当做一个编码器使用了。
图5-10
磁栅尺的原理是我们前文提到的巨磁电阻技术,只不过是用到了直线运动上,磁栅尺的结构就是连续不断的N S N S循环。制造的时候需要给磁栅尺充磁,充磁完成后的效果如下图5-11所示,当读数头和尺子相对移动时,读数头上的元件就会感应到磁场变化,然后输出电信号。输出的电信号可以是sin-cos模拟量,或者是已经细分后的A+ A- B+ B-的方波正交信号。
图5-11
相比之下,光栅尺的的精度会比磁删尺的要高,抗干扰强,价格也会更贵。光栅尺的缺点是要求环境干净,无粉尘,否则读数头可能无法识别。磁删尺的优点是便宜,不惧灰尘,缺点是是精度不如光栅尺,强磁环境无法适用,尺子被撞击可能会失去磁性,无法使用。可以根据实际使用需求选择合适的尺子和读数头。
5.7绝对值传感器
绝对值传感器是相对于增量式传感器来说的,增量式传感器是只要驱动不断电,归零后驱动能够知道电机位置,断电后位置数据丢失。绝对值类型的就是可以在断电后还能记住位置,并在位置变动后还能更新最新的位置。绝对值编码器又分为伪绝对值编码器,以日系为主,和真绝对值编码器,以欧美系为主。伪绝对值编码器需要电池供电,是电池还在让芯片工作,万一电池没电则位置数据丢失。这种伪绝对编码器的优点就是制造简单,结构紧凑,成本低,对于能接受更换电池的应用还是非常具有性价比的,缺点就是有电池这个不确定性因素,一般电池可能也就用2年。真绝对值编码器不需要电池辅助,所有电源关掉后都可以记录当前位置,并且能检测断电后的位置变化,可靠性高。真绝对值编码器的制造成本非常高,大概比伪绝对值编码器价格高一个数量级,体积也比较大,但可以终生免维护,非常适合可靠性要求高的应用。
那么绝对值编码器为什么可以在设备断电后还能知道位置呢?这里只说真绝对值编码器,伪绝对值的是靠电池在工作的,本质上和增量的没有区别。真绝对值编码器的发明不得不说非常巧妙,其原理是借鉴了机械手表的时分秒三个针,当我们知道了时分秒的位置,那么一定知道此刻是几时几分几秒。绝对值编码器正式利用了这个原理,只不过是远远不只时分秒三个针,检测位置的传感器非常的多,最终通过编码就知道了转子的准确位置,单圈绝对值编码器的结构原理下图5-12所示:
图5-12
这个图只是展示原理,实际上的圈数比这个多得多,这个是一个4位的绝对值编码器。只要这个编码器有电,那么它的位置肯定是唯一,因为径向上的每一格的编码是唯一的,上电的瞬间就能知道位置,即使断电后被转动过也不受影响。现在常见的绝对值编码器有14位、16位、17位、20位等等,这个指标描述的是单圈的分辨率,如果绝对值编码器是单圈的,则只有这一个指标。对很多应用来说,单圈编码器是不够的,这就提出了多圈的要求,怎么实现这个多圈计数呢?这里还是利用了机械手表的原理,多圈的实现就是再加一个光栅盘,一个光栅盘负责计单圈的位置,另外一个光栅盘负责计多圈的圈数,两者一组合就可以知道多圈的准确位置了,这个还是很巧妙的。
现在原理实现了,那么信号要怎样传输呢?这个是绝对值编码器和大多数增量编码器的一个主要区别,绝对值编码器不是通过脉冲计数或者sin-cos模拟量信号来传递位置信息的,是通过通讯的方式的,叫绝对值编码器通讯协议。实现的过程就是周期性的上传位置数据,比如5K,10K的频率上传位置数据给驱动器,一般是6根接线,两根电源线,两根时钟线,两根数据线。驱动器要能识别编码器的数据,前提是他们有相同的通讯协议,还要能正常解码。
目前常见的绝对值编码器通讯协议有SSI、Biss-C、EnDat2.2、HIPERFACE、多摩川协议等,这些通讯协议都是为了完成数据的传输,只是实现的方式有些区别。对协议细节感兴趣的可以查阅相关资料,这里就不展开讲了,其原理和第二章讲的三层模型是一样的,一样有物理层、数据链路层和应用层。
5.8总结
前面的描述中,我主要从编码器的实现原理介绍了编码器,是为了方便大家了解编码器的本质,清楚不同类型编码器的优缺点。实际使用过程中,大家习惯性的将编码器分为三类,第一是数字增量编码器,通俗的说就是输出信号为A B两相正交的方波信号;第二是模拟增量编码器,输出信号为sin-cos模拟量电压信号,这个信号需要驱动器内部细分才能有更高的精度;第三种就是绝对值编码器。这种三种方法是没有区分编码器的实现原理,仅从电信号的角度做了区别,区分的不够精细。不同实现原理的编码器还是有本质区别的,对设计阶段的选型有指导意义。
编码器选型应该有这么几个维度,第一先确定是用增量的还是绝对值的,绝对值的要用什么协议的,增量的信号要用什么类型,sin-cos、正交方波、或者是走协议的。第二确定用哪种编码器,是光电编码器,磁性编码器,电感式编码器。这些类型的编码器都各有优缺点,具体如下表5-1:
名称 |
优点 |
缺点 |
光电式编码器 |
精度高 抗干扰强 |
制造难度大、成本高 不耐油污、粉尘 |
磁性编码器 |
价格便宜、体积小、制造简单 |
精度不如光电编码器 不适用强磁环境 |
电感器编码器 |
紧凑、方便集成在PCB上 |
精度不高 成本相对磁编要高 |
所以,对于不同的应用,根据实际需要选择合适的编码器。在不考虑成本的情况下,一般建议优先考虑光电编码器和绝对值编码器,绝对值编码的可以不用回零,非常方便。当然,磁性编码器的成本低,应用范围也很广,电感编码器相对于前两者会少点。
6.调试
6.1调试的目的
首先,我们知道自动控制的过程就是是一个不断纠偏的过程,多了就少给点,少了就多给点,这样周而复始的进行下去。理论上讲,只要我们人眼和手的反应足够快,那么我们每个人都是一个优秀的自动控制系统。但实际上我们无法做到很高的控制频率,对人而言5Hz都已经快的不得了了,然而这个频率对控制系统远远不够。所以,我们就需要借助微电子电路去帮我们实现想要的控制频率,但电子电路仅仅是帮我们提高了控制频率,而它不知到该该给多少控制量,控制量增加或者减小的速率应该是多少。该给多少控制量可以由指令和负反馈相加之后算出,而控制量增加和减小的速率就是我们调试需要完成的,不同的参数就会有不同的效果。通常我们所说的刚性强弱,对应的就是控制量变化的快慢,刚度越强,控制量变化越快,刚度越弱,控制量变化越慢。
调试的时候我们看的是指令和被控对象的响应关系,理论上指令给出后被控对象应该立即响应,不允许有滞后,但实际上无法做到,因为我们实际生活中的被控系统都是惯性环节,只是有的惯性大,有的惯性小。惯性环节说的就是一个物体或者一个系统有惯性,比如我们开汽车,当踩了刹车后车子不能立即停下来,而是会有一段减速距离,那么我们说汽车就是一个惯性环节或者惯性系统。理解了这个之后,就可以很好的理解为什么我们的运动控制系统是惯性环节了。既然已经有滞后了,那么我们就应该尽可能的减小滞后,让响应尽可能的紧跟指令,这也就是我们调试的目的。让响应紧跟指令有两个判别方法,一个是时域的,就是从时间轴上去看,我在t时刻给了指令,你的响应滞后了多久。另一个是频域的方法,通过频率响应来判定系统的响应特性,这个方法对分析系统非常有效且准确,稍后我们会讲,先看下时域调试。
6.2时域调试
时域顾名思义就是在时间这个维度上看系统的响应特性,在讲时域调试前,我们先了解下PID控制算法。相信只要在运动控制这个圈子工作的人,一定知道PID控制算法。首先,PID控制算法是一种闭环控制算法,起源于20世纪三四十年代,是为满足过程控制而诞生的。PID控制算法有三个环节,比例、积分、微分,最终的公式如下公式6-1所示
公式6-1
Kp是比例因子,Tt是积分时间常数,TD微分时间常数,u(t)是输出量,e(t)是给定值和测量值之间的偏差量。从公式可知,比例因子是线性的调整偏差,偏差大则输出量就会大,偏差小输出就会小,但偏差很小的时候如果只有比例因子,最终无法达到偏差为0。偏差很小的时候就会出现,给控制量确实把偏差纠正了,但过头了,往另外一个方向给控制量也会出现同样的情况,最终就会在很小的范围内一直振荡下去,即只有比例环节的控制算法无法消除静态误差。Kp的作用效果与值的大小成正相关系,越大作用越强,越小作用越弱,响应也就会越慢,过强又会引起超调。单比例调节的控制器,时域响应曲线大概会是如下图6-1这个样子,会一直振荡下去
图6-1
比例是无法消除静态误差的,静态误差只能由积分环节完成了,从公式6-1可知积分是将时间0-t的误差累积,只要有累积误差存在,积分就会去消除这个累积误差。积分时间越短,则积分作用就越强,有的控制器是填积分时间的,也有控制器是填时1/Tt的,也就是增益,这个就是数值越大增益越强。有了积分环节后,理论上响应就可以完全等于指令,当然这要看参数是否合适,以及系统本身是否稳定。积分作用越强,误差消除的就会越快,但太强的话也会引起共振,使系统稳定不下来,得根据响应曲线去调试参数。
其实,有了比例-积分两个环节就可以使系统完全稳定了,为啥还要有微分环节呢?看下公式6-1,微分是对变化量求导,同样的时间变化的值越大,则变化率就越大,再乘一个微分系数,则输出量也就会随着变化率成比例的增大。简单点说就是,误差变化的快,输出的变化也会很快,误差突变,输出也突变,不会像比例-积分那样慢慢调节。简言之,就是动态性能更好,所以微分是调节动态性能的。微分因子越大则微分作用就越强,但微分这个环节不好掌控,过大的微分非常容易使系统振荡,一般都有滤波器对信号处理,不然系统非常容易振荡。
PID三个环节都有的控制器就是比例-积分-微分控制器,这个比较常见,其实也有很多控制器是PI PD控制器,也可达到同样的控制效果。最终控制器的效果就是算法+硬件决定胜负,硬件还是看得见的,算法只能靠时间积累。一个高级的控制器,远远不只PID三个参数,常见的有前馈参数,有加速度前馈、速度前馈,前馈对减小跟随误差和速度波动非常有效,还有滤波器,高通、低通、双极滤波器等。
图6-2
时域的调试过程如图6-2所示,基本原则就是,先比例后积分微分,纯比例的时候尽量少超调,再加积分,稳准快而不振荡。微分视情况取舍,这个不好掌控,最终通过效果来判定。调试的过程就是试错的过程,这个非常吃经验,调的多了自然就会了。不同厂家的控制器,调试的基本方向相同,但还是会有些差别,拿到一款新的控制器需要先摸索下找到调试感觉。时域调试大概就这么多吧,说简单也简单,说复杂也复杂,这个要看以什么标准去调试,以及系统的硬件情况怎样。有时候调到极致了还无法满足要求,那就是不行,不行就是不行,调试也不能解决所有问题,比如硬件很烂。
6.3频域调试
频域调试是根据系统的频率响应特性来判别系统的稳定性,学过自动控制原理的人应该都知道这个,我们通常称之为频率响应。那么为什么要搞频率响应呢?之前我们说的时域分析不好吗?通过看指令和响应的差别即可分析参数是否合适,既然这个频率响应方法流传下来了,那么就一定有他的可取之处,这是我们学习新东西之前需要思考的问题。时域分析确实是能解决很多问题的,包括现在很多控制卡也都只有时域分析。但这里存在一个问题,大多数人调试的过程中可能都遇到过,当我用时域分析的方法在某一个位置把参数优化后,在这个点很稳定,但在整个行程范围内的其他位置会有异响,到那个点了又得去调,来来回回可能得调很多次,效果还不一定很好。这个时候就得用上频域分析了,不同的点会有共振就是系统有几个共振频率,时域分析是发现不了这些共振频率的,时域调试的时候就是简单粗暴的降增益,加滤波,但这样会牺牲系统的动态性能。
频率响应是指系统对同样幅值不同频率激励信号的响应特性,通过响应特性曲线,我们就可以知道系统对不同频率信号的反应,是否有共振,带宽是多少都会一清二楚。既然频率响应这么重要了,那我们就得搞清楚这个功能是怎么一回事,我们沿着为什么?是什么?怎么用?的思路去学习频域分析。为什么的问题前面已经解释了,解决时域分析的短板,更高效直观的去调试一个系统,接下来就要解决是什么和怎么用的问题。
频域分析的过程就是,正弦波信号激励源输入系统,然后测量经过系统后输出正弦波的幅值和相角变化。为什么是正弦波激励源,这是正弦波的优良特性,非常方便我们分析问题,因为经过一个系统之后正弦波还是正弦波,只不过是幅值和相角变化了。幅值很好理解,就是正弦波的高度,相角就是输入正弦波与输出正弦波相位角的偏移,比如输入的正弦波在0°的幅值是0,输出正弦波在30°时刻的幅值为0,则我们称之为相角滞后30°。幅值是可以放大或者缩小的,取决于系统的放大倍数,随着频率的增加,放大倍数也会降低;但相角一定是滞后的,频率越高滞后的就越厉害。
我们假定系统的放大倍数是1,随着频率的增加,幅值会衰减,相角也会更加滞后。图6-3和图6-4是系统的激励和响应曲线,蓝色是激励源,黄色是响应。图6-4激励信号的频率比图6-3的更高,所以幅值更小,相角滞后更大。
图6-3
图6-4
试想下,如果把频率进一步增加会发生什么,幅值更小,相角更加滞后,这就可能出现如图6-5所示情况,就是频率太快,响应跟不上。这还不是一般的跟不上,刚好滞后180°,这个就好比你让我往左走,我还在往右边去的路上,我刚到中间准备往左走,你马上又说往右,根本不是一个节奏。对于系统来说,这种情况就很容易导致共振,是需要滤掉的频率点,这就是频率分析的厉害之处。
图6-5
如果在图6-5的基础上继续增加频率,会出现什么情况?那一定是相角继续滞后,幅值继续衰减,这个时候你会发现好像激励和响应又到一个节奏上了,只不过是滞后的更多了。就是第一个指令我没赶上,结果赶上第二个指令了,虽然滞后比较严重,但还是一个方向,至少不会相互激起来,不会共振,时序上的关系大致如下图6-6。
图6-6
频域分析或者频率响应就是这么个过程,解决了是什么的问题,接下来就去聊聊怎么用的问题,无论再怎么高级的方法,最终都得落实到实际应用才有意义。如果通过正弦波激励和响应的时序关系,让我们去调参数,那估计是比时域调试更难,更不好解决问题。然而我们不用担心这个问题,天才的数学家们早就给我想好办法了,通过数学变换把时域的东西变换到频率域,这样就非常易于分析和调试了。这个人就是皮埃尔-西蒙·拉普拉斯,当然还有让·巴普蒂斯·约瑟夫·傅里叶,但拉普拉斯变换相比傅里叶变换在这个领域使用的更广,傅里叶变换需要函数在无穷远处可积才能做变换。这两位数学家都是法国人,想详细了解的可以自己百度相关资料,或者看相关的教学视频,资源非常丰富。这里只说结论,毕竟数学变换的过程是很枯燥的,并且都是好多年之后才能应用于工程实践之中,但又不得不说这些数学知识对人类进步的意义非常之大。
数学变换是基础理论,最终还得有工程化的工具才能方便调试,不然每次调试的时候还得把一堆公式摆出来,那简直是太难了。有问题就需要解决问题,这个时候亨德里克·韦德·波特就发明了波特图这个工程化工具,当然还有奈奎斯特曲线,相比之下波特图的使用更常见,也更好理解,我们这里就介绍波特图。波特图是由两幅图组成的,一个是幅频图,一个是相频图,幅频图是激励信号和响应信号的幅值关系图,相频图是激励信号和响应信号的相角关系图。
图6-7
波特图举例如图6-7,上半部分是幅频图,下半部分是相频图,这里只是举例说明,图中尺寸不一定很精确。两幅图的横坐标都是频率,相频图的纵坐标是角度,这个好理解,幅频图的纵坐标是dB,这个可能不好理解。dB就是一种表示方式,因为如果是用十进制数字去表示,这幅图得坐标轴就非常长了,看起来也不方便。我们看下用dB表示坐标轴是个什么意思,dB就是取以10为底的对数值,如公式6-2所示
n = 10logAdB 公式6-2
其中A表示系统的放大倍数,如果A是1,计算结果为0dB,如果A是10,计算结果为10dB,如果A是100,计算结果为20dB,如果A是1000,计算结果为30dB。我们可以看到用dB来表示的数值会比直接数字表示要小很多,这就方便我们作图了,就是换了一种表示方式而已,不要被这个吓倒。横坐标的频率范围如果很大,也需要取以10为底的对数值,方便作图。图6-7的含义是,随着激励信号频率的逐渐增加,系统对激励信号的放大倍数越来越小,随着频率的增加,相角也越来越滞后,理解到这个点就可以了。到这里都是介绍频率分析的原理和理论知识,接下来我会用一个实际产品的频率分析工具,为大家介绍根据
波特图去调试伺服系统的相关参数。
画波特图之前是要知道系统的传递函数的,但实际上我们不可能准确的知道系统的传递函数,或者说即使我们想尽办法知道了系统的传递函数,这样的代价也太大,花费的时间也太长,可能项目都结束了,传递函数还没找到。那我们怎样才能非常方便的得到波特图,然后方便的去调试参数呢?那就是做频率响应测试,不用关心系统的传递函数是啥,我就测系统对激励信号的反应,然后绘制出波特图,这个是需要专业工具的,不是随便都能测。这里我以ACS的频率分析工具FRF,详细的介绍怎样做频率调试,之所以选择这个工具是因为它非常好用。FRF工具如下图6-8所示,左上就是波特图的两幅图,上方是幅频图,下方是相频图。右边是设置相关参数,可以选择轴号,伺服环路,频率响应测试的最小最大频率频率,激励电流等。下方有信号,伺服参数,测量分析,物理单位等信息。
图6-8
首先我们先了解下怎样使用这个工具,下方signals选项卡有closed/ open/ controller/ plant四种,分别是闭环系统、开环系统、控制器、平台的波特图,这个就是FRF工具的强大之处,可以看各个部分的频率响应特性,要想很熟练的运用,需要搞清楚这四个波特图分别代表什么意思。Plant表示的是平台的波特图,如直线的十字平台、龙门架、旋转直驱结构等,反应的是机械部分的频率响应,不与控制器挂钩,通过plant可以看到机械结构的特性,在哪些频率下会有共振。Controller表示的是单控制器的波特图,简单点说就是控制器自己的频率响应特性,应该说任何物体都可以有频率响应特性,控制器也是。Open为开环系统波特图,是plant+controller的结果,也是我们最关心的。解释下为什么要关心开环波特图,因为plant部分的频率响应特性在机械安装完成就已经确定,不会随我们调试参数的变化而变化,我们能改变的只有控制器的波特图。当控制器的参数被我们修改时,波特图结果就会变化,如果平台在某个频率点有一个尖峰的共振点,那么我们就可以设置控制器的陷波(notch filter)参数来修正,两者一叠加,最终就会没有共振点,其实参数调试就是一种校正。Plant的特性固定,通过调节controller参数可以校正plant的缺陷,两者一叠加就已经确定了系统的最终响应特性,这也就是为什么关心开环波特图的原因。Closed为闭环波特图,一般没有看。
知道了这几个波特图的区别后,我们看下波特图几个关键参数和稳定判据。幅频图中曲线与纵坐标0dB这条横线会有一个交点,这个点叫增益穿越点,也就是放大倍数为1的频率点,如下图6-9所示。这点有三个参数,一个是穿越频率,也就是我们说的带宽,带宽越大表示系统的动态特性越好,响应越快;第二个是相角,和第三个参数相位裕度是相关联的,相位裕度30°是临界稳定状态,或者离不稳定已经很近了,我们调试的时候需要让相位裕度大于30°。但也不要太大,太大就容易牺牲系统的动态特性,稳定性和动态性是相互矛盾的,我们要取一个中间值。让系统带宽尽可能的大而又稳定是我们调试时候追求的目标,一般建议相位裕度略大于30°。
图6-9
另外一个关键点是相位穿越点,如下图6-10所示,有相位穿越频率,增益和增益裕度三个参数。这个点的相角会穿越180°或者-180°,这个点就是图6-6所示的相角滞后180°,是容易共振的频率点,对于这样的点是需要非常关注的。自动控制原理中对相位穿越点稳定的要求是增益裕度不低于6dB,实际上6dB可能也会共振,一般我们取8dB或者10dB,可以取得比较好的效果。
图6-10
整个系统要想稳定,就得同时满足增益穿越点的相位裕度不低于30°,和相位穿越点的增益裕度大于10dB,我们调试参数的目的就是为了让这些点能满足要求。知道了系统稳定的标准后,就看看怎样调试参数,其实也比较简单。参数设置界面如下图6-11所示,在Design模式就可以修改参数。
图6-11
参数大致分为环路增益参数和滤波器参数,环路增益有位置环和速度环,位置环增益对整个系统响应速度的影响比较小,一般是把系统带宽作为位置环比例增益填入。最核心的还是速度环的参数,速度环不仅有比例-积分增益,还有几个滤波器,比例-积分和我们时域理解的是一样,增益越大则系统响应速度越快。图6-10中红色的曲线是没有修改参数时候的情况,带宽大概30多Hz,红色上方的土黄色曲线是增加了速度环和位置环增益后的,可以明显看到系统的带宽大幅增加到90多Hz,这就是环路增益对系统带宽或者叫动态性能的影响。环路增益是基本的参数调试,对于比较好的机械系统调试这几个参数就够了,比如我现给出的波特图就是一个刚度非常好的机械系统,比较接近理想的波特图曲线。理想的波特图曲线走势,就是随着频率的增加,系统对激励信号的放大倍数越来越小,中频段比较宽,整个曲线无共振点,共振点就是突出的尖峰,则认为是比较理想的状况,我们调试的时候也是尽可能的将曲线往这个趋势校正。
速度环还有几个比较重要的滤波器,低通滤波器、陷波滤波器、双极滤波器。低通滤波器就是允许低频信号通过,阻止高频信号,机械系统越好的情况下低通滤波器频率范围就越宽,能调试的空间也就越大。陷波滤波器是一个带阻滤波器,某一个频率范围的信号不允许通过,高于或者低于这个频率的都可以通过,可以认为是陷阱的意思,让一个频率范围的信号掉入陷阱而不能通过。陷波滤波器都抑制共振点非常有用,一般共振点都是一个很窄的频率范围的尖峰,陷波滤波器可以设置陷波的频率点,陷波的频率宽度,陷波的幅度,也就是幅值上要衰减多少。
双极滤波器一般接触比较少,也不要被这个名字给吓住,不要怕,记住它也就是一个滤波器,只不过参数多点而已。双极滤波器的双极指的就是有两个零点和两个极点,其传递函数如下6-3公式
公式6-3
实际使用过程中我们不需要关心为什么叫双极滤波器,我们关心这个双极滤波器能实现什么功能,怎样使用就可以了。双极滤波器可以实现陷波滤波器、低通滤波器、超前校正和滞后校正功能,用的最多的就是陷波和低通滤波功能。图6-12为配置成陷波滤波器的效果,参数配置为WN=WD,分子的阻尼系数小于分母的阻尼系数。
图6-12
图6-13是配置为低通滤波器,参数配置为WN>WD。双极滤波器的参数就这个几个,还可以组成超前或者滞后校正来增加相位裕度或者增益裕度,一般用的比较少。
图6-13
6.4总结
无论是用时域方法还是频率域调试方法,调试的目的都是为了追求一个稳定而且高效的系统。稳定指的是系统无论在哪个位置点,无论是今天还是明天,它都是可靠且结果一致的;高效指的是完成同样一件事情,花费的时间尽可能的短,更高的产出率。时域的调试方法直观明了,非常常见,易于上手。频率域的调试方法相比之下更难理解,尤其对自动控制原理和信号与系统没有概念的初学者。但只要你理解了波特图的含义,知晓波特图对系统稳定判断的标准,那么频率域的调试将会非常容易且有趣。简单说就是增益穿越点的相位裕度不低于30°,相位穿越点的增益裕度不低于10dB,这样就可以了。通过增加环路增益可以让系统的带宽更大,对于不满足要求的共振点使用滤波器过滤,其实调试也就这么多事,调的多了自然也就会了。根据我的经验,频率域调试方法除了可以分析频率特性外,还有一个好处是调试的一致性很好,只要波特图差不多,系统的结果基本一样,无论是精度,稳定性,整定时间等。
参考文献
1.《EtherCAT工业以太网应用技术》机械工业出版社,李正军
2.《CAN总线应用层协议实例解析(第2版)》北京航空航天大学出版社,牛跃听,周立功,高宏伟,黄敏思
3.《运动控制系统(第2版)》中国工信出版社,班华,李长友
4.《自动控制原理(第6版)》科学出版社,胡寿松
5. maxon选型手册18,19,20,21版
6. ACS相关手册