理解编码器M法/T法M\T法转速测量原理
M 法 又叫做频率测量法。这种方法是在一个固定的定时时间内(以秒为单位),统计这段时间内编码器发出的脉冲数量,以此计算速度值。设编码器单圈(旋转一圈)总脉冲数为 C,在时间 T0 内,统计到的编码器脉冲数为 M0,所以 T0 时间段内旋转过的圈数 R 为
1. M 法测量频率
M 法
又叫做频率测量法。这种方法是在一个固定的定时时间内(以秒为单位),统计这段时间内编码器发出的脉冲数量,以此计算速度值。
设编码器单圈(旋转一圈)总脉冲数为 C C C,在时间 T 0 T0 T0 内,统计到的编码器脉冲数为 M 0 M0 M0,所以 T 0 T0 T0 时间段内旋转过的圈数 R R R 为
R = M 0 C R=\frac{M0}{C} R=CM0
那么在 T0
这段时间内的转速为
n = R T 0 = M 0 C T 0 = M 0 C T 0 (1) \begin{aligned} n & =\frac{R}{T0} & =\frac{\frac{M0}{C}}{T0} & =\frac{M0}{CT0} \end{aligned} \tag{1} n=T0R=T0CM0=CT0M0(1)
以上的公式中的编码器单圈总脉冲数 C
是常数,所以转速 n
跟 M0
成正比。这就使得在高速测量时 M0
变大,可以获得较好的测量精度和平稳性,但是如果速度很低,低到每个 T0
时间段内只有少数几个脉冲,此时算出的速度误差就会比较大,并且很不稳定。
注意拥有一个完整周期(包含高电平和低电平部分)的脉冲信号才算一个脉冲信号,而非仅有高电平部分就认为是一个脉冲。
2. T 法测量周期
T 法
又叫做周期测量法。这种方法是建立一个已知频率的高频脉冲并对其计数,计数时间由捕获到的编码器相邻两个脉冲的间隔时间
T
E
TE
TE 决定,计数值为
M
1
M1
M1。设编码器单圈总脉冲数为
C
C
C,高频脉冲的频率为
F
0
F0
F0。
(1) 因为已知高频脉冲的频率为 F 0 F0 F0 所以高频脉冲的周期为 1 F 0 \frac{1}{F0} F01。
(2) 因为单圈(旋转一圈)总脉冲数为 C C C ,假设相邻两个脉冲的间隔时间为 T E TE TE(相邻两个脉冲的间隔时间实际上就是说编码器脉冲信号的周期时间)
(3) 所以旋转一圈的时间就是 C ⋅ T E C·TE C⋅TE。
(4) 那么一秒可以旋转 1 s C ⋅ T E \frac{1s}{C·TE} C⋅TE1s 圈,实际上这就是转速(即每秒可以旋转多少圈)。
现在来计算 T E TE TE
(5) 因为在 T E TE TE 的这段时间内捕获到已知的高脉冲 M 1 M1 M1 个。
(6) 所以 T E = M 1 ⋅ 1 F 0 TE=M1·\frac{1}{F0} TE=M1⋅F01。
(7) 所以将 T E TE TE 带回到第 (4) 步的表达式,得到
n = 1 s C ⋅ T E = 1 s C ⋅ M 1 ⋅ 1 F 0 = F 0 C ⋅ M 1 (1) \begin{aligned} n & =\frac{1s}{C·TE} & =\frac{1s}{C·M1·\frac{1}{F0}} & =\frac{F0}{C·M1} \end{aligned} \tag{1} n=C⋅TE1s=C⋅M1⋅F011s=C⋅M1F0(1)
公式中的编码器单圈总脉冲数 C C C 和高频脉冲频率 F 0 F0 F0 是常数,所以转速 n n n 跟 M 1 M1 M1 成反比。从公式可以看出,在电机高转速的时候,编码器脉冲间隔时间 T E TE TE 很小,使得测量周期内的高频脉冲计数值 M 1 M1 M1 也变得很少,导致测量误差变大,而在低转速时, T E TE TE 足够大,测量周期内的 M 1 M1 M1 也足够多,所以 T T T 法和 M M M 法刚好相反,更适合测量低速。
3. M\T 法
这种方法综合了 M M M 法和 T T T 法各自的优势,既测量编码器脉冲数又测量一定时间内的高频脉冲数。在一个相对固定的时间内,计数编码器脉冲数 M 0 M0 M0,并计数一个已知频率为 F 0 F0 F0 的高频脉冲,计数值为 M 1 M1 M1,计算速度值。
(1) 因为编码器的单圈总脉冲数为 C C C 在一段时间 T 0 T0 T0 内采集到编码器的脉冲个数为 M 0 M0 M0。
(2) 所以在 T 0 T0 T0 这段时间转动的圈数是 M 0 C \frac{M0}{C} CM0 圈。
(3) 所以 T 0 T0 T0 这段时间的转速为 M 0 C ⋅ 1 T 0 \frac{M0}{C}·\frac{1}{T0} CM0⋅T01 即 M 0 C T 0 \frac{M0}{CT0} CT0M0。
现在来计算 T0
(4) 因为在 T 0 T0 T0 这段时间内捕获到高频脉冲 M 1 M1 M1 个,高平脉冲的频率为 F 0 F0 F0,所以高频脉冲的周期为 1 F 0 \frac{1}{F0} F01,那么捕获的总时间就是 M 1 ⋅ 1 F 0 M1·\frac{1}{F0} M1⋅F01,这就是 T 0 T0 T0 的值。
(5) 将 T 0 T0 T0 带回到第 (3) 步表达式得到
n = M 0 C ⋅ T 0 = M 0 C ⋅ M 1 ⋅ 1 F 0 = M 0 ⋅ F 0 C ⋅ M 1 (1) \begin{aligned} n & =\frac{M0}{C·T0} & =\frac{M0}{C·M1·\frac{1}{F0}} & =\frac{M0·F0}{C·M1} \end{aligned} \tag{1} n=C⋅T0M0=C⋅M1⋅F01M0=C⋅M1M0⋅F0(1)
由于 M/T
法公式中的
F
0
F0
F0 和
C
C
C 是常数,所以转速
n
n
n 就只受
M
0
M0
M0 和
M
1
M1
M1 的影响。电机高速时,
M
0
M0
M0 增大,
M
1
M1
M1 减小,相当于
M
M
M 法,低速时,
M
1
M1
M1 增大,
M
0
M0
M0 减小,相当于
T
T
T 法。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)