本文来自http://www.21control.com/article.php?id=1599

    采用DSP实现M/T法测速。利用DSP的捕获功能,确保测速的计时和码盘脉冲计数的同步。时间测量的绝对误差小于0.2μs,并且与测速周期无关。同时提出一种经济、实用的抗测速干扰方法。理论推导和实验结果表明,该方案准确、可靠,适用的测速范围大。

1  引言
    转速闭环控制系统中,电机转速作为反馈量构成闭环控制,转速测量的精度对控制系统性能的影响是不言而喻的。光电码盘是目前广泛采用的测速手段。它具有精度高、线性度好的优点。采用光电码盘测速时,常用的测速方法有M法、T法和M/T法。其中M/T法兼顾高低转速,是综合性能最佳的一种。

2  M/T法测速原理和误差分析

2.1 M/T法测速的原理
M/T法测速综合了M法与T法的长处,既记录测速时间内码盘输出的脉冲数M1,又检测同一时间间隔内高频时钟脉冲数M2。设高频时钟脉冲的频率为f0,则测速时间。习惯上转速常以每分钟转数来表示,则电机的转速可表示为:
(1)
式中,Z为电机每转一圈所产生的脉冲数(Z=倍频系数×码盘光栅数),如图1所示

图1    M/T法测速示意图

2.2 误差分析
    常规的M/T法测速中,测速时间是程序设定的计数时间TC,而脉冲数为TC时间内码盘输出脉冲个数。由图1可看出,TC开始时刻与码盘输出脉冲上升沿并非一定同步到达。同样,TC结束时刻也很难刚好与码盘的输出脉冲上升沿同步。这两个时间差都与转速的大小有关,而与高频计数时钟的频率无关。由此引起的计数和计时的时间偏差可能比高频时钟周期大得多,从而降低测速的精度。由M/T法测速的误差根源可知:确保高频时钟脉冲计数器与码盘输出脉冲计数器同时开启与关闭是提高测速精度的关键所在。

3  利用DSP实现高精度转速测量
3.1 TMS320F240系列控制器的特点 
    作为电机数字控制的专用芯片,TMS320F240运算速度快,单指令周期为50ns。其功能强大的事件管理器(Event Manager)为实时控制系统提供了良好的软、硬件基础。该事件管理器中包括特殊的PWM产生功能,包括可编程的死区时间设定和空间矢量状态。三个独立的向上/下计数器都有各自的比较寄存器,可产生对称和不对称的PWM波形。四路捕获输入中的两路可以直接连到光电码盘的正交编码器脉冲信号。
转速测量中,DSP特色功能有[1]:
(1) 捕获功能
DSP的捕获单元使能后,输入引脚上的指定跳变(脉冲上升沿或下降沿或两个边沿)将把将选定的通用定时器计数值锁存。同时相应的中断标志被置位,并发出中断请求;
(2) 通用定时器的同步
通用定时器2和3可由定时器1的配置来实现同步;
(3) 高频时钟频率的选取
可根据测速的需要,高频时钟频率可以为DSP的CPU时钟频率的1/2nHz(n=2…7),也可是5MHz以下的外部时钟。
3.2 M/T法测速的实现
    利用DSP测定转速时,可采用程序周期中断的方法。当程序进入2TC的周期测速中断时,先打开捕获。当捕捉到码盘输出脉冲上升沿时,同时启动码盘输出脉冲计数器和高频时钟脉冲计时器,然后立即关闭捕获功能。在TC结束时刻,系统启动比较中断,此时再打开捕获。当检测到码盘输出脉冲上升沿时,同时读取两个定时器的数值再关闭它们。这样利用DSP对码盘输出脉冲沿的捕获实现了计数和计时的同步。脉冲计数器前后两次捕获值的差值代表码盘输出脉冲数,而高频计数器两次捕获值的差值则表示时间。测速周期的另一半TC为等待时间,是为等待TC时刻后下一个码盘输出脉冲上升沿所预留的时间。
3.3 测速误差
    由图1可看出,M1个码盘输出脉冲对应的时间为Tt1,M2个高频时钟脉冲对应的时间为Tt2,则Tt1和Tt2之间的时间差不超过1个高频时钟周期。与常规的M/T法测速相比,该方法充分利用了DSP运算速度快,功能强的特点,最大限度地降低了测速时的计时误差。转速的相对误差为

由式(2)可看出,相对误差与被测转速无关。实际系统中,TC取为2.5ms时,高频时钟频率取为5MHz。如假定TC时间内转速不变,则该时间内的5MHz高频时钟脉冲数为:,时间的绝对误差不超过0.2μs,转速相对误差:

4  测速参数的选取

    测速时间TC的选取与转速值的大小以及码盘的光栅数有关。即在TC时间内,必须保证至少有一个完整的码盘输出脉冲。以实际系统为例,码盘的光栅数为2048,TC为2.5ms。如要保证TC时间内来一个码盘脉冲,则转速应满足如下条件:
(4)     
如需测量比上述值更低的转速,可供选择的方法有:
(1) 不改变测速时间TC,码盘输出信号经倍频电路后再送给DSP;
(2) 延长测速时间TC。
    后一种方法可通过软件实时改变TC值,但它同时也降低了转速采样的频率,可根据需要做综合的考虑。实际系统中,高转速下TC可取较小值,而低速下取较大值。如果采取上述措施还不能满足对低转速的测量,可采用硬件中断等待码盘脉冲的方法[2]。从理论上讲该方法可以测量零速以上的转速,但测量精度与上述方法没有区别。
    实际系统中,不仅要计算转速的大小,还要知道转速的方向。具体做法是:光电码盘输出两路互差90°的脉冲信号作为DSP正交解码电路的输入。两列脉冲的两个边沿都被DSP计数,因此,产生的时钟频率是每个输入序列的4倍。电机的旋转方向可通过检测两个脉冲序列中哪一列先到达来确定,如图2所示。需指出的是,DSP捕获的是码盘输出脉冲,而不是经正交解码电路后的四倍频信号。

图2    区分旋转方向的A、B两组脉冲序列

5  抗干扰措施

    由于调速系统中功率器件的频繁开关以及现场噪声信号的存在,电机码盘脉冲输出信号中的干扰不容忽视。干扰信号使得DSP记录的码盘脉冲数增多,其结果是测量转速大大高于实际转速。在转速闭环系统中,这将引起系统频繁进行制动调节,甚至造成系统不稳定。图3为实测的码盘脉冲输出信号。由图3可看出,干扰信号的频率在1MHZ左右,比高速时码盘脉冲信号频率高。采用SN75115芯片,将A、B信号分别与2.5V的电压做差动比较,去除共模干扰。SN75115提供独立的频率响应控制时间(Response Time Control)接口。根据芯片的技术数据,可方便地确定频率响应接口与地之间电容的参数。图4为采取上述措施后,输入到DSP的信号。由图4可看出,该方案可有效消除测速干扰。如果码盘提供、信号,则只需将A、B信号分别与、作差动比较即可,而硬件线路无需改动。实验系统的两套机组功率分别为600W和3kW,小机组码盘带、信号,大机组则没有。两套机组上的实验证明,在30r/min~1500r/min的转速范围内,该硬件线路工作可靠。图3和图4为电机转速为1050r/min时测得的脉冲信号.

图3    未采取抗干扰措施

图4    采取抗干扰措施后

6  结论
    由前面分析可知,该测速方法无需码盘提供、信号,对码盘性能要求低,能有效克服干扰信号的影响。充分利用TMS320F240的资源,具有硬件结构简单,运行可靠、测量精度高的特点。