APP下载

基于FPGA+ARM的永磁同步电动机高精度转速检测*

2012-11-24李虎修张承瑞丁信忠于乐华胡天亮

组合机床与自动化加工技术 2012年11期
关键词:计数器编码器个数

李虎修,张承瑞,b,丁信忠,于乐华,胡天亮,b

(山东大学a.机械工程学院;b.高效洁净机械制造教育部重点实验室;c.控制科学与工程学院,济南 250061)

0 引言

永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)具有结构紧凑、高功率密度、高气隙磁通和高转矩惯性比等优点,在数控机床、工业机器人、航空航天等领域逐渐取代了直流伺服系统,得到了广泛应用[1-2]。

永磁同步电机的高性能控制需要精确的转子的位置和速度信号去实现磁场定向控制和速度反馈[3]。此外,在伺服控制系统中,反馈电流的不稳定并不是由于PWM噪声而是由于速度检测精度的限制引起的[4]。因此,在高性能伺服系统中,永磁同步电动机高精度的速度反馈是实现高性能运动控制的重要要求。

通常电机转速检测是通过计算一定采样时间内电机轴端增量式编码器反馈回的脉冲个数来实现的,然而由于每个采样周期内存在非完整周期脉冲信号丢失,尤其是在低速运行情况下,这种方法检测出的转速并不能满足高性能伺服系统速度控制要求。本文利用FPGA并行处理的优势,同时检测编码器速度反馈信号完整周期个数和非完整周期脉冲长度,消除了非完整周期脉冲信号丢失对转速检测精度的影响。在FPGA内通过硬件描述语言完成了高精度转速检测的硬件实现,一方面提高了转速检测的精度,同时加快了系统的响应速度,通过在伺服电机速度检测上的实际应用,并与M/T法检测出的速度进行比较,结果表明,该方法的转速检测精度(尤其是低速时)优于传统方法。

1 常用测速方法分析

在伺服控制系统中,常用的测速方法有三种:M法、T 法和 M/T 法[5]。

M法测速是利用在规定的采样时间间隔T内编码器输出的脉冲个数来获得被测转速。这种方法测量的转速会产生±1个编码器脉冲的计数误差,在低速情况下,随着转速降低,采样时间内脉冲个数减少,测量误差将快速增大。因此,M法只有在被测转速或编码器分辨率较高时,才有较高的测量精度。

T法测速是通过高频脉冲来测量两个相邻编码器脉冲之间的时间间隔来获得被测转速,这种方法测量的转速对时间的测量会产生±1个时钟周期的计数误差。在高速情况下,随着转速升高,脉冲时间间隔变小,测量误差增大。因此,T法只有在被测转速较低时,有较高的测量精度。

M/T法测速是将M法和T法结合起来,既检测采样时间间隔内编码器输出的脉冲个数,又检测该采样时间间隔内高频脉冲的个数。该方法在高速时,相当于M法测速;在低速时,相当于T法测速。因此M/T法具有较高的速度测量范围,并可获得较高的检测精度。M/T测速方法的原理图如图1所示。

图1 M/T测速方法原理图

检测时间Td是采样周期内编码器第一个脉冲跟最后一个脉冲之间的时间间隔;M1是在这个采样周期内编码器输出脉冲的个数。另外,如果在这个采样周期内高频脉冲的个数是M2,则计算出的电机平均速度是:

其中,Z是编码器倍频后每转输出的脉冲总数;f0是高频脉冲的频率;Tt是实际检测时间并且Tt=M2/f0。

根据式(1)可得每个采样周期编码器输出的脉冲个数为:

在用M/T法速度检测时,由于只采样编码器脉冲信号的上升沿或下降沿,采样周期的开始和结束时刻并不一定位于编码器脉冲的上跳沿或下降沿,所以在每个采样周期内会存在首尾两个编码器脉冲信号的非完整周期,在计算电机转速时该方法最大会有±1个编码器脉冲信号的误差,则根据式(2)可得采用M/T法速度检测最大误差率为:

取采样周期是4ms,编码器分辨率是2,500p/r,则根据式(3)可画出M/T法速度检测时由于首尾非完整周期脉冲信号的丢失引起的最大速度检测误差率曲线如图2所示。

图2 最大速度检测误差率曲线

