基于DSP+FPGA的船用推进电机转速检测方法

2017-03-14 11:15蔡宗举
船电技术 2017年2期
关键词:检测时间倍频编码器

厉 孟,蔡宗举,阮 俊

基于DSP+FPGA的船用推进电机转速检测方法

厉 孟1,蔡宗举2,阮 俊3

(1. 海军驻北京作战系统军事代表室,北京 100094;2. 中国船舶工业系统工程研究院,北京 100094;3. 江苏大全凯帆电器股份有限公司,南京212211)

采用M/T法转速测量原理,提出了一种基于DSP+FPGA的转速测量方法。FPGA检测光电编码器输出脉冲,根据正交编码特性判断旋转方向,同时对信号四倍频处理,提高了转速检测精度。FPGA在设定的控制周期内完成转速检测,产生DSP数据读取中断,DSP通过地址线和数据线读取FPGA存储的转速信息并进行转速计算。仿真和试验验证了 FPGA转速检测程序的准确性。该检测程序测速精度高,低速检测性能好,适用于低速大功率的船用电力推进转速检测,并可直接作为转速检测模块应用于控制系统。

FPGA DSP 推进电机 转速检测

0 引言

交流电机的控制技术主要有两类:一类是基于稳态数学模型的标量控制技术;另一类是基于动态数学模型的矢量控制技术。标量控制动态性能较差,对转速检测也没有特别的要求。矢量控制采用反馈控制原理,控制性能优越,其反馈转速检测是影响矢量控制系统性能一个非常重要的环节。而转速检测的精确度和实时性不仅取决于光电编码器的可靠性和精度,更取决于编码器信号的处理方法[1-3]。

对于一般的控制场合,选用高精度的转速传感器即可实现高精度控制。但对于船用推进电机而言,其转速低,转轴振动大,采用高精度的转速传感器虽然能实现高分辨率的转速测量,但其对于转轴的振动过于敏感,容易产生干扰,从而影响控制性能。因此,如何在不提高传感器精度的情况下,通过软件实现高精度的转速测量,同时保证转速检测的实时性是船用推进电机转速检测的一个难点问题[4]。

本文采用1024脉冲的转速传感器,通过软件达到了高于1 rpm的转速分辨率。

1 转速检测原理

速度检测以转速检测编码器输出的两路正交编码脉冲信号A、B为依据,计算转向和转速。目前常用的脉冲测速算法主要有3种:测频法(M法),该方法适用于较高转速[5];测周期法(T法),该方法适用于较低转速;同时检测频率和周期(M-T法),该方法结合了M法、T法各自的特点,同时测量检测时间和在此时间内脉冲发生器发出的脉冲个数[6-8]。以上方法具体原理如下:

1)M法转速测量

其基本原理是,在一定的测量时间ΔT内,若光电编码器输出的脉冲信号数为M1,则电机转速可表示为:

其中,N为电机旋转一周输出的脉冲个数。当测量时间固定时,通过统计光电编码器输出脉冲数,就可以得到这段时间内电机转子转过的角度,再除以时间就是转子转速。

2)T法转速测量

其基本原理是,测量两个相邻脉冲之间的间隔时间,而两个相邻脉冲的角度已知,从而可以计算出实际转速。采用该方法测量时间时,以频率为f0的时钟为基准,在编码器输出脉冲的上升沿开始计数,在下一个上升沿停止计数,令计数值为M2,则电机转速可表示为:

其中N为电机旋转一周输出的脉冲个数。M2/f0可以理解为电机转一个脉冲需要的时间,则NM2/f0为电机转一圈需要的时间,转速n的单位为r/min。

3)M/T法转速测量

M/T法测转速是以上两种方法的综合,其基本原理是通过以频率为f0的时钟为基准,产生检测时间长度ΔT的测量周期,令该周期的时钟计数值为M2,同时在该检测时间内对编码器输出脉冲进行计数,令周期内编码器计数值为M1,则转速可表示为:

其中N为电机旋转一周输出的脉冲个数。M1/N可以理解为测量周期内旋转的圈数,M2/f0则为测量周期时间,两者之商经过单位换算即为转速。

