基于微控制器的M/T法电机测速方法研究
2017-05-18李平舟
李平舟,武 阳
(西安电子科技大学 物理与光电工程学院,陕西 西安 710100)
基于微控制器的M/T法电机测速方法研究
李平舟,武 阳
(西安电子科技大学 物理与光电工程学院,陕西 西安 710100)
电机转速的误差度直接影响工程控制系统的准确度,针对目前电机转速测量的精度问题,在传统光电编码器、M/T方法理论基础上,结合聚类算法处理思想,提出一种基于LPC2132控制器的结合算法的改进电机测速方法,对比传统M/T方法与改进方法处理结果精度提高了一个数量级。传统硬件方式与软件数据处理思想结合使电机测速更准确、便捷。
电机测速;微控制器;聚类算法
电机转速作为各类电机的重要物理量之一,常作为反馈量在控制系统中起重要作用[1],且该类系统在航天、军工等领域应用广泛,因此对电机测量精度的研究要求也更高。目前,霍尔传感器、光电编码器、离心式测速表等方法在不同要求的测速系统中被广泛应用[2],本文采用精度较高、线性度较好的光电编码器进行测速试验[3]。
1 光电编码器测速法原理及方法
1.1 光电编码器
光电编码器是由光栅盘及光电探测器组成[4],可利用光电转换将输出轴上的机械位移量转换成脉冲或数字量等电信号的传感器,可分为增量式和绝对式两种类型[5]。本文采用增量式光电编码的方式即根据码盘伴随位置变化输出的脉冲信号[6],对脉冲信息进行处理后得到电机的转速等信息。
1.2 常用测速方法及原理
基于光电编码器的电机测速常用方法有[7]:M法通过计算确定时间内的脉冲个数得到转速,测量过程中首尾半个脉冲误差对低转速测量影响较大,因此多用于高转速测速[8];T法通过计算两相邻脉冲的时间差换算得到周期及转速,在高转速测量过程中周期较小误差较大,故多用于低转速测速[9];M/T法结合M法和T法各自的优点使得测速范围变大、精度提高[10],既进行光电编码器脉冲输出的计数又进行高频脉冲计数进行时间间隔计算得到转速。
M/T法测速原理如下:假设码盘一周分为p份,且检测的高频时钟脉冲的频率是fc,计数值为m,确定时间T内光电编码器得脉冲个数为M,则通过高频脉冲计数原理[11]可得确定时间值
(1)
可知电机转速ω的公式为
(2)
将式(1)带入式(2)可得
(3)
2 基于LPC2132的M/T算法优化
2.1M/T法误差分析及优化方法
传统M/T法的确定时间T是由高频脉冲计数值m计算得,但高频脉冲开始与结束的时间与光电编码器的输出脉冲时间未必同步[12],如图1所示,由此导致不同转速电机的误差不同,影响测量精度。检测时可能出现的±1个脉冲误差所引起的电机测速误差Δω为
(4)
相对误差η值为
(5)
本文采用高频脉冲计数与晶振更高的LPC2132计数,双通道处理数据得到准确的脉冲计数时间间隔,同时计时验证光电编码器脉冲与高频时钟脉冲的时间差Δt是否为0,形成反馈回路降低测量误差。
2.2 结合K-Means聚类算法优化
已知高频脉冲误差会导致测速脉冲的转速误差,很多硬件领域文献已在电路及硬件方面最优化,本文结合软件算法优化对高频脉冲计数降低误差。隔一段时间对固定数量光电编码器脉冲进行计数并得到高频脉冲计数,对得到的多组高频脉冲进行算法处理得到的聚类中心(即最优解)来降低误差。K-Means的核心为计算两个n维向量a(x11,x12,x13,…,x1n)与b(x21,x22,x23,…,x2n)欧式距离d12的公式
(6)
计算方法如下:
步骤1 若得到高频脉冲计数值数组为{m1,m2,m3,…,mi,…,mn},从给定样本中任选几个点作初始中心;
步骤2 计算其余点分别于初始中心的距离,跟哪个初始中心近就跟中心点归为一类(欧式距离公式),直到各为派别;
步骤3 在分好类的基础上按平均值方法重新计算聚类中心点[13],再重复步骤2...;
步骤4 直到算法收敛即中心点不再变动则结束。
2.3 基于LPC2132的测速电路
由于考虑光电编码器的电磁干扰与兼容因素,经过对光电编码器进行光耦隔离后再对微弱电信号放大整形滤波得到VCO信号[14]。本文为提高计时精度而采用高晶振LPC2132芯片。试验中采用下降沿捕获,P0.17捕获光电编码器脉冲,P0.6接高频脉冲,为使高频计数脉冲与光电编码脉冲信号同时开始计数将P0.16口连接按键KEY1,按下按键后定时器T0与T1同时开始计数,再次按下按键时结束计数,将计数值存入数组并通过串口发送给上位机以得到大量实验数据。为防止实验者混淆按键次数,系统中加入了LED信号灯P1.16口接LED灯,计数时灯亮,停止计数时灯暗。硬件电路如图2所示。
图2 基于LPC2132的改进M/T法电路图
2.4 基于LPC2132的测速系统流程图
程序采用两路计数器,均为下降沿递增模式,系统工作流程如图3所示。
图3 改进M/T法软件流程图
工作过程为:(1)首先发送初始化命令,使T0、T1都工作在下降沿触发的计数模式,对串口及引脚功能进行初始化;(2)判断P0.16口是否为0,若为0则把P1.16置0点亮发光二极管同时T0、T1开始计数,否则继续等待及判断;(3)在计数过程中继续判断P0.16口是否为0,为0则停止计数,并通过串口把计数结果发送至上位机,不为0则继续计数。程序如下
if ((IO0PIN & KEY1) == 0)
{ DelayNS (10);//按键消抖
if ((IO0PIN&KEY1)==0)
{ while ((IO0PIN&KEY1)==0);//等到按键释放
keyflag++;
if(keyflag==1)
{ T1TCR = 0x01;
T0TCR=0x01;
IO1CLR=LED1;
}
else{
keyflag=0;
T1TCR = 0x00;
T0TCR=0x00;
data_high=T0TC&0x0000ffff;
data_count=T1TC&0x0000ffff;
code_pc( data_high,data_count) ;
UART0_SendBuf ();
T0TC=0;
T1TC=0;
IO1SET=LED1;
}
}
}
3 算法仿真与结果
由于电机的变速时间及能力也是电机的重要参数之一,为测试系统的精度,本文将电机测速对3个不同阶段的速度进行仿真:电机加速过程,转速由零至稳定的上升阶段测速;电机恒速阶段,转速在此阶段波动较小预计误差较小的阶段;电机减速过程,转速由高至低至停转的阶段测速,聚类算法采用Matlab仿真测试[15]。图4所示为高频脉冲时钟频率为1 MHz、光电编码器线数等于6电机转速为60 r·min-1时,得到的数据仿真结果,不同形状表示数据被分成不同的类,测量数据如表1所示。
图4 60 K-means算法仿真结果
表1 电机测速实验结果
理论转速/r·min-1聚类中心/×103测量转速/r·min-1传统M/T测值/r·min-1相对误差/%6010006059.760150399.9150.037149.980.025续表180075.009799.904800.1430.0119
由仿真结果可得该算法的优点如下:(1)测量精度提高,较传统方法误差提高一个数量级;(2)测量范围广,从转速的低速到高速等不同阶段转速都可以测量。
4 结束语
本文利用LPC2132芯片的双通道计数与聚类算法处理数据构成的系统,达到了严格控制脉冲输出时间的目的,实现了电机转速作为反馈信号对控制系统精度的提高。相较传统M/T算法,本文方法提高了电机转速测量精度,且在各个转速阶段都有较好的测量精度。
[1] 袁鹏程,张伟峰.改进的M/T法在电机测速中的应用[J].轻工机械,2012,30(1):59-63.
[2] 于增坤,侯文,刘沛尧.一种新的自适应M/T电机测速算法[J].微特电机,2014(11):51-53.
[3] 瞿彩萍.微电机无接触测速方法研究与电路设计[D].武汉:华中科技大学,2004.
[4] 王喆.基于FPGA的光电编码器信号处理系统的研究[D].西安:西安理工大学,2011.
[5] 王书峰.基于可编程逻辑器件的光电编码器测速方法研究[D].北京:北京邮电大学,2012.
[6] 刘玉凤,刘学军.基于增量式光电编码器的电机测速研究[J].电气自动化,2010,(10):45-47.
[7] 李昕奇,金勇.基于DSP2812的电动机测速方法的研究[J].电气自动化,2011(4):81-82.
[8] Guo Yaohua, Ma Junshuang, Li Anshan.The embedded measurement system for multiple motor speed based on FPGA [C].Harbin:IEEE International Conference on Information and Automation,2010.
[9] 钱伟康,张成爽,谢凯年.基于FPGA的光电编码器信号处理方法[J].测控技术,2010,29(12):44-48.
[10] 赵岩,翟百臣,武克用,等.转台伺服控制系统中数字化速度测量方法的研究[J].光电与控制,2005,12(1):43-46.
[11] 王恕.基于FPGA的伺服电机速度测量算法研究与实现[D].上海:上海交通大学,2012.
[12] 崔桂梅,董丽荣,董文智.基于DSP控制器的M/T法测速[J].冶金自动化,2009,33(2):448-450.
[13] 王金金,王未央.优化的初始中心点选取的K-means聚类算法[J].现代计算机,2015 (7):6-9.
[14] 李强,万伯任,张毅坤.采用8098单片机实现M/T法转速检测[J].西安理工大学学报,1994,10(1):36-42.
[15] 邢坤博,荣军,陈存坚,等.永磁同步电动机自控式变频调速系统研究[J].电子科技,2016,29(2):41-44.
Research on M/T Velocity Measurement Based on Microcontrollers
LI Pingzhou,WU Yang
(School of Physics and Optoelectronic Engineering, Xidian University, Xi’an 710100, China)
The deviation of motor speed directly affects the accuracy of the project control system. A motor speed system based on the method of clustering algorithm and LPC2132 controller is proposed combining the traditional optical encoder, M/T method, and K-means method to improve the accuracy of motor speed measurement. Results suggest that this system improved the accuracy by an order of magnitude over that by the conventional M/T method with greater convenience owing to the combination of the traditional hardware method with software data processing.
motor speed; MCU; clustering algorithm
2016- 06- 26
李平舟(1960-),男,教授。研究方向:智能测试与控制;武阳(1993-),女,硕士研究生。研究方向:智能测试与控制。
10.16180/j.cnki.issn1007-7820.2017.05.021
TN402;TM301.2
A
1007-7820(2017)05-076-04