根据图2分析可以看出,M/T测速方法在电机转速大于100r/min较高的速度范围内具有较高的检测精度。因此,在伺服控制系统中,电机转速检测最广泛应用的是M/T法[6-7]。然而,在低速情况下,由于无法测出非完整周期脉冲信号的长度,随着电机转速的下降,非完整周期脉冲信号所占的比例增大,转度检测精度将快速的下降,传统的M/T法的转速检测精度完全不能满足高性能伺服系统的控制要求。为满足高性能伺服系统对速度反馈的要求,本文对传统的M/T法进行扩展,将每个采样周期内首尾两个非完整编码器脉冲信号检测出来,用于速度计算,以提高速度检测精度。

2 高精度速度检测方法

目前,得益于微控制器(microprogrammed control unit,MCU)先进的接口技术,许多微控制器具有专用的编码器接口,该接口可以根据正交光电编码器的速度和方向自动的计数编码器脉冲值然后计算电机转速,并且在普通的速度范围内具有比较高的检测精度。

然而由于这种专用编码器接口只能采集完整脉冲信号的个数,无法实现对非完整脉冲长度的检测。为了满足高性能伺服系统对速度反馈精度的要求,设计了一种基于FPGA+ARM的永磁同步电动机高精度转速检测方法,该方法是M/T速度检测方法的扩展应用,具有更高的转速检测精度,在此称其为扩展M/T速度检测法。

2.1 测速系统结构简介

该速度检测方法充分利用FPAG并行运行的优势与ARM控制器信号处理和数据计算的优势,将FPGA与ARM结合起来进行高精度速度检测。该方法利用FPGA的并行运行方式既检测采样周期内编码器速度反馈信号完整周期个数又检测非完整周期长度,从而弥补了传统只使用ARM进行速度检测无法检测非完整周期长度的问题,充分提高了速度检测精度。然后将检测出的编码器信号通过SPI总线通讯传给ARM,然后利用ARM的计算能力以及控制能力计算出电机实际转速从而实现其他的控制功能,其系统结构如图3所示。

图3 速度检测结构框图

2.2 测速原理

FPGA进行编码器脉冲信号检测的原理如图4所示。

图4 FPGA检测编码器脉冲信号原理图

其中Tt即为速度采样周期;tn1、tn2分别为采样周期内首尾两个非完整脉冲长度;Tm、Tn+1分别为两个非完整脉冲的整脉冲长度;Tn-1、Tn为采样周期内最后两个完整脉冲长度;Mn为采样周期内完整脉冲的个数;T'n+1为上一采样周期内最后一个非完整脉冲长度。

该方法进行编码器脉冲检测时,需要五个计数器同时工作,计数首尾两个非完整脉冲长度tn1、tn2的计数器T1、T3;计数采样周期内完整脉冲个数Mn的计数器T2;计数采样周期内最后两个完整脉冲长度Tn-1、Tn的计数器 T4、T5。其中计数器 T2以编码器脉冲信号上升沿为计数时钟,其他计数器都以FPGA系统时钟为计数时钟。此时将充分发挥FPGA并行运行的优势。具体检测过程为:

当采样周期开始信号到来,打开计数器T1并检测编码器脉冲信号上升沿,上升沿到来,关闭计数器T1,同时打开计数器 T2、T3、T4和 T5。计数器 T2在整个采样周期内采样编码器脉冲上升沿的个数,在采样周期结束时关闭计数器;计数器T3打开后,随时检测编码器脉冲的上升沿,检测到上升沿将计数器清零重新检测直到采样周期结束关闭计数器;计数器T4、T5打开后,检测到倒数第二个跟最后一个编码器脉冲上升沿时分别关闭计数器T4、T5。

将以上计数器的值实时的通过SPI总线通讯传给ARM进行速度计算,则得出的速度为:

由于速度环的采样频率远高于等效转矩Te的变化频率,故可认为等效转矩Te在一个采样周期内不变,即:

由牛顿第二定律可得:

其中,J为电机等效转动惯量;α为电机的转动角加速度。

联合式(5)和(6)可得:

即在每个采样周期内可近似的看做电机的转动加速度是恒定不变的,则Tn+1可以通过前两个脉冲信号的变化估计出来,即:

将式(5)和(9)代入式(4)得:

3 实验分析

为将该方法与传统M/T法进行速度检测精度对比,建立包含两套速度检测方法的实验平台。具体实验配置框图如图5所示。