以上3种方法是目前应用比较广泛的转速测量法,M法在低速时分辨率较低,T法在高速时分辨率不高,M/T法在高低速均具有较好的分辨率,误差小、精度高,但为保证结果的准确性,在低速时需要较长的检测时间,无法满足转速检测系统的动态指标,因此本文在M/T法的基础上做了较小的改动,低速运行时,若超过一定检测时间还没有检测到编码器脉冲,即认为当前周期脉冲检测结束,这样虽然带来了一定误差,却能保证转速检测系统的动态性能。

2 转速检测的程序实现

本设计采用的转速编码器对象分辨率为1024P/r,即该转速编码器旋转一周将产生两路1024个脉冲的A、B信号,两路信号互相正交。负责转速检测的FPGA采用ALTERA公司的2C70, DSP采 用 TI公 司 的 TMS320F28335。TMS320F28335是TI公司最新推出的浮点控制芯片,具有150 MHz的高速处理能力,具备32位浮点处理单元,DSP从FPGA读取转速信息用于电机闭环控制。

2.1 编码信号的倍频处理

编码信号输出为两路互相正交的信号如图 1编码信号频率处理仿真图仿真图中信号qep_a、qep_b。倍频信号产生原理为:分别提取qep_a的上升沿和下降沿,在上升沿和下降沿分别产生一个时钟周期的脉冲,提取qep_b的上升沿和下降沿,也在上升沿和下降沿分别产生一个时钟周期的脉冲,将两路脉冲信号进行或运算,得到图中的a信号。

图中信号a为所产生的倍频信号,该信号的上升沿均在qep_a、qep_b的跳变沿产生,高电平持续时间为一个时钟周期,信号频率为编码信号的4倍,实现了编码器脉冲的4倍频处理。

2.2 转向判断

图 1 编码信号频率处理仿真图

表 1 转向逻辑判断

编码器信号进行倍频处理后,必须在qep_a、qep_b的每个跳变沿进行转速判断才能达到转速检测的实时性要求,判断逻辑如表 2所示,根据表中所述逻辑关系,分别在qep_a、qep_b的每个跳变沿进行转速判断,程序仿真结果如图2所示。

图中 qep_a在前半部分滞后 qep_b,在后半部分超前 qep_b,由仿真可以看出,转速检测程序能较好的完成转向判断。

2.3 转速检测

根据引言部分论述,若采用传统的M/T法测量转速,电机在低速运行时,可能出现超过一定检测时间还没有检测到编码器脉冲的情况,本程序采用检测窗口来控制检测时间,超过窗口还没有检测到编码器脉冲即认为当前周期脉冲检测结束,这样虽然带来了一定误差,却能保证转速检测系统的动态性能,转速检测程序流程如图3。

根据图3流程图规定的时序,分别进行转速编码器脉冲计数和时钟计数,计数值分别为 M1和M2,M2计数器的开启条件为:速度检测窗口处于打开状态,同时编码器脉冲的上升沿到来。当速度检测窗口关闭后,将计数值M1(包含了转向信息)和M2存入存储器,供DSP读取,这里需要严格保证 DSP读数的时序,必须保证每次DSP读取FPGA内存储转速信息时,FPGA都已经完成转速检测。

根据以上程序流程和要求,编写了转速检测程序,并进行了仿真,仿真结果如图4所示。

图 2 转向判断仿真图

图 3 转速检测程序流程

图 4 转速检测仿真图

仿真图中第三个信号为转速窗口控制信号,该信号为低时打开转速检测窗口,可以看到,采样窗口打开后,在qep_b的下降沿开启了M2计数,计数值为 m2_counter,在转速检测窗口关闭后,M1、M2即停止计数,能较好的实现计数功能。采样窗口控制信号由专门的模块根据控制系统的时序实现精确控制,有效的保证了DSP读数的准确性。

2.4 DSP转速计算方法

根据M/T法测量原理,转速表达式为:

其中N为电机旋转一周输出的脉冲个数,这里采用4倍频的1024脉冲,即N=4096。M1,M2为DSP 从FPGA读取的脉冲计数值和时钟计数值,f0为计数时钟频率,这里为100 M,设采样窗口为K个中断周期,每个中断周期的时间为1 ms,则当转速为1 r/min时,采样窗口内采样到的编码器脉冲个数表示为:

根据以上计算式,若K取1,则M1不到1,容易产生较大误差,而对于船用推进电机,其转动惯量往往较大,转速变化率较低,因此K可以取较大的值从而保证转速检测的精确度,若K取100,则M1约等于6.83,能较好的保证精确度。

3 试验验证

