• 理解编码器M法/T法M\T法转速测量原理


    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)

    n=RT0=M0CT0=M0CT0" role="presentation">n=RT0=M0CT0=M0CT0
    \tag{1} n=T0R=T0CM0=CT0M0(1)

    以上的公式中的编码器单圈总脉冲数 C 是常数,所以转速 nM0 成正比。这就使得在高速测量时 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 CTE

    (4) 那么一秒可以旋转 1 s C ⋅ T E \frac{1s}{C·TE} CTE1s 圈,实际上这就是转速(即每秒可以旋转多少圈)。

    现在来计算 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=M1F01

    (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)

    n=1sC·TE=1sC·M1·1F0=F0C·M1" role="presentation">n=1sC·TE=1sC·M1·1F0=F0C·M1
    \tag{1} n=CTE1s=CM1F011s=CM1F0(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} CM0T01 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} M1F01,这就是 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)

    n=M0C·T0=M0C·M1·1F0=M0·F0C·M1" role="presentation">n=M0C·T0=M0C·M1·1F0=M0·F0C·M1
    \tag{1} n=CT0M0=CM1F01M0=CM1M0F0(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 法。

  • 相关阅读:
    你以为Shell只是命令行?读懂这篇文,给你的工作赋能
    【CV知识点汇总与解析】| 正则化篇
    软考:中间件
    ue5正确导入资源 content(内容),content只能有一个
    Docker私库
    激光雕刻机的雕刻操作
    以脚本形式运行python库
    好物周刊#19:开源指北
    Hadoop入门(五):集群配置
    【C++】类和对象(下)
  • 原文地址:https://blog.csdn.net/jf_52001760/article/details/127993497