首页 理论教育 位置和速度的计算程序优化

位置和速度的计算程序优化

时间:2023-06-15 理论教育 版权反馈
【摘要】:在电机低速旋转情况下,一定Δt内的Δcnt变化量极小,由Δcnt计数误差引起的转速计算准确性降低。编码器的计数周期为1 024(10位),当Δt为5 ms时的计数值Δcnt小于64(6位)时,相对转速误差为1/64,在误差允许的范围内。所以选取Δcnt=64作为不同转速计算公式的临界点,此时的转速为188 r/min。

位置和速度的计算程序优化

本章中采用的位置传感器是OMRON的E6G2-AG6C型号的绝对式编码器。该编码器采用开路集电极输出,编码形式为格雷码,共有10路输出信号,编码器的分辨率为1024(每转)。该编码器的输出如图7.27所示。

图7.27 编码器输出波形图

格雷码是一种绝对编码方式,典型的格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。由于格雷码是一种变权码,每一位码没有固定的大小,很难直接比较大小和进行算术运算,也不能直接转换成液位信号,要经过一次码变换,变成自然二进制码,再由上位机读取。格雷码[12]转二进制的公式如下所示。

假设:某n位格雷码为Gn-1Gn-2…G1G0,其对应的二进制码为Bn-1Bn-2…B1B0

则其中最高位:Bn-1=Gn-1

其他各位:Bi-1=Gi-1∧Bi(i=1,2,…,n-1)(www.xing528.com)

在得到编码器的位置后,就可以根据单位时间内位置的变化来求取电机的转速,即

在电机高速旋转的情况下,一定Δt内的Δθ变化量大,可以设定Δt为恒定值时,根据Δθ的变化得到电机的转速,如式(7.4)所示。考虑电机的最高转速为3 000 r/min,为避免在Δt时间内电机转过的角度Δθ超过360°,Δt需满足式(7.5)。此处选择Δt为5 ms,考虑到FPGA的时钟周期为50 MHz,需要50万个时钟周期来记录一次Δt的时间间隔。

在电机低速旋转情况下,一定Δt内的Δcnt变化量极小,由Δcnt计数误差引起的转速计算准确性降低。此时,应选择Δcnt为基准,通过计算特定Δcnt内所需的不同Δt来计算电机的转速,转速计算公式如式(7.6)所示。编码器的计数周期为1 024(10位),当Δt为5 ms时的计数值Δcnt小于64(6位)时,相对转速误差为1/64,在误差允许的范围内。所以选取Δcnt=64作为不同转速计算公式的临界点,此时的转速为188 r/min。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