为验证转速 DSP+FPGA转速检测的准确性和动态性能,将其应用在感应电机的转子磁场定向控制中,分别进行了空载启动试验和突加负载试验,并对转速进行了测量。实验用电动机实物如图5所示,该电动机额定转速600 r/min。

图 5 试验用电动机实物

图6 空载启动转速波形图

图7 突加负载转速波形图

图6为电机空载启动时转速的波形,图中包括给定转速和反馈转速,从图中已经很难分辨出转速的参考和反馈了,说明电机在空载启动过程中,实际转速能够很好的跟踪给定转速,控制效果较好。

图7为突加负载试验转速波形图,在突加负载瞬间转速会出现一定波动。突加负载后,测量的反馈转速开始跌落,最低跌落到给定转速的93.12%后,反馈转速开始上升,直至稳定,突加负载转速调节过程持续约为1.5 s,转速测量动态性能较好,能达到控制要求。

4 结束语

本文以DSP+FPGA为控制平台核心,基于传统M/T转速检测方法,开发了带速度采样窗口的转速检测程序,能根据正交编码特性判断旋转方向,同时对信号做四倍频处理,提高了转速检测精度。通过仿真验证了程序的正确性,通过试验验证了所开发程序模块的动静态性能。该方法准确有效,适用于低速大功率的船用电力推进转速检测,并可直接作为转速检测模块应用于控制系统,通用性强。

[1] 朱安石, 路平. CPLD在无人机发动机转速检测中的应用[J]. 信息技术, 2011, (1): 144-143.

[2] Zhang Yi, Li Huifang.Study on the detection of velocity direction for belt-broken[J]. Icece, 2010.528, 2147-2149.

[3] 蒋浩. 电机转速检测方法与误差分析[J]. 中国测试技术, 2003, 3(2): 59-60.

[4] 顾惠昱. 转速检测技术分析与探讨[J]. 计量与测试技术, 2013, 40(6): 38-40.

[5] 秦蕾. 直流电动机转速检测与控制[J]. 上海电力, 2012, 5: 251-253.

[6] 汪涛. 一种基于DSP的伺服电动机转速检测方法[J],微电机, 39(3): 86-88.

[7] 张冬冬, 罗文广. 基于 F P GA的异步电动机控制系统检测电路[J]. 仪表技术与传感器, 2011, 7: 83-86.

[8] 钱伟康, 张成爽. 基于 FPGA的光电编码器信号处理方法[J]. 测控技术, 2010, 29(12): 44-47.

A Velocity Detection Approach to Ship Propulsion Motor Based on DSP+FPGA

Li Meng1, Cai Zongju2, Ruan Jun3

(1. Naval Representatives Office of Combat System in Beijing, Beijing 100094, China; 2. China Shipbuilding Industry System Engineering Reseach Institute, Beijing 100094, China; 3. Jiangsu Daquan Kfine Electric Co., Ltd, Zhenjiang 212211, China)

This paper puts forward a kind of speed measurement method based on DSP+FPGA by the method of M/T speed measuring. FPGA is responsible for detecting the photoelectric encoder output pulse, to judge the direction of rotation according to the signal characteristic, at the same time, the signal frequency is increased by four times, to improve the speed of detection accuracy. In the control period, FPGA was used to detect the speed, and generate DSP data read interrupt when DSP read FPGA memory speed information by the address and data buses, then calculates the speed. The accuracy of the method has been validated by the simulation and experiments. The detection procedure has advantages of high precision, low detection performance, strong universality. It can be directly used as speed detecting module in the control system, Especially be suitable for low speed detection in ship propulsion.

FPGA; DSP; propulsion motor; velocity detection

TM383.4

A< class="emphasis_bold">文章编号:1

1003-4862(2017)02-0063-04

2016-10-24

厉孟(1985-),男,工程师,主要从事船舶电力推进相关设备生产研制。E-mail:ai__sheng@163.com

猜你喜欢
检测时间倍频编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
对两种细菌鉴定法在血液检验中的应用效果进行分析
新型溶血素与传统溶血素在临床血常规检验中的应用研究
基于FPGA的同步机轴角编码器
基于微波倍频源太赫兹频段雷达散射截面测量
ABL90血气分析仪在急诊科的应用研究
应用旋转磁场编码器实现角度测量
不同检测时长对粉煤灰砌块放射性检测结果的影响
KDP晶体三倍频晶面微观力学行为及加工性能
基于数字信号处理的脉冲编码器