图5 实验平台配置框图

本文实验平台由高性能永磁同步伺服驱动系统、带有以太网接口的速度检测系统两套、上位机一台组成。高性能交流伺服驱动系统由控制板控制,使永磁同步电机输出恒定转速,永磁同步电机轴端装有2,500线的正交编码器用于速度反馈;速度检测系统的以太网接口用于FPGA跟上位机通讯,可实现将检测出的电机转速上传到上位机,并实时的做出电机反馈速度波形;两套速度检测系统采用不同的速度检测方法用于对比试验,一套采用M/T法实现速度检测,将编码器信号与ARM专用编码器接口相接,直接进行电机速度检测,然后将检测出的电机转速通过SPI总线通讯传给FPGA,然后通过以太网接口将数据传输到上位机;另一套采用扩展M/T速度检测方法,将编码器信号与FPGA直接相连接,通过FPGA检测编码器脉冲信号,然后将检测出的脉冲信号通过SPI总线通讯传给ARM进行速度计算,然后将计算出的电机转速重新通过SPI总线传给FPGA,然后通过以太网接口将数据传输到上位机。

图6所示试验结果显示传统M/T法速度检测方法与扩展M/T速度检测方法速度检测精度。图6a显示在电机以100r/min转动时,两种方法的速度检测结果。图6b显示在电机以50r/min转动时,两种方法的速度检测结果。其中ωM/T为使用M/T法测量出的速度;ωNew为使用扩展M/T法测量出的速度。

图6 不同速度下的速度检测结果

图7实验结果显示了在±100r/min速度指令下的速度响应和速度检测精度。

图7 ±100r/min速度指令下的速度检测结果

试验结果显示,在低速下使用M/T方法,由于编码器非完整周期脉冲信号的误差,速度检测结果波动较大。相比之下,由于同时检测完整周期信号个数和非完整周期脉冲信号的长度,扩展M/T速度检测方法仍旧能够比较精确地进行速度检测。

由实验结果可知,扩展M/T速度检测方法能够精确的检测出采样周期内首尾两个非完整周期脉冲信号的长度,并用于电机转速度计算,具有较宽的测速范围以及较高的速度检测精度。因此该方法对于提高交流伺服系统速度反馈精度以及速度控制性能具有重要的意义。

4 结束语

本文首先分析了常用的速度测量方法M/T速度检测法,从M/T法的原理入手分析每个采样周期内的首尾两个非完整编码器脉冲信号对转速检测精度的影响。为了消除这种影响,设计了扩展M/T速度检测法。该方法同时检测采样周期内编码器速度反馈信号完整周期个数和非完整周期脉冲长度,对于消除速度检测误差,提高速度检测的精度具有重要的意义。

[1]Mohamed YAI.Adaptive self-tuning speed control for permanent magnet synchronous motor drive with dead time[J].IEEE Transactions on Energy Conversion,2006,21(4):855-862.

[2]王宏,于泳,徐殿国.永磁同步电动机位置伺服系统[J].中国电机工程学报,2004,24(7):151-155.

[3]刘毅,贺益康,秦峰,等.基于转子凸极跟踪的无位置传感器永磁同步电机矢量控制研究[J].中国电机工程学报,2005,25(17):121-126.

[4]CHIASSON,J.,Modeling and High-Performance Control of Electric Machines.New York:The Institute of Electrical and Electronics Engineers,Inc,2005.

[5]周正干,李然,李和平.高精度数字式转速测量系统的研究[J]. 测控技术,2000,15(5):60-61.

[6]邓建,林桦.基于DSP的绝对式光电编码器的电机转速测量[J].测试技术与检测设备,2010,37(1):50-52.

[7]秦晓飞,王云宽,郑军,等.交流伺服系统震动鲁棒M/T测速算法[J].电机与控制学报,2010,14(5):97-103.

猜你喜欢

计数器编码器个数
融合CNN和Transformer编码器的变声语音鉴别与还原
采用虚拟计数器的电子式膜式燃气表
怎样数出小正方体的个数
舞台机械技术与设备系列谈(二)
——编码器
关于74LS90计数器的Multisim仿真分析
等腰三角形个数探索
怎样数出小木块的个数
怎样数出小正方体的个数
基于双增量码道的绝对式编码器设计
SR620型与53230A型计数器的性能测试