[STM32F3] 这个用编码器测电机速度的代码,为什么要乘上prd?

[复制链接]
1341|0
 楼主| 心染红尘 发表于 2015-10-8 15:16 | 显示全部楼层 |阅读模式
#define prd    10000
#define Vbreak 8000

u16 cnt2;
s32 CNT2;
s32 V2;

extern s32 rcnt2,rcnt3,rcnt4,rcnt5;

void get_encoder_ONE(void)//*******************计算当前实际速度
{
  s32 CNT2_temp,CNT2_last;

  cnt2 = TIM2 -> CNT;
  CNT2_last = CNT2;
  CNT2_temp = rcnt2 * prd + cnt2;      //为什么要乘prd
  V2 = CNT2_temp - CNT2_last;               

  while (V2>Vbreak)                                 
  {                                                             
   rcnt2--;                                             
   CNT2_temp = rcnt2 * prd + cnt2;
   V2 = CNT2_temp - CNT2_last;                 
  }                                                             
  while (V2<-Vbreak)                          
  {                                                             
   rcnt2++;                                             
   CNT2_temp = rcnt2 * prd + cnt2;
   V2 = CNT2_temp - CNT2_last;                 
  }
  CNT2 = CNT2_temp;                                                 

}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

36

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部